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:
1 parent
4df7f600d8
commit
e6759d5eef
1 file changed
+3
-114
+3
-114
@@ -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 }}
|
||||
Reference in new issue
Block a user