@@ -9,24 +9,14 @@ permissions:
99
1010jobs :
1111 build_macos :
12- name : macOS bundles (${{ matrix.arch }})
13- runs-on : ${{ matrix.runner }}
12+ runs-on : macos-latest
1413 environment : release
1514 env :
1615 CODESIGN_IDENTITY : ${{ vars.CODESIGN_IDENTITY }}
1716 NOTARY_PROFILE_NAME : ${{ vars.NOTARY_PROFILE_NAME }}
1817 APPLE_TEAM_ID : ${{ vars.APPLE_TEAM_ID }}
1918 TAURI_SIGNING_PRIVATE_KEY_PASSWORD : ${{ secrets.TAURI_SIGNING_PRIVATE_KEY_PASSWORD }}
2019 TAURI_SIGNING_PRIVATE_KEY_B64 : ${{ secrets.TAURI_SIGNING_PRIVATE_KEY_B64 }}
21- TARGET_ARCH : ${{ matrix.arch }}
22- strategy :
23- fail-fast : false
24- matrix :
25- include :
26- - runner : macos-latest
27- arch : aarch64
28- - runner : macos-15-intel
29- arch : x86_64
3020 steps :
3121 - name : Checkout
3222 uses : actions/checkout@v4
@@ -145,12 +135,12 @@ jobs:
145135
146136 ditto -c -k --keepParent \
147137 "src-tauri/target/release/bundle/macos/Codex Monitor.app" \
148- release-artifacts/CodexMonitor_${TARGET_ARCH} .zip
138+ release-artifacts/CodexMonitor .zip
149139
150140 hdiutil create -volname "Codex Monitor" \
151141 -srcfolder release-artifacts/dmg-root \
152142 -ov -format UDZO \
153- release-artifacts/CodexMonitor_${VERSION}_${TARGET_ARCH} .dmg
143+ release-artifacts/CodexMonitor_${VERSION}_aarch64 .dmg
154144
155145 COPYFILE_DISABLE=1 tar -czf \
156146 "src-tauri/target/release/bundle/macos/Codex Monitor.app.tar.gz" \
@@ -162,19 +152,19 @@ jobs:
162152 "src-tauri/target/release/bundle/macos/Codex Monitor.app.tar.gz"
163153
164154 cp "src-tauri/target/release/bundle/macos/Codex Monitor.app.tar.gz" \
165- release-artifacts/CodexMonitor_${TARGET_ARCH} .app.tar.gz
155+ release-artifacts/CodexMonitor .app.tar.gz
166156 cp "src-tauri/target/release/bundle/macos/Codex Monitor.app.tar.gz.sig" \
167- release-artifacts/CodexMonitor_${TARGET_ARCH} .app.tar.gz.sig
157+ release-artifacts/CodexMonitor .app.tar.gz.sig
168158
169159 - name : Upload macOS artifacts
170160 uses : actions/upload-artifact@v4
171161 with :
172- name : macos-artifacts-${{ matrix.arch }}
162+ name : macos-artifacts
173163 path : |
174- release-artifacts/CodexMonitor_${{ matrix.arch }} .zip
175- release-artifacts/CodexMonitor_*_${{ matrix.arch }} .dmg
176- release-artifacts/CodexMonitor_${{ matrix.arch }} .app.tar.gz
177- release-artifacts/CodexMonitor_${{ matrix.arch }} .app.tar.gz.sig
164+ release-artifacts/CodexMonitor .zip
165+ release-artifacts/CodexMonitor_*_aarch64 .dmg
166+ release-artifacts/CodexMonitor .app.tar.gz
167+ release-artifacts/CodexMonitor .app.tar.gz.sig
178168
179169 build_linux :
180170 name : linux bundles (${{ matrix.arch }})
@@ -333,9 +323,8 @@ jobs:
333323 - name : Download macOS artifacts
334324 uses : actions/download-artifact@v4
335325 with :
336- pattern : macos-artifacts-*
326+ name : macos-artifacts
337327 path : release-artifacts
338- merge-multiple : true
339328
340329 - name : Download Linux bundles
341330 uses : actions/download-artifact@v4
@@ -397,6 +386,7 @@ jobs:
397386 PY
398387 )
399388
389+ SIGNATURE=$(cat release-artifacts/CodexMonitor.app.tar.gz.sig)
400390 LAST_TAG=$(git tag --sort=-version:refname \
401391 | grep -v "^v${VERSION}$" \
402392 | head -n 1 || true)
@@ -456,27 +446,12 @@ jobs:
456446 def release_url(filename):
457447 return f"https://github.com/Dimillian/CodexMonitor/releases/download/v${VERSION}/{quote(filename)}"
458448
459- platforms = {}
460-
461- # Find macOS updater bundles for each architecture
462- macos_tarballs = list(artifacts_dir.glob("CodexMonitor_*.app.tar.gz"))
463- for tarball in macos_tarballs:
464- if "aarch64" in tarball.name:
465- sig_path = tarball.with_suffix(tarball.suffix + ".sig")
466- if not sig_path.exists():
467- raise SystemExit(f"Missing signature for {tarball.name}")
468- platforms["darwin-aarch64"] = {
469- "url": release_url(tarball.name),
470- "signature": sig_path.read_text().strip(),
471- }
472- elif "x86_64" in tarball.name:
473- sig_path = tarball.with_suffix(tarball.suffix + ".sig")
474- if not sig_path.exists():
475- raise SystemExit(f"Missing signature for {tarball.name}")
476- platforms["darwin-x86_64"] = {
477- "url": release_url(tarball.name),
478- "signature": sig_path.read_text().strip(),
479- }
449+ platforms = {
450+ "darwin-aarch64": {
451+ "url": release_url("CodexMonitor.app.tar.gz"),
452+ "signature": "${SIGNATURE}",
453+ }
454+ }
480455
481456 appimages = list(artifacts_dir.rglob("*.AppImage.tar.gz"))
482457 if not appimages:
@@ -590,9 +565,6 @@ jobs:
590565
591566 shopt -s nullglob globstar
592567 appimages=(release-artifacts/**/*.AppImage*)
593- dmgs=(release-artifacts/**/*.dmg)
594- tarballs=(release-artifacts/**/*.app.tar.gz)
595- zips=(release-artifacts/CodexMonitor_*.zip)
596568 mapfile -t rpms < <(find release-artifacts -type f -name '*.rpm' | sort)
597569 mapfile -t windows_exes < <(find release-artifacts -type f -name '*.exe*' | sort)
598570 mapfile -t windows_msis < <(find release-artifacts -type f -name '*.msi*' | sort)
@@ -616,9 +588,10 @@ jobs:
616588 --title "v${VERSION}" \
617589 --notes-file release-artifacts/release-notes.md \
618590 --target "$GITHUB_SHA" \
619- "${zips[@]}" \
620- "${dmgs[@]}" \
621- "${tarballs[@]}" \
591+ release-artifacts/CodexMonitor.zip \
592+ release-artifacts/CodexMonitor_*_aarch64.dmg \
593+ release-artifacts/CodexMonitor.app.tar.gz \
594+ release-artifacts/CodexMonitor.app.tar.gz.sig \
622595 "${appimages[@]}" \
623596 "${rpms[@]}" \
624597 "${windows_exes[@]}" \
0 commit comments