Skip to content

ci(arm): arm-cargo-host concurrency + full src/ purge (DAK-7483)#135

Closed
ferhimedamine wants to merge 1 commit into
mainfrom
ci-arm-concurrency-fix
Closed

ci(arm): arm-cargo-host concurrency + full src/ purge (DAK-7483)#135
ferhimedamine wants to merge 1 commit into
mainfrom
ci-arm-concurrency-fix

Conversation

@ferhimedamine

Copy link
Copy Markdown
Contributor

Summary

Fixes concurrent ARM runner C++ source extraction failures (DAK-7483). The three ARM runners (actions-runner-cli-arm, actions-runner-mcp-arm, actions-runner-dakera-arm) share the same physical host and ~/.cargo/registry/src/. Under concurrent builds, C++ crates like aws-lc-sys get partially extracted, causing "No such file or directory" errors.

Changes:

  • arm-cargo-host concurrency group on all ARM jobs (check/clippy/test/integration-test) — serializes org-wide, same as PR#788 in dakera repo
  • Purge expanded: rm -rf ~/.cargo/registry/src/ instead of rm -rf ~/.cargo/registry/src/aws-lc-sys-* — forces full re-extraction of all C++ crates from .crate cache files

This unblocks CTO merging the 8 dependabot PRs via DAK-7474.

Test plan

  • CI green on this PR
  • ARM jobs run sequentially (not concurrently with other repos)

🤖 Generated with Claude Code

Three ARM runners (dakera-arm, cli-arm, mcp-arm) share the same physical
host and ~/.cargo/registry/src/. Concurrent cargo builds race on C++ source
extraction, leaving partial directories (aws-lc-sys, librocksdb-sys) that
cause "No such file or directory" compile errors on subsequent jobs.

Fix:
- arm-cargo-host concurrency group on all ARM jobs (check/clippy/test/
  integration-test): serializes builds org-wide across all three runners
- Purge step expanded: rm -rf ~/.cargo/registry/src/ (was aws-lc-sys-* only)
  so all partially-extracted C++ crates are force-re-extracted from .crate cache

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@ferhimedamine ferhimedamine added the auto-merge Auto-merge when CI passes label Jul 22, 2026
@ferhimedamine

Copy link
Copy Markdown
Contributor Author

Superseded by DAK-7484 infra fix. The root cause (shared /root/.cargo across all ARM runners) has been fixed at the systemd level: each of the 13 runners now has an isolated CARGO_HOME=/root/actions-runner-{repo}-arm/.cargo via their service unit EnvironmentFile. This eliminates the race at source — no rm -rf needed. This PR's full-src/ purge was also actively causing corruption in concurrent jobs. Closing in favor of a clean workflow PR (DAK-7484).

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

Labels

auto-merge Auto-merge when CI passes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant