tauri-apps / tauri-action

Build your Web application as a Tauri binary for macOS, Linux and Windows
https://tauri.app
MIT License
939 stars 153 forks source link

--platform Arm based macs (M1 and above) errors out #875

Closed jebarpg closed 3 months ago

jebarpg commented 3 months ago

Here are the last few lines of the run when it errors out for - platform: 'macos-latest' # for Arm based macs (M1 and above).:

Compiling state v0.5.3
    Finished `release` profile [optimized] target(s) in 1m 20s
        Warn Signing, by default, is only supported on Windows hosts, but you can specify a custom signing command in `bundler > windows > sign_command`, for now, skipping signing the installer...
    Bundling deploy.app (/Users/runner/work/deploy/deploy/src-tauri/target/aarch64-apple-darwin/release/bundle/macos/deploy.app)
    Bundling deploy_1.0.0_aarch64.dmg (/Users/runner/work/deploy/deploy/src-tauri/target/aarch64-apple-darwin/release/bundle/dmg/deploy_1.0.0_aarch64.dmg)
     Running bundle_dmg.sh
       Error failed to bundle project: error running bundle_dmg.sh
Error: Command failed with exit code 1: npm run tauri build -- --target aarch64-apple-darwin

I have pretty much the default script but using bun instead of npm and added 'workflow_dispatch:' for manual runs ..

the section that is erroring our is the following (see complete yml file below):

 - platform: 'macos-latest' # for Arm based macs (M1 and above).
            args: '--target aarch64-apple-darwin'

For complete reference here is the entire workflow file

name: '๐Ÿš€ Publish'

on:
  workflow_dispatch:
  push:
    branches:
      - 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:
  publish-tauri:
    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-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.platform }}
    steps:
      - uses: actions/checkout@v4

      - name: ๐Ÿ› ๏ธ Set up Node.js
        uses: actions/setup-node@v4
        with:
          node-version: lts/*

      - name: ๐Ÿ› ๏ธ Set up Bun.sh
        uses: oven-sh/setup-bun@v2
        with:
          bun-version: latest

      - name: ๐Ÿ”ง Install ๐Ÿฆ€ Rust ๐ŸŸขโœจ Stable
        uses: dtolnay/rust-toolchain@stable
        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.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: ๐Ÿ”ง Install ๐Ÿ’ป Frontend ๐Ÿ“ฆ Dependencies
        # change this to npm, pnpm or bun depending on which one you use.  
        run: bun install --frozen-lockfile # current equivalent of 'npm ci' for bun (as of 07/29/2024 see/subscribe to this issue: https://github.com/oven-sh/bun/issues/5283 for updates).
        # Info: For reproducible installs, use --frozen-lockfile . This will install the exact versions of each package specified in the lockfile. 

      - uses: tauri-apps/tauri-action@v0
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
        with:
          tagName: depoly-v__VERSION__ # the action automatically replaces \_\_VERSION\_\_ with the app version.
          releaseName: 'Deploy v__VERSION__'
          releaseBody: '๐Ÿ‘€ See the ๐Ÿ“‚ assets to โฌ‡๏ธ download this ๐Ÿ†• version and ๐Ÿ”ง install.'
          releaseDraft: true
          prerelease: false
          args: ${{ matrix.args }}
jebarpg commented 3 months ago

Hmmm... I ran it again and it ran successfully. so never mind. Not sure what happened.