Skip to content

ci: route CPU tests to ACK/ECI runners with overlay2 and cross-pod ccache - #7935

Merged
MrLi000001 merged 3 commits into
developfrom
ci/ack-eci-cpu-runner
Sep 9, 2026
Merged

ci: route CPU tests to ACK/ECI runners with overlay2 and cross-pod ccache#7935
MrLi000001 merged 3 commits into
developfrom
ci/ack-eci-cpu-runner

Conversation

@MrLi000001

@MrLi000001 MrLi000001 commented Sep 8, 2026

Copy link
Copy Markdown
Collaborator

The CPU test workflow ran on the generic X64 label with no working
compiler cache: /tmp/ccache is lost when ephemeral ECI pods are destroyed,
and X64 also matches the legacy and GPU runners, so jobs land on random
machines.

This PR keeps the existing workflow layout unchanged (test steps, -j8 and
everything else untouched) and only adds what is needed for the
runner/cache migration:

  • Route jobs with [self-hosted, cpu, linux-x64] so they only land on the
    ACK/ECI CPU pool.
  • Persist ccache across pods via actions/cache, keyed on the compiler
    fingerprint (8 GiB cap); the stale /tmp/ccache volume mount is removed.
  • Add a push: develop trigger so the default branch builds the public
    cache baseline that PRs can restore (PR-scoped caches cannot be shared).
  • Report ccache --show-stats to the job summary for rollout verification.

Validated in isolation at 059cbe7 on ACK/ECI (ecs.c6.4xlarge, 16 vCPU,
300 GiB ephemeral storage, Docker overlay2): cold build 20m01s, full test
suite 17m33s (18/18 groups pass), warm-cache rebuild 1m04s, ccache hit rate
3298/3300 (99.94%). The first PR run on the new pool with a warm cache
finished in 33.6 min vs the 62-67 min baseline of the old setup.

Note: no redundant -DCMAKE_CXX_COMPILER_LAUNCHER=ccache is added since
the top-level CMakeLists.txt already sets it when ccache is detected.

Reminder

  • I have read AGENTS.md and docs/developers_guide/agent_governance.md.
  • I have linked an issue or explained why this PR does not need one. — CI workflow change only; no user-visible code change, so no issue is linked.
  • I have added adequate unit tests and/or case tests, or explained why not. — the workflow itself runs the full unit/integration test suite; validation data above.
  • I have listed the exact verification commands run and their results. — see the validation paragraph (commit 059cbe7 on ACK/ECI).
  • I have described user-visible behavior changes, including INPUT parameter changes. — none; CI infrastructure only.
  • I have explained core-module impact for ESolver, HSolver, ElecState, Hamilt, Operator, Psi, or other source/ changes. — none; .github/workflows/test.yml only.
  • I have requested any needed governance exception below. — not needed.

…ache

Updated GitHub Actions workflow to include push trigger for develop branch, improved caching for compiler, and consolidated test execution steps.
@github-actions

github-actions Bot commented Sep 8, 2026

Copy link
Copy Markdown

Agent Governance Check

Severity Rule Location Reason Suggested action Exception
warning PR metadata completeness pull_request.body missing sections: Linked Issue, Unit Tests and/or Case Tests for my changes, What's changed? Fill the PR template with issue linkage, test evidence, and a concise change summary. allowed

@mohanchen mohanchen added the Compile & CICD & Docs & Dependencies Issues related to compiling ABACUS label Sep 8, 2026
@mohanchen
mohanchen self-requested a review September 8, 2026 22:14
@mohanchen mohanchen added the Refactor Refactor ABACUS codes label Sep 9, 2026
Removed unused permissions and workflow_dispatch trigger. Updated various commands for better performance and consistency.
@MrLi000001
MrLi000001 merged commit 3937023 into develop Sep 9, 2026
30 checks passed
@MrLi000001
MrLi000001 deleted the ci/ack-eci-cpu-runner branch September 9, 2026 10:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Compile & CICD & Docs & Dependencies Issues related to compiling ABACUS Refactor Refactor ABACUS codes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants