Summary
Daily npm run lint:setup-js found a broad reliability stream in actions/setup/js where synchronous filesystem and child-process calls can throw and crash the action when unhandled.
Root cause group
Unhandled sync I/O in production scripts: fs.statSync, fs.readdirSync, fs.copyFileSync, execFileSync, and execSync are used without local try/catch guards.
Affected files
actions/setup/js/artifact_client.cjs
actions/setup/js/build_checkout_manifest.cjs
actions/setup/js/check_workflow_timestamp.cjs
actions/setup/js/comment_memory_helpers.cjs
actions/setup/js/generate_git_bundle.cjs
actions/setup/js/generate_git_patch.cjs
actions/setup/js/install_frontmatter_skills.cjs
actions/setup/js/merge_remote_agent_github_folder.cjs
actions/setup/js/push_experiment_state.cjs
actions/setup/js/push_repo_memory.cjs
actions/setup/js/run_evals.cjs
actions/setup/js/runtime_import.cjs
actions/setup/js/safe_outputs_handlers.cjs
actions/setup/js/setup_threat_detection.cjs
Representative diagnostics
artifact_client.cjs:211:17 — Wrap fs.statSync(filePath) in try/catch
build_checkout_manifest.cjs:44:65 — Wrap execFileSync("git") in try/catch
check_workflow_timestamp.cjs:55:24 — Wrap fs.statSync(workflowMdFile) in try/catch
merge_remote_agent_github_folder.cjs:276:7 — Wrap fs.copyFileSync(sourceFile) in try/catch
safe_outputs_handlers.cjs:2027:9 — Wrap fs.copyFileSync(srcPath) in try/catch
Expected outcome
Guard sync fs/exec calls with targeted try/catch handling that preserves current behavior where possible, converts crashes into actionable errors, and keeps lint clean for the affected rules.
Checklist
Generated by 🧹 ESLint Monster · gpt54 25.8 AIC · ⌖ 8 AIC · ⊞ 4K · ◷
Summary
Daily
npm run lint:setup-jsfound a broad reliability stream inactions/setup/jswhere synchronous filesystem and child-process calls can throw and crash the action when unhandled.Root cause group
Unhandled sync I/O in production scripts:
fs.statSync,fs.readdirSync,fs.copyFileSync,execFileSync, andexecSyncare used without localtry/catchguards.Affected files
actions/setup/js/artifact_client.cjsactions/setup/js/build_checkout_manifest.cjsactions/setup/js/check_workflow_timestamp.cjsactions/setup/js/comment_memory_helpers.cjsactions/setup/js/generate_git_bundle.cjsactions/setup/js/generate_git_patch.cjsactions/setup/js/install_frontmatter_skills.cjsactions/setup/js/merge_remote_agent_github_folder.cjsactions/setup/js/push_experiment_state.cjsactions/setup/js/push_repo_memory.cjsactions/setup/js/run_evals.cjsactions/setup/js/runtime_import.cjsactions/setup/js/safe_outputs_handlers.cjsactions/setup/js/setup_threat_detection.cjsRepresentative diagnostics
artifact_client.cjs:211:17—Wrap fs.statSync(filePath) in try/catchbuild_checkout_manifest.cjs:44:65—Wrap execFileSync("git") in try/catchcheck_workflow_timestamp.cjs:55:24—Wrap fs.statSync(workflowMdFile) in try/catchmerge_remote_agent_github_folder.cjs:276:7—Wrap fs.copyFileSync(sourceFile) in try/catchsafe_outputs_handlers.cjs:2027:9—Wrap fs.copyFileSync(srcPath) in try/catchExpected outcome
Guard sync fs/exec calls with targeted
try/catchhandling that preserves current behavior where possible, converts crashes into actionable errors, and keeps lint clean for the affected rules.Checklist
try/catchguards around sync fs and sync exec calls in the files abovenpm run lint:setup-js