Skip to content

fix(opp-bundles): publish the cargo crate before npm and report every publish failure - #621

Merged
valthon merged 1 commit into
masterfrom
fix/opp-bundles-publish-cargo-first
Sep 16, 2026
Merged

valthon merged 1 commit into
masterfrom
fix/opp-bundles-publish-cargo-first

Conversation

@valthon

@valthon valthon commented Sep 15, 2026

Copy link
Copy Markdown
Contributor

Problem

The OPP Bundles workflow publishes three bundles from one bundler run: @wireio/opp-typescript-models and @wireio/opp-solidity-models to npmjs.org with NPM_TOKEN, and wire-opp-solana-models to CodeArtifact over the OIDC-minted registry token. handlePublish ran the npm publishes first and the cargo publish last, and the first throw ended the run.

Since 2026-09-14 the npm publish fails (E404 on PUT, an auth failure on the token). Every master run since, including the one #609 triggered, died before the cargo step, so wire-opp-solana-models never advanced past 1.0.50 even though the cargo side was never broken. The consumers of the SYNDICATE_LIQ / LIQ_YIELD / DESYNDICATE_LIQ types from #609 (wire-solana #523, wire-tools-ts #98) are blocked on a credential the crate does not use.

Change

handlePublish publishes the cargo crate first, then each npm package, runs every publish to completion, and throws one error carrying all the failures as its cause. A re-run after the npm side is repaired heals npm without re-publishing the crate: publishCargoCrate already treats a duplicate version as success.

Verification

  • tsc -b: clean
  • protobuf-bundler jest: 34/34
  • The workflow is being dispatched on this branch to publish 1.0.51 of the crate; the npm steps are expected to fail until the token is replaced, and the run will report that.

🤖 Generated with Claude Code

https://claude.ai/code/session_01CNDguHHWTwn1UBejDiTAGa

… publish failure

The bundler published the two npm packages first and the cargo crate last,
and the first throw ended the run. The two registries share no credential:
the crate publishes to CodeArtifact over the OIDC-minted registry token, the
npm packages publish to npmjs.org with NPM_TOKEN. Since 2026-09-14 the npm
publish fails (E404 on PUT, an auth failure), and every master run since has
died before reaching the cargo step, so wire-opp-solana-models never advanced
past 1.0.50 even though nothing on the cargo side was broken. Consumers of
the SYNDICATE_LIQ / LIQ_YIELD / DESYNDICATE_LIQ types added in #609
(wire-solana #523, wire-tools-ts #98) are blocked on a credential the crate
never uses.

handlePublish now publishes the cargo crate first, then each npm package,
runs every publish to completion, and throws one error carrying all the
failures as its cause. A re-run after the npm side is repaired heals npm
without re-publishing the crate: publishCargoCrate already treats a
duplicate version as success.

Verified: tsc -b clean; protobuf-bundler jest 34/34.

Co-Authored-By: Claude Fable 5.1 <[email protected]>
Claude-Session: https://claude.ai/code/session_01CNDguHHWTwn1UBejDiTAGa
Change-Id: Ie6974d6220e088f4d711ed01d718fb7019f19481
@valthon
valthon requested a review from a team September 15, 2026 22:24
@valthon
valthon merged commit 1277b8e into master Sep 16, 2026
14 of 15 checks passed
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.

2 participants