Skip to content

fix(ci): install caxa via npx to unblock binary release under pnpm v11#9367

Merged
matthewkeil merged 1 commit into
ChainSafe:unstablefrom
lodekeeper:fix/binary-build-caxa-npx
May 13, 2026
Merged

fix(ci): install caxa via npx to unblock binary release under pnpm v11#9367
matthewkeil merged 1 commit into
ChainSafe:unstablefrom
lodekeeper:fix/binary-build-caxa-npx

Conversation

@lodekeeper
Copy link
Copy Markdown
Contributor

Summary

The v1.43.0-rc.3 binary release (run 25820616462) fails at the pnpm add -g @chainsafe/caxa@3.0.6 step in .github/workflows/binaries.yml with:

ERROR  The configured global bin directory "/home/runner/setup-pnpm/node_modules/.bin/bin" is not in PATH
Run "pnpm setup" to update your shell configuration.

Root cause

#9299 bumped pnpm v10 → v11 and pnpm/action-setup v4 → v5. action-setup v5 still exports PNPM_HOME=/home/runner/setup-pnpm/node_modules/.bin and puts that exact dir on PATH, but pnpm v11's pnpm add -g now resolves the global bin as $PNPM_HOME/bin (a subdirectory), which is not on PATH, so it aborts before caxa is ever installed.

publish-rc.yml / publish-stable.yml are the only callers of binaries.yml, which is why this only surfaced now on the v1.43.0-rc.3 publish — unstable CI doesn't exercise this path.

Fix

The pnpm add -g line was redundant — the very next line is npx caxa ..., which already fetches caxa on demand. Drop the global install and inline the version pin with npx -y -p @chainsafe/caxa@3.0.6 caxa ... so we never touch the pnpm global bin path.

- pnpm add -g @chainsafe/caxa@3.0.6
- npx caxa -m "Unpacking Lodestar binary, please wait..." ...
+ npx -y -p @chainsafe/caxa@3.0.6 caxa -m "Unpacking Lodestar binary, please wait..." ...

Test plan

  • Re-run Build binaries workflow with version: v1.43.0-rc.3 (workflow_dispatch) against this branch to verify amd64 + arm64 builds complete and the sanity-check binary step passes.
  • Confirm tarball naming and lodestar dev smoke-test inside the artifact are unchanged.

AI Assistance Disclosure

  • AI-assisted: diagnosed the pnpm v11 / action-setup v5 global-bin PATH mismatch from the failed job log and drafted the fix. Reviewed before commit.

🤖 Generated with AI assistance

`pnpm add -g @chainsafe/caxa@3.0.6` fails on v1.43.0-rc.3 (run 25820616462)
with:

    ERROR  The configured global bin directory
    "/home/runner/setup-pnpm/node_modules/.bin/bin" is not in PATH

Since ChainSafe#9299 bumped pnpm to v11 (and `pnpm/action-setup` to v5), the action
still exports `PNPM_HOME=/home/runner/setup-pnpm/node_modules/.bin` and
puts that exact dir on PATH, but pnpm v11 now resolves the global bin
directory as `$PNPM_HOME/bin` (subdir), which is not on PATH, so
`pnpm add -g` hard-fails before caxa is installed.

`publish-rc.yml` / `publish-stable.yml` are the only callers of
`binaries.yml`, so this only surfaced on the v1.43.0-rc.3 publish.

The `pnpm add -g` line was redundant anyway — the next line is `npx caxa`,
which fetches caxa on demand. Inline the version pin with
`npx -y -p @chainsafe/caxa@3.0.6 caxa ...` so we drop the global install
entirely and stop touching the pnpm global bin path.

🤖 Generated with AI assistance
@lodekeeper lodekeeper requested a review from a team as a code owner May 13, 2026 19:35
@gemini-code-assist
Copy link
Copy Markdown
Contributor

Note

Gemini is unable to generate a review for this pull request due to the file types involved not being currently supported.

@lodekeeper
Copy link
Copy Markdown
Contributor Author

@gemini-code-assist Noted — file type (CI YAML) not supported by Gemini, no action needed. Thanks for the status note.

@gemini-code-assist
Copy link
Copy Markdown
Contributor

Note

Gemini is unable to generate a issue-comment-reply for this pull request due to the file types involved not being currently supported.

@matthewkeil matthewkeil merged commit 51b67f3 into ChainSafe:unstable May 13, 2026
19 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.

3 participants