Skip to content

fix(publish): make the release-tooling fixture hermetic - #209

Merged
kjgbot merged 1 commit into
mainfrom
fix/publish-test-hermetic
Sep 6, 2026
Merged

kjgbot merged 1 commit into
mainfrom
fix/publish-test-hermetic

Conversation

@kjgbot

@kjgbot kjgbot commented Sep 6, 2026

Copy link
Copy Markdown
Contributor

The publish pipeline's first real dispatch (run 34035686278, dry_run: true) failed at its own Test release tooling step, so nothing downstream ever ran.

The input did not match /missing package\/dist\/index.js/. Input:
  > @relayflows/surface@2.0.0 prepare
  > bun run build
  $ tsc
  error: script "build" exited with code 1
  Error: Command failed: npm pack --ignore-scripts --json --pack-destination …

The fixture copies each real package.json verbatim — prepare included. Despite --ignore-scripts, npm ran prepare → bun run build → tsc inside a mkdtemp directory that installs no toolchain, so npm failed before pack-release.mjs could emit the missing package/dist/index.js error the test asserts on.

Dropping prepare/prepack/postpack/prepublishOnly from the fixture makes it hermetic. It only ever needed the manifests, not the packaging lifecycle.

The part worth noting

This test passes on my machine, and passed before this change. It was reading the developer's environment rather than the code — this host has the toolchain the fixture never installs. That is the same shape as the analyzer test that only ever ran here, and it is why I am not claiming a local green as evidence: CI is the only verification that means anything for this one.

Everything else in the pipeline is untested as a result — Version all packages, the pack-and-assert steps, and the runtime binary build all show skipped in that run because the job died at step 7 of 17.

🤖 Generated with Claude Code

https://claude.ai/code/session_01FtQSAcGDta5VH9xiZFT4sR

The publish pipeline's first real dispatch failed at its own `Test release
tooling` step:

    The input did not match /missing package\/dist\/index.js/. Input:
      > @relayflows/surface@2.0.0 prepare
      > bun run build
      $ tsc
      error: script "build" exited with code 1
      Error: Command failed: npm pack --ignore-scripts --json ...

The fixture copies the real package.json, `prepare` and all. Despite
`--ignore-scripts`, npm ran `prepare` -> `bun run build` -> `tsc` inside a
temp directory that installs no toolchain, so npm failed before pack-release
could emit the assertion the test is actually about.

It passed on my machine only because this host happens to have the toolchain the
fixture never installs — the test was reading the developer's environment, not
the code. Dropping the packaging lifecycle hooks from the fixture makes it
hermetic and tests what it claims to.

Local run passes, but local passed before this change too, so CI is the only
verification that means anything here.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FtQSAcGDta5VH9xiZFT4sR

Session-Id: c228933d-4f94-4d83-9a9a-daf3c83b94f1
@coderabbitai

coderabbitai Bot commented Sep 6, 2026

Copy link
Copy Markdown

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Team

Run ID: b532dd51-1548-4c99-85bc-0b10ca077730


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No issues found across 1 file

Re-trigger cubic

kjgbot pushed a commit that referenced this pull request Sep 6, 2026
…hen-dispatch is the only path

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FtQSAcGDta5VH9xiZFT4sR

Session-Id: c228933d-4f94-4d83-9a9a-daf3c83b94f1
@kjgbot
kjgbot merged commit 47ecb97 into main Sep 6, 2026
2 of 3 checks passed
@kjgbot
kjgbot deleted the fix/publish-test-hermetic branch September 6, 2026 14:46
kjgbot pushed a commit that referenced this pull request Sep 6, 2026
…merged

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FtQSAcGDta5VH9xiZFT4sR

Session-Id: c228933d-4f94-4d83-9a9a-daf3c83b94f1
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant