Skip to content

docs(github-runner-arc): name the pnpm store with a variable pnpm does not read - #95

Merged
Mearman merged 2 commits into
mainfrom
docs/pnpm-store-opt-in
Oct 18, 2026
Merged

Mearman merged 2 commits into
mainfrom
docs/pnpm-store-opt-in

Conversation

@Mearman

@Mearman Mearman commented Oct 15, 2026

Copy link
Copy Markdown
Member

The README's node-cache example set pnpm_config_store_dir on the runner pods. Followed as written, every pnpm a job runs uses the shared store, including pnpm/action-setup's switch to the packageManager version. That switch installs @pnpm/exe into the store's global virtual store with scripts off and hard-links @pnpm/linux-x64/pnpm over the wrapper's placeholder pnpm inside the shared slot. The next pod on the node finds the slot still marked .pnpm-needs-build and 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 with ERR_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 as pnpm_config_store_dir with the global virtual store on. The README test asserts the example sets no pnpm_config_ or npm_config_ variable on the pods.

…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.
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 15, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-18T12:56:50.263449Z 1f20bf2 Manual request
🔒 Security Review ✅ Completed 2026-10-18T13:14:09.673614Z 1f20bf2 Manual request
ℹ️ 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" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@chatgpt-codex-connector

Copy link
Copy Markdown

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.

@Mearman

Mearman commented Oct 15, 2026

Copy link
Copy Markdown
Member Author

@codex review

@chatgpt-codex-connector chatgpt-codex-connector 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.

💡 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".

Comment thread roles/github_runner_arc/README.md Outdated
…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.
@Mearman

Mearman commented Oct 18, 2026

Copy link
Copy Markdown
Member Author

@codex review

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. Swish!

Reviewed commit: 1f20bf2512

ℹ️ 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".

@Mearman

Mearman commented Oct 18, 2026

Copy link
Copy Markdown
Member Author

@codex security review

@chatgpt-codex-connector

Copy link
Copy Markdown

🛡️ Codex Security Review

Security review completed. No security issues were found in this pull request.

Reviewed commit: 1f20bf2512

View security finding report

Only the user who started this review can view the report in Codex.

ℹ️ About Codex security reviews in GitHub

This is an experimental Codex feature. Security reviews are triggered when:

  • You comment "@codex security review"
  • A regular code review gets triggered (for example, "@codex review" or when a PR is opened), and you’re opted in so security review runs alongside code review

Once complete, Codex will leave suggestions, or a comment if no findings are found.

@Mearman
Mearman merged commit 74970f4 into main Oct 18, 2026
15 checks passed
@Mearman
Mearman deleted the docs/pnpm-store-opt-in branch October 18, 2026 13:25
@github-actions

Copy link
Copy Markdown

🎉 This PR is included in version 1.31.4 🎉

The release is available on:

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant