Skip to content

Trigger build for ecefa5e0eb61bff2df66cfcbdbf97a14c73cb19f #45

Trigger build for ecefa5e0eb61bff2df66cfcbdbf97a14c73cb19f

Trigger build for ecefa5e0eb61bff2df66cfcbdbf97a14c73cb19f #45

Workflow file for this run

name: Release Beta
on:
push:
branches:
- main
issue_comment:
types: [created]
workflow_dispatch:
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
jobs:
delete_old_beta:
runs-on: ubuntu-latest
if: ${{ github.event_name != 'issue_comment' || (github.event.issue.number == 69 && contains(github.event.comment.body, '/release-beta')) }}
steps:
- name: Execute Delete Release/Tag action
uses: ShivamHS/delete-tag@v1
with:
token: ${{ secrets.MY_TOKEN }} #generate new PAT and give delete access to it
repo: desktop-release
owner: alist-org
keyword: beta
deletetype: "release" #tag: will delete tags only; release: will delete releases only; tr: will delete both releases and tags
release_beta:
needs: delete_old_beta
strategy:
fail-fast: false
matrix:
include:
- os: macos-latest
target: x86_64-apple-darwin
args:
- os: ubuntu-20.04
target: x86_64-unknown-linux-gnu
args:
- os: windows-latest
target: x86_64-pc-windows-msvc
args: --bundles nsis,updater
- os: macos-latest
target: aarch64-apple-darwin
args:
- os: windows-latest
target: aarch64-pc-windows-msvc
args: --bundles nsis,updater
# - os: ubuntu-20.04
# target: aarch64-unknown-linux-gnu
runs-on: ${{ matrix.os }}
steps:
- name: Checkout repository
uses: actions/checkout@v3
with:
repository: alist-dev/desktop
token: ${{ secrets.MY_TOKEN }}
- name: Install dependencies (ubuntu only)
if: matrix.os == 'ubuntu-20.04'
# You can remove libayatana-appindicator3-dev if you don't use the system tray feature.
run: |
sudo apt-get update
sudo apt-get install -y libgtk-3-dev libwebkit2gtk-4.0-dev libayatana-appindicator3-dev librsvg2-dev
# sudo apt-get install -y libssl-dev pkg-config gcc-10-aarch64-linux-gnu
- name: Rust setup
uses: dtolnay/rust-toolchain@stable
with:
targets: ${{ matrix.target }}
- name: Rust cache
uses: swatinem/rust-cache@v2
with:
workspaces: "./src-tauri -> target"
- uses: pnpm/action-setup@v2
with:
version: 9
run_install: false
- name: Sync node version and setup cache
uses: actions/setup-node@v3
with:
node-version: "lts/*"
cache: "pnpm" # Set this to npm, yarn or pnpm.
- name: Install app dependencies and build web
run: pnpm i
- name: Replace version
run: |
npx tsx ./scripts/beta_version.ts
cat src-tauri/tauri.conf.json
env:
AD_VERSION: ${{ github.ref_name }}
TARGET_TRIPLE: ${{ matrix.target }}
- name: Get Rclone version
id: get-rclone-version
uses: fangqiuming/latest-release-version@v1.2.0-beta
with:
repository: rclone/rclone
token: ${{ secrets.GITHUB_TOKEN }}
- name: Download sidecar
run: npx tsx ./scripts/bin.ts
env:
TARGET_TRIPLE: ${{ matrix.target }}
ALIST_VERSION: beta
RCLONE_VERSION: ${{ steps.get-rclone-version.outputs.tag_name }} # v1.63.0
- name: Build the app
uses: tauri-apps/tauri-action@v0
env:
GITHUB_TOKEN: ${{ secrets.MY_TOKEN }}
TAURI_PRIVATE_KEY: ${{ secrets.TAURI_PRIVATE_KEY }}
# PKG_CONFIG_ALLOW_CROSS: ${{ contains(matrix.target, 'aarch64') && '1' || '' }}
with:
# tagName: ${{ github.ref_name }} # This only works if your workflow triggers on new tags.
releaseName: "AList Desktop v__VERSION__" # tauri-action replaces \_\_VERSION\_\_ with the app version.
releaseBody: "See the assets to download and install this version."
args: "--target ${{ matrix.target }} ${{ matrix.args }}"
prerelease: true
tagName: beta
build_updater:
name: "Build updater beta"
needs: release_beta
environment: ${{ github.event.inputs.environment || 'Beta' }}
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v3
with:
ref: main
- uses: pnpm/action-setup@v2
with:
version: 9
run_install: false
- name: Sync node version and setup cache
uses: actions/setup-node@v3
with:
node-version: "lts/*"
# cache: "pnpm" # Set this to npm, yarn or pnpm.
- name: Generate proxy.json
run: |
npx tsx ./proxy.ts
- name: Upload proxy.json
uses: softprops/action-gh-release@v1
with:
fail_on_unmatched_files: true
token: ${{ secrets.MY_TOKEN }}
tag_name: beta
files: |
*.proxy.json