Repository navigation
fix(ci): install libatomic before Node 26 on self-hosted ARM runners - #248
Conversation
Node 26 linux-arm64 links libatomic.so.1, which the sample-awsops runner image lacks, so every self-hosted job that runs node exited 127 (Deploy Web has failed on dev since the runtime refresh). Install it before setup-node when missing, and fail with an explicit error if it is still unavailable. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
🤖 AI Code Review (two independent reviewers)Reviewer responses: codex/ALL claude/ALL Status: PASSED — No blocking issues found Chair Synthesis — PR #248: fix(ci): install libatomic before Node 26 on self-hosted ARM runnersSummaryThe PR inserts an identical "Ensure Node runtime libraries" step before every Issues per lensL2 — Code correctness
L3 — Security / AWS mutation safety
L4 — Observability / data-integration correctness
L5 — Docs/ADR consistency
Suggestions
VerdictBoth panels agree the change is fail-closed, correctly placed, correctly gated in IMAGE_COVERAGE: NOT_REQUIRED Triggered by commit |
…licitly Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Summary
libatomic.so.1, which thesample-awsopsself-hosted runner image does not ship. Every self-hosted job that runsnodeexits 127 (error while loading shared libraries: libatomic.so.1); Deploy Web has failed ondevsince the runtime refresh.actions/setup-nodein the 9 self-hosted jobs (build-runtime-images, collect-runtime, deploy-agentcore, deploy-migrations ×2, deploy-web ×2, terraform ×2). It installslibatomic1with non-interactivesudo -n apt-getonly when the library is missing, and fails with an explicit error if it is still unavailable.ubuntu-latest) jobs are unchanged. The runner image itself is not modified.Test plan
python3 -m pytest -q scripts/v2/test_ci_web_workflow.py(6 passed)node --test scripts/v2/ci/*.test.mjs: 151 pass / 5 fail, identical to the unchanged baseline (local Terraform/browser prerequisites)devpasses the Build & push (arm64) job after merge🤖 Generated with Claude Code