Skip to content

ci: add GPU runner overlay2 smoke test workflow and runner config sample - #7814

Open
MrLi000001 wants to merge 3 commits into
deepmodeling:developfrom
MrLi000001:overlay2-smoke
Open

ci: add GPU runner overlay2 smoke test workflow and runner config sample#7814
MrLi000001 wants to merge 3 commits into
deepmodeling:developfrom
MrLi000001:overlay2-smoke

Conversation

@MrLi000001

Copy link
Copy Markdown

Summary

Adds a workflow_dispatch smoke test that validates the GPU self-hosted runner setup for Docker overlay2 storage driver, plus a K8s RunnerDeployment sample showing how to switch the runner daemon from vfs to overlay2.

Files

File Purpose
.github/workflows/gpu-runner-overlay2-smoke.yml workflow_dispatch probe: verifies Docker storage driver is overlay2, measures cold/warm pull time of ghcr.io/deepmodeling/abacus-cuda:latest, runs nvidia-smi inside the image, and reports disk usage + timings to the job summary
docs/community/cicd/overlay2-runner-sample.yaml K8s (ACK/ECI) RunnerDeployment sample that mounts a docker daemon.json with storage-driver: overlay2 (ConfigMap + emptyDir docker storage)

How to use

  1. CICD team applies the RunnerDeployment sample to switch the runner docker daemon to overlay2.
  2. On the Actions page, run the "GPU Runner overlay2 smoke test" workflow (workflow_dispatch).
  3. Expected result: job summary shows Docker driver: overlay2, cold/warm pull timings, GPU test passed.

Note: on the current vfs runner the workflow will fail at the storage-driver check by design — that is the intended signal that the runner has not been migrated to overlay2 yet.

Context

This is a diagnostic companion for the CI optimization series (#7753 cuda-arch-parallel, etc.): a slow vfs image layer unpack is suspected to contribute to CUDA build/test runtime variance on the self-hosted GPU runners. This smoke test quantifies the pull cost before/after the overlay2 migration.

- gpu-runner-overlay2-smoke.yml: workflow_dispatch probe validating Docker
  storage driver (overlay2), cold/warm image pull timings, and nvidia-smi
  GPU visibility inside ghcr.io/deepmodeling/abacus-cuda image
- cpu-runner-overlay2-sample.yaml: K8s RunnerDeployment sample (ACK/ECI)
  switching docker daemon storage driver from vfs to overlay2

Note: smoke workflow expects overlay2; on the current vfs runner it will
fail at the storage-driver check by design.
The previous commit placed both the smoke workflow and the K8s
RunnerDeployment sample under .github/workflows/. GitHub Actions parses
every YAML in that directory as a workflow, which caused the K8s sample
to be interpreted as a broken workflow (run deepmodeling#1 failed at parse step,
shadowing the real smoke workflow in the Actions UI).

Move the K8s sample to docs/community/cicd/overlay2-runner-sample.yaml
where it belongs as CI documentation, not as an Actions workflow.
@MrLi000001 MrLi000001 closed this Aug 13, 2026
@MrLi000001 MrLi000001 reopened this Aug 13, 2026
@MrLi000001 MrLi000001 closed this Aug 14, 2026
@MrLi000001 MrLi000001 reopened this Aug 14, 2026
@mohanchen mohanchen added the Compile & CICD & Docs & Dependencies Issues related to compiling ABACUS label Aug 14, 2026
Add pull_request trigger scoped to the smoke workflow file itself, so
updates to the workflow (e.g. validating changes to the runner probe)
are automatically validated instead of requiring a manual dispatch.
Keeps workflow_dispatch for on-demand runs.
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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants