diff --git a/.github/workflows/build-desktop-dev.yml b/.github/workflows/build-desktop-dev.yml index f1fc33c9..f734005b 100644 --- a/.github/workflows/build-desktop-dev.yml +++ b/.github/workflows/build-desktop-dev.yml @@ -122,7 +122,7 @@ jobs: STAGING="desktop/build-artifacts/ci-Claude-Code-Haha-v${{ steps.version.outputs.version }}-${{ matrix.artifact_name }}" mkdir -p "$STAGING" find desktop/build-artifacts/electron -maxdepth 1 -type f \ - \( -name "*.dmg" -o -name "*.exe" -o -name "*.deb" -o -name "*.AppImage" -o -name "*.zip" -o -name "*.blockmap" -o -name "*.yml" \) \ + \( -name "*.dmg" -o -name "*.exe" -o -name "*.deb" -o -name "*.AppImage" -o -name "*.yml" \) \ | while read -r artifact; do cp -f "$artifact" "$STAGING/" done diff --git a/.github/workflows/release-desktop.yml b/.github/workflows/release-desktop.yml index f89f0889..1b436252 100644 --- a/.github/workflows/release-desktop.yml +++ b/.github/workflows/release-desktop.yml @@ -431,10 +431,8 @@ jobs: fail_on_unmatched_files: true files: | artifacts/release-assets/**/*.dmg - artifacts/release-assets/**/*.zip artifacts/release-assets/**/*.exe artifacts/release-assets/**/*.AppImage artifacts/release-assets/**/*.deb - artifacts/release-assets/**/*.blockmap artifacts/update-metadata-standard/*.yml desktop/scripts/install-macos-unsigned.sh diff --git a/scripts/pr/release-workflow.test.ts b/scripts/pr/release-workflow.test.ts index 05af2274..eb861cd1 100644 --- a/scripts/pr/release-workflow.test.ts +++ b/scripts/pr/release-workflow.test.ts @@ -47,15 +47,17 @@ describe('release desktop workflow', () => { } }) - test('development desktop artifacts exclude unpacked macOS app bundles', () => { + test('development desktop artifacts exclude unpacked macOS app bundles and updater-only files', () => { const workflow = readFileSync('.github/workflows/build-desktop-dev.yml', 'utf8') const collectStep = workflow.match( /- name: Collect artifacts[\s\S]*?(?:\n\s{6}- name:|$)/, )?.[0] expect(collectStep).toContain('*.dmg') - expect(collectStep).toContain('*.zip') - expect(collectStep).toContain('*.blockmap') + // The macOS auto-update zip and blockmaps are not collected: unsigned builds + // ship manual downloads only, so the artifact stays the installer + script. + expect(collectStep).not.toContain('*.zip') + expect(collectStep).not.toContain('*.blockmap') expect(collectStep).toContain('*.yml') expect(collectStep).toContain('install-macos-unsigned.sh') expect(collectStep).toContain('[ "${{ matrix.smoke_platform }}" = "macos" ]')