From b8aef893d2c8210409f8e0f03e1ff86bd06eebb5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A8=8B=E5=BA=8F=E5=91=98=E9=98=BF=E6=B1=9F=28Relakkes?= =?UTF-8?q?=29?= Date: Thu, 4 Jun 2026 00:17:51 +0800 Subject: [PATCH] ci(release): stop running the PR-quality gate on tag releases Release is gated on the tag only. `bun run verify` runs on PRs and locally, not at release time, so a failing quality gate no longer blocks publishing. - release-desktop.yml: remove the quality-preflight job and its `needs`. - release-workflow.test.ts: assert the release workflow does NOT run verify. Co-Authored-By: Claude Opus 4.8 (1M context) --- .github/workflows/release-desktop.yml | 31 --------------------------- scripts/pr/release-workflow.test.ts | 10 ++++----- 2 files changed, 5 insertions(+), 36 deletions(-) diff --git a/.github/workflows/release-desktop.yml b/.github/workflows/release-desktop.yml index 1b436252..b25bc29f 100644 --- a/.github/workflows/release-desktop.yml +++ b/.github/workflows/release-desktop.yml @@ -19,36 +19,6 @@ concurrency: cancel-in-progress: true jobs: - quality-preflight: - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v4 - - - name: Setup Bun - uses: oven-sh/setup-bun@v2 - with: - bun-version: latest - - - name: Setup Node.js - uses: actions/setup-node@v4 - with: - node-version: 22 - - - name: Install root dependencies - run: bun install - - - name: Install desktop dependencies - working-directory: desktop - run: bun install - - - name: Install adapter dependencies - working-directory: adapters - run: bun install - - - name: Verify PR-quality gate before release packaging - run: bun run verify - signing-preflight: runs-on: ubuntu-latest outputs: @@ -93,7 +63,6 @@ jobs: build: needs: - - quality-preflight - signing-preflight strategy: fail-fast: false diff --git a/scripts/pr/release-workflow.test.ts b/scripts/pr/release-workflow.test.ts index eb861cd1..5724302b 100644 --- a/scripts/pr/release-workflow.test.ts +++ b/scripts/pr/release-workflow.test.ts @@ -12,12 +12,13 @@ describe('release desktop workflow', () => { )?.[0] } - test('build job waits for a PR-quality preflight before packaging', () => { + test('release packaging does not run the PR-quality gate', () => { const workflow = readReleaseWorkflow() - expect(workflow).toContain('quality-preflight:') - expect(workflow).toContain('run: bun run verify') - expect(workflow).toContain('- quality-preflight') + // Quality gates run on PRs, not at release time: tagging should not be + // blocked by `bun run verify`. Releasing is gated on the tag only. + expect(workflow).not.toContain('quality-preflight') + expect(workflow).not.toContain('bun run verify') expect(workflow).toContain('name: Build (${{ matrix.label }})') }) @@ -144,7 +145,6 @@ describe('release desktop workflow', () => { expect(macRequiredBlock).not.toContain('exit 1') expect(windowsOptionalBlock).toContain('::warning::') expect(windowsOptionalBlock).not.toContain('exit 1') - expect(buildJob).toContain('- quality-preflight') expect(buildJob).toContain('- signing-preflight') expect(workflow.indexOf('signing-preflight:')).toBeLessThan(workflow.indexOf('build:')) expect(workflow.indexOf('signing-preflight:')).toBeLessThan(workflow.indexOf('Upload release artifacts for final publish'))