diff --git a/.github/workflows/build-gui-preview-release-cb.yml b/.github/workflows/build-gui-release-binaries-cb.yml similarity index 96% rename from .github/workflows/build-gui-preview-release-cb.yml rename to .github/workflows/build-gui-release-binaries-cb.yml index dbe7fb0a..95f74952 100644 --- a/.github/workflows/build-gui-preview-release-cb.yml +++ b/.github/workflows/build-gui-release-binaries-cb.yml @@ -1,10 +1,9 @@ # This file is used to build the preview release binaries for the Tauri GUI with CloudNebula integration -name: "Publish GUI Preview Release with CloudNebula" +name: "Publish GUI release to CloudNebula" on: - push: - branches: - - master + release: + types: [created] env: UBUNTU: "ubuntu-22.04" @@ -47,6 +46,8 @@ jobs: with: node-version: 'lts/*' + - uses: Swatinem/rust-cache@v2.7.3 + - name: Install Rust Stable uses: dtolnay/rust-toolchain@1.79 with: diff --git a/.github/workflows/build-gui-release-binaries.yml b/.github/workflows/build-gui-release-binaries.yml new file mode 100644 index 00000000..051000e0 --- /dev/null +++ b/.github/workflows/build-gui-release-binaries.yml @@ -0,0 +1,77 @@ +# This file is used to build the release binaries for the Tauri GUI +name: "Publish GUI release to GitHub" + +on: + release: + types: [created] + +jobs: + publish-tauri: + if: ${{ !contains(github.ref_name, 'preview') }} + permissions: + contents: write + strategy: + fail-fast: false + matrix: + include: + - platform: "macos-latest" # for Arm based macs (M1 and above). + args: "--target aarch64-apple-darwin" + - platform: "macos-13" # for Intel based macs. + args: "--target x86_64-apple-darwin" + - platform: "ubuntu-22.04" + args: "" + - platform: "windows-latest" + args: "" + + runs-on: ${{ matrix.platform }} + steps: + - uses: actions/checkout@v4 + + - name: setup node + uses: actions/setup-node@v4 + with: + node-version: lts/* + + - uses: Swatinem/rust-cache@v2.7.3 + + - name: install Rust stable + uses: dtolnay/rust-toolchain@1.79 + with: + # Those targets are only used on macos runners so it's in an `if` to slightly speed up windows and linux builds. + targets: ${{ matrix.platform == 'macos-latest' && 'aarch64-apple-darwin,x86_64-apple-darwin' || '' }} + + - name: install dependencies (ubuntu only) + if: matrix.platform == 'ubuntu-22.04' # This must match the platform value defined above. + run: | + sudo apt-get update + sudo apt-get install -y libwebkit2gtk-4.1-dev libappindicator3-dev librsvg2-dev patchelf + + - name: install frontend dependencies + working-directory: src-gui + run: yarn install + + - name: install tauri-cli globally + run: cargo install tauri-cli@^2.0.0-rc + + - name: install typeshare-cli globally + run: cargo install typeshare-cli + + - name: install dprint globally + run: cargo install dprint@0.39.1 + + - uses: tauri-apps/tauri-action@v0 + env: + GITHUB_TOKEN: ${{ secrets.BOTTY_GITHUB_TOKEN }} + APPLE_CERTIFICATE: ${{ secrets.APPLE_CERTIFICATE }} + APPLE_CERTIFICATE_PASSWORD: ${{ secrets.APPLE_CERTIFICATE_PASSWORD }} + APPLE_SIGNING_IDENTITY: ${{ secrets.APPLE_SIGNING_IDENTITY }} + APPLE_ID: ${{ secrets.APPLE_ID }} + APPLE_PASSWORD: ${{ secrets.APPLE_PASSWORD }} + APPLE_TEAM_ID: ${{ secrets.APPLE_TEAM_ID }} + TAURI_SIGNING_PRIVATE_KEY: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY }} + TAURI_SIGNING_PRIVATE_KEY_PASSWORD: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY_PASSWORD }} + with: + releaseId: ${{ github.event.release.id }} + projectPath: src-tauri + args: ${{ matrix.args }} + tauriScript: cargo tauri diff --git a/.github/workflows/build-gui-preview-release-binaries.yml b/.github/workflows/gui-preview-release.yml similarity index 84% rename from .github/workflows/build-gui-preview-release-binaries.yml rename to .github/workflows/gui-preview-release.yml index 1babcf2c..ac13d9ee 100644 --- a/.github/workflows/build-gui-preview-release-binaries.yml +++ b/.github/workflows/gui-preview-release.yml @@ -1,10 +1,9 @@ # This file is used to build the preview release binaries for the Tauri GUI -name: "Publish GUI preview release" +name: "Publish GUI release" on: - push: - branches: - - master + release: + types: [created] jobs: publish-tauri: @@ -32,6 +31,8 @@ jobs: with: node-version: lts/* + - uses: Swatinem/rust-cache@v2.7.3 + - name: install Rust stable uses: dtolnay/rust-toolchain@1.79 with: @@ -69,12 +70,8 @@ jobs: TAURI_SIGNING_PRIVATE_KEY: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY }} TAURI_SIGNING_PRIVATE_KEY_PASSWORD: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY_PASSWORD }} with: - tagName: gui-preview - releaseName: "preview gui" - releaseBody: "This is a preview release of the GUI. This is not a stable release. Please only use this release for testing purposes. Download the [legacy GUI](https://github.com/UnstoppableSwap/Unstoppableswap-gui) instead." - releaseDraft: true - prerelease: true - includeDebug: true + releaseId: ${{ github.event.release.id }} + tagName: ${{ github.event.release.tag_name }} projectPath: src-tauri args: ${{ matrix.args }} tauriScript: cargo tauri