From c9fb4117f5fa853f82408c83559276a3fbc6bb64 Mon Sep 17 00:00:00 2001 From: VirtualHotBar <96966978+VirtualHotBar@users.noreply.github.com> Date: Fri, 19 Apr 2024 17:23:42 +0800 Subject: [PATCH] Update main.yml --- .github/workflows/main.yml | 97 ++++++++++++++++++++------------------ 1 file changed, 51 insertions(+), 46 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 86937c5..0bfedfe 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -1,63 +1,68 @@ -name: "publish" +name: Build and release app on: push: branches: - - release - -# This is the example from the readme. -# On each push to the `release` branch it will create or update a GitHub release, build your app, and upload the artifacts to the release. + - main jobs: - publish-tauri: - permissions: - contents: write - strategy: - fail-fast: false - matrix: - settings: - - platform: "macos-latest" # for Arm based macs (M1 and above). - args: "--target aarch64-apple-darwin" - - platform: "macos-latest" # for Intel based macs. - args: "--target x86_64-apple-darwin" - - platform: "ubuntu-22.04" # for Tauri v1 you could replace this with ubuntu-20.04. - args: "" - - platform: "windows-latest" - args: "" - - runs-on: ${{ matrix.settings.platform }} + build: + runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 + - name: Checkout repository + uses: actions/checkout@v2 - - name: setup node - uses: actions/setup-node@v4 + - name: Install Node.js + uses: actions/setup-node@v2 with: - node-version: lts/* - - - name: install Rust stable - uses: dtolnay/rust-toolchain@stable + node-version: 14 + + - name: Install Rust + uses: actions-rs/toolchain@v1 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.settings.platform == 'macos-latest' && 'aarch64-apple-darwin,x86_64-apple-darwin' || '' }} + profile: minimal + toolchain: stable + override: true + + - name: Cache Rust dependencies + uses: actions/cache@v2 + with: + path: | + ~/.cargo/registry + ~/.cargo/git + target + key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} + + - name: Install dependencies + run: yarn install - - name: install dependencies (ubuntu only) - if: matrix.settings.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 app + run: yarn tauri build - - name: install frontend dependencies - run: yarn install # change this to npm, pnpm or bun depending on which one you use. + - name: Upload artifact + uses: actions/upload-artifact@v2 + with: + name: app + path: src-tauri/target/release/*.app - - uses: tauri-apps/tauri-action@v0 + - name: Create Release + id: create_release + uses: actions/create-release@v1.1.4 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: - 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 + tag_name: ${{ github.ref }} + release_name: Release ${{ github.ref }} + draft: false prerelease: false - args: ${{ matrix.settings.args }} + + - name: Upload Release Asset + id: upload-release-asset + uses: actions/upload-release-asset@v1.0.2 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + upload_url: ${{ steps.create_release.outputs.upload_url }} + asset_path: ./src-tauri/target/release/app.dmg + asset_name: app.dmg + asset_content_type: application/dmg