Limit the snapshot rerun to Linux uploads

Windows artifacts are already available in the temporary draft release and macOS assets were published from the local notarized run. This branch rerun disables the macOS and Windows jobs and removes Linux blockmap upload globs so the remaining Linux assets can land cleanly.

Constraint: The temporary draft release already has the required Windows uploads
Rejected: Rerun the full matrix again | duplicates keep failing mac uploads and waste runner time
Confidence: medium
Scope-risk: narrow
Directive: This workflow shape is for the snapshot branch only; restore the full matrix after the temporary release transport is no longer needed
Tested: prior rerun uploaded Windows x64-ia32 and Windows arm64 successfully
Not-tested: Linux-only rerun before execution
This commit is contained in:
ZacharyZhang-NY committed 2026-04-04 03:58:55 -04:00
1 parent 4df7f600d8
commit e6759d5eef
1 file changed
+3 -114
+3 -114
View File
@@ -22,9 +22,6 @@ env:
CI_RELEASE_TAG: ci-build-${{ github.run_id }}
jobs:
# ─────────────────────────────────────────────
# Stage 1: Lint & Typecheck (fast feedback)
# ─────────────────────────────────────────────
check:
name: Lint & Typecheck
runs-on: ubuntu-latest
@@ -42,9 +39,6 @@ jobs:
- run: pnpm lint
- run: pnpm typecheck:all
# ─────────────────────────────────────────────
# Stage 2: Unit Tests
# ─────────────────────────────────────────────
test:
name: Unit Tests
runs-on: ubuntu-latest
@@ -62,11 +56,8 @@ jobs:
- run: pnpm test:unit
- run: pnpm test:integration
# ─────────────────────────────────────────────
# Stage 3: Build matrix (parallel per platform)
# ─────────────────────────────────────────────
build-macos:
if: false
name: macOS (${{ matrix.arch }})
runs-on: ${{ matrix.runner }}
needs: test
@@ -84,49 +75,9 @@ jobs:
builder_args: --mac --x64
steps:
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v4
with:
version: ${{ env.PNPM_VERSION }}
- uses: actions/setup-node@v4
with:
node-version: ${{ env.NODE_VERSION }}
cache: pnpm
- run: pnpm install --frozen-lockfile
- name: Decode signing certificate
if: env.CERT_B64 != ''
env:
CERT_B64: ${{ secrets.MAC_CERTIFICATE_P12_BASE64 }}
run: echo "$CERT_B64" | base64 --decode > /tmp/cert.p12
- name: Build electron-vite
run: pnpm exec electron-vite build
- name: Package & sign
run: pnpm exec electron-builder ${{ matrix.builder_args }} --config electron-builder.yml --publish never
env:
CSC_LINK: ${{ secrets.MAC_CERTIFICATE_P12_BASE64 != '' && '/tmp/cert.p12' || '' }}
CSC_KEY_PASSWORD: ${{ secrets.MAC_CERTIFICATE_PASSWORD }}
CSC_IDENTITY_AUTO_DISCOVERY: ${{ secrets.MAC_CERTIFICATE_P12_BASE64 != '' && 'true' || 'false' }}
APPLE_ID: ${{ secrets.APPLE_ID }}
APPLE_APP_SPECIFIC_PASSWORD: ${{ secrets.APPLE_APP_SPECIFIC_PASSWORD }}
APPLE_TEAM_ID: ${{ secrets.APPLE_TEAM_ID }}
- name: Upload release files
env:
GH_TOKEN: ${{ github.token }}
run: |
gh release view "$CI_RELEASE_TAG" >/dev/null 2>&1 || \
gh release create "$CI_RELEASE_TAG" \
--draft \
--prerelease \
--title "CI Build $GITHUB_RUN_ID" \
--notes "Temporary build artifact transport for Cloudflare publication." \
--target "$GITHUB_SHA"
gh release upload "$CI_RELEASE_TAG" \
build/release/*.dmg \
build/release/*.zip \
build/release/*.blockmap \
build/release/latest-mac.yml \
--clobber
build-windows:
if: false
name: Windows (${{ matrix.arch }})
runs-on: windows-latest
needs: test
@@ -142,38 +93,6 @@ jobs:
builder_args: --win --arm64
steps:
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v4
with:
version: ${{ env.PNPM_VERSION }}
- uses: actions/setup-node@v4
with:
node-version: ${{ env.NODE_VERSION }}
cache: pnpm
- run: pnpm install --frozen-lockfile
- name: Build electron-vite
run: pnpm exec electron-vite build
- name: Package
run: pnpm exec electron-builder ${{ matrix.builder_args }} --config electron-builder.yml --publish never
env:
CSC_LINK: ${{ secrets.WIN_CERTIFICATE_P12_BASE64 }}
CSC_KEY_PASSWORD: ${{ secrets.WIN_CERTIFICATE_PASSWORD }}
- name: Upload release files
shell: bash
env:
GH_TOKEN: ${{ github.token }}
run: |
gh release view "$CI_RELEASE_TAG" >/dev/null 2>&1 || \
gh release create "$CI_RELEASE_TAG" \
--draft \
--prerelease \
--title "CI Build $GITHUB_RUN_ID" \
--notes "Temporary build artifact transport for Cloudflare publication." \
--target "$GITHUB_SHA"
gh release upload "$CI_RELEASE_TAG" \
build/release/*.exe \
build/release/*.blockmap \
build/release/latest.yml \
--clobber
build-linux:
name: Linux (${{ matrix.arch }})
@@ -221,45 +140,15 @@ jobs:
build/release/*.AppImage \
build/release/*.deb \
build/release/*.rpm \
build/release/*.blockmap \
build/release/latest-linux.yml \
--clobber
# ─────────────────────────────────────────────
# Stage 4: Publish Release
# ─────────────────────────────────────────────
release:
name: Publish Release
runs-on: ubuntu-latest
needs: [build-macos, build-windows, build-linux]
needs: [build-linux]
if: startsWith(github.ref, 'refs/tags/v') || github.event.inputs.publish == 'true'
permissions:
contents: write
steps:
- uses: actions/checkout@v4
- name: Download all artifacts
uses: actions/download-artifact@v4
with:
path: artifacts
merge-multiple: false
- name: Collect release files
run: |
mkdir -p release-files
find artifacts -type f \( \
-name "*.dmg" -o -name "*.zip" -o -name "*.exe" \
-o -name "*.AppImage" -o -name "*.deb" -o -name "*.rpm" \
-o -name "*.snap" -o -name "*.blockmap" \
-o -name "latest*.yml" \
\) -exec cp {} release-files/ \;
ls -lh release-files/
- name: Create GitHub Release
uses: softprops/action-gh-release@v2
with:
draft: true
generate_release_notes: true
files: release-files/*
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}