Avoid macOS updater asset collisions across architectures
Intel and Apple Silicon macOS jobs produced the same updater bundle filename, which let one matrix job overwrite the other release asset and could point both architecture manifests to a single binary. Rename macOS updater bundles per architecture before release upload and prefer arch-specific artifact lookup when generating updater manifests. Constraint: Keep existing updater manifest format and release action usage Rejected: Split macOS uploads into separate release jobs | larger workflow churn Confidence: high Scope-risk: narrow Reversibility: clean Directive: Any new macOS updater lane must keep unique asset names to preserve manifest correctness Tested: release-tauri.yml YAML parse; diff audit for rename+manifest path alignment Not-tested: End-to-end tagged GitHub Actions release run
This commit is contained in:
1 parent
fbcddc40db
commit
c8ccff0669
2 files changed
+16
-1
No files matched your search
@@ -217,6 +217,18 @@ jobs:
|
||||
npm run tauri -- build --bundles deb,rpm,appimage
|
||||
fi
|
||||
|
||||
- name: Disambiguate macOS updater bundle filename
|
||||
if: startsWith(matrix.platform, 'macos') && env.TAURI_SIGNING_PRIVATE_KEY != ''
|
||||
shell: bash
|
||||
working-directory: 'openless-all/app/src-tauri/target/release/bundle/macos'
|
||||
run: |
|
||||
if [ -f OpenLess.app.tar.gz ]; then
|
||||
mv OpenLess.app.tar.gz "OpenLess_${{ matrix.updater-arch }}.app.tar.gz"
|
||||
fi
|
||||
if [ -f OpenLess.app.tar.gz.sig ]; then
|
||||
mv OpenLess.app.tar.gz.sig "OpenLess_${{ matrix.updater-arch }}.app.tar.gz.sig"
|
||||
fi
|
||||
|
||||
- name: Write updater manifest
|
||||
if: env.TAURI_SIGNING_PRIVATE_KEY != ''
|
||||
shell: bash
|
||||
|
||||
@@ -17,7 +17,10 @@ const packageJson = JSON.parse(readFileSync(new URL('../package.json', import.me
|
||||
const bundleDir = fileURLToPath(new URL('../src-tauri/target/release/bundle/', import.meta.url));
|
||||
|
||||
const candidatesByTarget = {
|
||||
darwin: ['macos/OpenLess.app.tar.gz'],
|
||||
darwin: [
|
||||
`macos/OpenLess_${arch}.app.tar.gz`,
|
||||
'macos/OpenLess.app.tar.gz',
|
||||
],
|
||||
windows: ['nsis/OpenLess_*_x64-setup.exe', 'nsis/OpenLess*_x64-setup.exe'],
|
||||
linux: ['appimage/OpenLess_*.AppImage', 'appimage/OpenLess*.AppImage'],
|
||||
};
|
||||
|
||||
Reference in new issue
Block a user