Repository navigation
docs(github-runner-arc): name the pnpm store with a variable pnpm does not read - #95
Conversation
…s not read The node-cache example set pnpm_config_store_dir on the runner pods, which points every pnpm a job runs at the shared store, including the version switch of pnpm/action-setup. That switch installs @pnpm/exe into the store's global virtual store and hard-links the platform binary over the placeholder file inside the shared slot; the next pod re-imports the slot by copying the placeholder into that path, overwriting the store's copy of the binary, and every later switch on the node then fails. The example now names the directory with NODE_CACHE_PNPM_STORE_DIR and shows the install step passing it to pnpm, and its test asserts that no pnpm or npm config variable is set on the pods.
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
This security review couldn’t start because the paying account has exhausted its Codex allowance and has insufficient available credits. The payer can check their balance and add credits in the Codex usage dashboard, then try again. If you do not manage the paying account, contact this repository's admins. |
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: aa8dd35368
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
…step's shell A variable set on the runner pod is inherited by the runner process, which the workflow's env context leaves out, so the example passed an empty store directory to pnpm.
|
@codex review |
|
Codex Review: Didn't find any major issues. Swish! Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
|
@codex security review |
🛡️ Codex Security ReviewSecurity review completed. No security issues were found in this pull request. Reviewed commit: Only the user who started this review can view the report in Codex. ℹ️ About Codex security reviews in GitHubThis is an experimental Codex feature. Security reviews are triggered when:
Once complete, Codex will leave suggestions, or a comment if no findings are found. |
|
🎉 This PR is included in version 1.31.4 🎉 The release is available on:
Your semantic-release bot 📦🚀 |
The README's node-cache example set
pnpm_config_store_diron the runner pods. Followed as written, every pnpm a job runs uses the shared store, includingpnpm/action-setup's switch to thepackageManagerversion. That switch installs@pnpm/exeinto the store's global virtual store with scripts off and hard-links@pnpm/linux-x64/pnpmover the wrapper's placeholderpnpminside the shared slot. The next pod on the node finds the slot still marked.pnpm-needs-buildand re-imports it, copying the placeholder into that path, which writes through the hard link: the store file named for the platform binary's hash then holds the 34-byte placeholder and shares one inode with both package paths. Every later switch on that node fails withERR_PNPM_BROKEN_PNPM_INSTALL ... @pnpm/exe/pnpm: 1: This: not found. Observed on a fleet running pnpm 11.19.0: the first job on each node passed, every later one failed, and pods without the node cache never failed.The example now names the directory with
NODE_CACHE_PNPM_STORE_DIR, which pnpm does not read, and shows a workflow's install step passing it aspnpm_config_store_dirwith the global virtual store on. The README test asserts the example sets nopnpm_config_ornpm_config_variable on the pods.