Release Headless #29
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: "Release Headless" | |
| on: | |
| workflow_dispatch: | |
| jobs: | |
| build-headless: | |
| permissions: | |
| contents: write | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| - platform: "ubuntu-22.04" | |
| args: "--target x86_64-unknown-linux-gnu" | |
| arch: "x86_64" | |
| type: "x86_64" | |
| assetPattern: "[name]_[ver]_[arch][ext]" | |
| - platform: "ubuntu-22.04-arm" | |
| args: "--target aarch64-unknown-linux-gnu" | |
| arch: "aarch64" | |
| type: "aarch64" | |
| assetPattern: "[name]_[ver]_[arch][ext]" | |
| - platform: "windows-latest" | |
| args: "--target x86_64-pc-windows-msvc" | |
| arch: "x86_64" | |
| type: "x86_64" | |
| assetPattern: "[name]_[ver]_[arch][ext]" | |
| - platform: "windows-latest" | |
| args: "--target aarch64-pc-windows-msvc" | |
| arch: "aarch64" | |
| type: "aarch64" | |
| assetPattern: "[name]_[ver]_[arch][ext]" | |
| runs-on: ${{ matrix.platform }} | |
| steps: | |
| - uses: actions/checkout@v5 | |
| - name: Install dependencies (ubuntu only) | |
| if: startsWith(matrix.platform, 'ubuntu') | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y libwebkit2gtk-4.1-dev libappindicator3-dev librsvg2-dev patchelf xdg-utils xvfb dbus-x11 | |
| - name: Setup Node | |
| uses: actions/setup-node@v6 | |
| with: | |
| node-version: lts/* | |
| cache: "npm" | |
| - name: Install Rust stable (windows only) | |
| uses: dtolnay/rust-toolchain@stable | |
| if: matrix.platform == 'windows-latest' | |
| with: | |
| targets: ${{ matrix.type == 'aarch64' && 'aarch64-pc-windows-msvc' || 'x86_64-pc-windows-msvc' }} | |
| - name: Install Rust stable (linux only) | |
| uses: dtolnay/rust-toolchain@stable | |
| if: startsWith(matrix.platform, 'ubuntu') | |
| with: | |
| targets: ${{ matrix.type == 'aarch64' && 'aarch64-unknown-linux-gnu' || 'x86_64-unknown-linux-gnu' }} | |
| - name: Rust cache | |
| uses: swatinem/rust-cache@v2 | |
| with: | |
| workspaces: "./src-tauri -> target" | |
| key: headless-${{ runner.os }}-${{ matrix.arch }} | |
| - name: Install frontend dependencies | |
| run: npm install | |
| - name: Remove Tauri capabilities metadata | |
| shell: bash | |
| run: rm -rf src-tauri/capabilities || true | |
| - name: Build and Release Headless | |
| uses: tauri-apps/tauri-action@v0 | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| TAURI_SIGNING_PRIVATE_KEY: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY }} | |
| TAURI_SIGNING_PRIVATE_KEY_PASSWORD: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY_PASSWORD }} | |
| with: | |
| tagName: headless-v__VERSION__ | |
| releaseName: "RClone Manager Headless v__VERSION__" | |
| releaseBody: "RClone Manager Headless v__VERSION__" | |
| releaseDraft: true | |
| prerelease: false | |
| args: >- | |
| --config src-tauri/tauri.conf.headless.json | |
| --features web-server,tray | |
| ${{ matrix.args }} | |
| -- --no-default-features |