From ae1836db5db2dc38b910d41ae895aa0e2809e5ed Mon Sep 17 00:00:00 2001 From: ScriptedAlchemy Date: Fri, 28 Aug 2026 06:13:20 +0000 Subject: [PATCH] fix(ci): pin the new preview trigger and gate npm publishing The package-preview workflow gained a push-to-main trigger without updating the contract test that pins its trigger set, turning main red; the contract now covers both triggers exactly. The release workflow failed every push because no NPM_TOKEN secret exists - deliberate, since distribution runs on pkg.pr.new previews for now - so publishing skips cleanly until the secret is configured instead of failing. Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_01EMWczsXAkj7fC5ssSxGK43 --- .github/workflows/release.yml | 16 +++++++++++++--- .../tests/package-preview-workflow.test.ts | 3 ++- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 187fe9d33..baa23eba5 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -17,13 +17,23 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v7 - - uses: pnpm/setup@v1 + # No npm release is cut yet; skip publishing until an NPM_TOKEN secret + # exists instead of failing every push to main. Previews stay on + # pkg.pr.new (docs/preview-packages.md). + - id: gate + env: + NPM_TOKEN: ${{ secrets.NPM_TOKEN }} + run: echo "enabled=${{ env.NPM_TOKEN != '' }}" >> "$GITHUB_OUTPUT" + - if: steps.gate.outputs.enabled == 'true' + uses: pnpm/setup@v1 with: cache: true install: false runtime: node@22.19.0 - - run: pnpm install --frozen-lockfile - - uses: changesets/action@v1 + - if: steps.gate.outputs.enabled == 'true' + run: pnpm install --frozen-lockfile + - if: steps.gate.outputs.enabled == 'true' + uses: changesets/action@v1 with: publish: pnpm release version: pnpm version-packages diff --git a/packages/agent-bundle/tests/package-preview-workflow.test.ts b/packages/agent-bundle/tests/package-preview-workflow.test.ts index cb4092f3a..a71861a64 100644 --- a/packages/agent-bundle/tests/package-preview-workflow.test.ts +++ b/packages/agent-bundle/tests/package-preview-workflow.test.ts @@ -32,7 +32,8 @@ it('publishes one locked package preview for pull requests', async () => { }; const steps = parsed.jobs?.publish?.steps ?? []; - expect(Object.keys(parsed.on ?? {})).toEqual(['pull_request']); + expect(Object.keys(parsed.on ?? {})).toEqual(['pull_request', 'push']); + expect((parsed.on as Readonly>)['push']).toEqual({ branches: ['main'] }); expect(parsed.permissions).toEqual({}); expect(steps.map((step) => step.uses ?? step.run)).toEqual([ 'actions/checkout@v7',