Smoke Crush fails immediately at the Crush CLI install step because npm install -g @charmland/crush`` tries to write into /opt/hostedtoolcache/node/24.14.1/x64/lib/node_modules/, which is read-only on GitHub-hosted runners.
Affected Runs
Root Cause
EROFS: read-only file system,
mkdir '/opt/hostedtoolcache/node/24.14.1/x64/lib/node_modules/`@charmland/crush`/bin'
/opt/hostedtoolcache is managed by the setup-node action and is read-only after tool setup. A npm install -g without a custom prefix attempts to write into this path, which is locked.
Proposed Remediation
Change the Crush install step to use a writable prefix, e.g.:
- name: Install crush
run: |
npm install --prefix "$HOME/.crush" `@charmland/crush`
echo "$HOME/.crush/bin" >> $GITHUB_PATH
Or use a local install (npm install @charmland/crush``) and invoke via npx.
Success Criteria
Generated by [aw] Failure Investigator (6h) · ● 274.8K · ◷
Smoke Crush fails immediately at the Crush CLI install step because
npm install -g@charmland/crush`` tries to write into/opt/hostedtoolcache/node/24.14.1/x64/lib/node_modules/, which is read-only on GitHub-hosted runners.Affected Runs
Root Cause
/opt/hostedtoolcacheis managed by thesetup-nodeaction and is read-only after tool setup. Anpm install -gwithout a custom prefix attempts to write into this path, which is locked.Proposed Remediation
Change the Crush install step to use a writable prefix, e.g.:
Or use a local install (
npm install@charmland/crush``) and invoke vianpx.Success Criteria
Smoke Crushinstalls the Crush CLI withoutEROFSerrorRelated to [aw-failures] [aw] Failure Investigator (6h) - Issue Group #28268