diff --git a/.github/workflows/build-release.yml b/.github/workflows/build-release.yml index 32a89a7..e2a993f 100644 --- a/.github/workflows/build-release.yml +++ b/.github/workflows/build-release.yml @@ -1,77 +1,142 @@ -name: Release +name: 'publish' + on: push: branches: - - 'release' + - release +# This workflow will trigger on each push to the `release` branch to create or update a GitHub release, build your app, and upload the artifacts to the release. jobs: - release: + publish-tauri: permissions: contents: write strategy: - fail-fast: false + fail-fast: true matrix: - # platform: [macos-latest, ubuntu-22.04, windows-latest] - settings: - - platform: 'macos-latest' - args: '--target universal-apple-darwin' - - platform: 'macos-latest' - args: '--target x86_64-apple-darwin' - - platform: 'macos-14' + include: + - platform: 'macos-latest' # for Arm based macs (M1 and above). args: '--target aarch64-apple-darwin' - # - platform: 'macos-latest' - # args: '--target aarch64-apple-darwin' - - platform: 'ubuntu-22.04' + - platform: 'macos-latest' # for Intel based macs. + args: '--target x86_64-apple-darwin' + - platform: 'macos-latest' # for Intel based macs. + args: '--target universal-apple-darwin' + - platform: 'ubuntu-22.04' # for Tauri v1 you could replace this with ubuntu-20.04. args: '' - platform: 'windows-latest' - args: '--target x86_64-pc-windows-msvc' - - platform: 'windows-latest' - args: '--target i686-pc-windows-msvc' - # runs-on: ${{ matrix.platform }} - runs-on: ${{ matrix.settings.platform }} + args: '' + runs-on: ${{ matrix.platform }} steps: - - name: Checkout repository - uses: actions/checkout@v4 + - uses: actions/checkout@v4 - - name: Install dependencies (ubuntu only) - if: matrix.settings.platform == 'ubuntu-22.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 pkg-config build-essential libudev-dev libssl-dev libgtk-3-dev libwebkit2gtk-4.0-dev libayatana-appindicator3-dev librsvg2-dev + - name: setup node + uses: actions/setup-node@v4 + with: + node-version: lts/* - - name: Rust setup + - name: install Rust stable uses: dtolnay/rust-toolchain@stable - # with: - # targets: aarch64-apple-darwin - - - name: Rust cache - uses: swatinem/rust-cache@v2 with: - workspaces: './src-tauri -> target' + # 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: Sync node version and setup cache - uses: actions/setup-node@v4 - with: - node-version: 'lts/*' - cache: 'yarn' # Set this to npm, yarn or pnpm. - - - name: Install frontend dependencies - # If you don't have `beforeBuildCommand` configured you may want to build your frontend here too. - run: yarn install # Change this to npm, yarn or pnpm. + - 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.0-dev libwebkit2gtk-4.1-dev libappindicator3-dev librsvg2-dev patchelf + # webkitgtk 4.0 is for Tauri v1 - webkitgtk 4.1 is for Tauri v2. + # You can remove the one that doesn't apply to your app to speed up the workflow a bit. - - name: Build the app - uses: tauri-apps/tauri-action@v0 + - name: install frontend dependencies + run: yarn install # change this to npm, pnpm or bun depending on which one you use. + - uses: tauri-apps/tauri-action@v0 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: - # tagName: ${{ github.ref_name }} # This only works if your workflow triggers on new tags. - tagName: 'app-v__VERSION__' - releaseName: 'Fortinet-connect v__VERSION__' # tauri-action replaces \_\_VERSION\_\_ with the app version. - releaseBody: 'See the assets to download and install this version.' + tagName: app-v__VERSION__ # the action automatically replaces \_\_VERSION\_\_ with the app version. + releaseName: 'App v__VERSION__' + releaseBody: 'See the assets to download this version and install.' releaseDraft: true prerelease: false - args: ${{ matrix.settings.args }} \ No newline at end of file + args: ${{ matrix.args }} + +# name: Release +# on: +# push: +# branches: +# - 'release' + + +# jobs: +# release: +# permissions: +# contents: write +# strategy: +# fail-fast: false +# matrix: +# # platform: [macos-latest, ubuntu-22.04, windows-latest] +# settings: +# - platform: 'macos-latest' +# args: '--target universal-apple-darwin' +# - platform: 'macos-latest' +# args: '--target x86_64-apple-darwin' +# - platform: 'macos-14' +# args: '--target aarch64-apple-darwin' +# # - platform: 'macos-latest' +# # args: '--target aarch64-apple-darwin' +# - platform: 'ubuntu-22.04' +# args: '' +# - platform: 'windows-latest' +# args: '--target x86_64-pc-windows-msvc' +# - platform: 'windows-latest' +# args: '--target i686-pc-windows-msvc' +# # runs-on: ${{ matrix.platform }} +# runs-on: ${{ matrix.settings.platform }} + +# steps: +# - name: Checkout repository +# uses: actions/checkout@v4 + +# - name: Install dependencies (ubuntu only) +# if: matrix.settings.platform == 'ubuntu-22.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 pkg-config build-essential libudev-dev libssl-dev libgtk-3-dev libwebkit2gtk-4.0-dev libayatana-appindicator3-dev librsvg2-dev + +# - name: Rust setup +# uses: dtolnay/rust-toolchain@stable +# # with: +# # targets: aarch64-apple-darwin + +# - name: Rust cache +# uses: swatinem/rust-cache@v2 +# with: +# workspaces: './src-tauri -> target' + +# - name: Sync node version and setup cache +# uses: actions/setup-node@v4 +# with: +# node-version: 'lts/*' +# cache: 'yarn' # Set this to npm, yarn or pnpm. + +# - name: Install frontend dependencies +# # If you don't have `beforeBuildCommand` configured you may want to build your frontend here too. +# run: yarn install # Change this to npm, yarn or pnpm. + +# - name: Build the app +# uses: tauri-apps/tauri-action@v0 + +# env: +# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} +# with: +# # tagName: ${{ github.ref_name }} # This only works if your workflow triggers on new tags. +# tagName: 'app-v__VERSION__' +# releaseName: 'Fortinet-connect v__VERSION__' # tauri-action replaces \_\_VERSION\_\_ with the app version. +# releaseBody: 'See the assets to download and install this version.' +# releaseDraft: true +# prerelease: false +# args: ${{ matrix.settings.args }} \ No newline at end of file