@@ -10,17 +10,58 @@ permissions:
1010 contents : write
1111
1212jobs :
13+ build :
14+ name : Build Wails App
15+ runs-on : macos-26
16+ timeout-minutes : 45
17+ permissions :
18+ contents : read
19+
20+ steps :
21+ - name : Check out repository
22+ uses : actions/checkout@v6
23+
24+ - name : Set up Go
25+ uses : actions/setup-go@v6
26+ with :
27+ go-version-file : go.mod
28+ check-latest : true
29+
30+ - name : Set up Bun
31+ uses : oven-sh/setup-bun@v2
32+ with :
33+ bun-version : latest
34+
35+ - name : Build app bundle
36+ run : scripts/package-macos-universal.sh
37+
38+ - name : Validate app bundle metadata
39+ run : |
40+ test -d bin/DevToolbox.app
41+ test "$(/usr/libexec/PlistBuddy -c 'Print :CFBundleName' bin/DevToolbox.app/Contents/Info.plist)" = "DevToolbox"
42+ test "$(/usr/libexec/PlistBuddy -c 'Print :CFBundleIdentifier' bin/DevToolbox.app/Contents/Info.plist)" = "com.vuon9.devtoolbox"
43+
44+ - name : Archive app bundle
45+ run : tar -czf "$RUNNER_TEMP/macos-app.tar.gz" -C bin DevToolbox.app
46+
47+ - name : Upload app bundle artifact
48+ uses : actions/upload-artifact@v7.0.1
49+ with :
50+ name : devtoolbox-macos-app-${{ github.run_id }}
51+ path : ${{ runner.temp }}/macos-app.tar.gz
52+ retention-days : 1
53+
1354 release :
14- uses : vuon9/gh-workflows/.github/workflows/wails-macos-release.yml@main
55+ name : Sign, Package, and Notarize macOS App
56+ needs : build
57+ uses : vuon9/gh-workflows/.github/workflows/macos-release.yml@main
1558 with :
1659 app-name : DevToolbox
17- bundle-id : com.vuon9.devtoolbox
1860 team-id : 256XRVYZ9V
19- package-command : scripts/package-macos-universal.sh
2061 app-path : bin/DevToolbox.app
62+ app-artifact-name : devtoolbox-macos-app-${{ github.run_id }}
2163 dmg-name : DevToolbox-macos-universal.dmg
2264 artifact-name : devtoolbox-macos-release-${{ github.run_id }}
23- go-version-file : go.mod
2465 runner-label : macos-26
2566 github-release-prerelease : ${{ contains(github.ref_name, '-') }}
2667 secrets : inherit
0 commit comments