Repository navigation
ci(docker): use H200 runner for builds and add nightly GHCR workflow - #507
Conversation
- release-docker.yml: switch runs-on from ubuntu-latest to 8-gpu-h200 for significantly faster Docker builds using the H200 runner's many cores, which is otherwise idle outside the nightly benchmark window - nightly-docker.yml: new workflow that builds the Docker image daily at 06:00 UTC (2h before nightly benchmarks at 08:00 UTC to avoid runner contention) and pushes to GitHub Container Registry at ghcr.io/lightseekorg/smg:nightly — single tag that gets overwritten each run to avoid storage accumulation. Uses QEMU + buildx for multi-platform support (linux/amd64, linux/arm64), GHA build cache, and concurrency group to prevent overlapping runs. Guarded by repository check so forks don't trigger builds. Signed-off-by: Simon Lin <simon@simonlin.com> Signed-off-by: Simo Lin <linsimo.mark@gmail.com>
|
Note Gemini is unable to generate a summary for this pull request due to the file types involved not being currently supported. |
📝 WalkthroughWalkthroughThis pull request introduces a new nightly Docker build workflow scheduled to run daily at 6:00 UTC and updates the existing release Docker workflow to use a GPU runner (8-gpu-h200) instead of the standard Ubuntu runner for multi-architecture image builds. Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Possibly related PRs
Suggested labels
Suggested reviewers
Poem
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In @.github/workflows/nightly-docker.yml:
- Around line 22-24: Remove the redundant job-level permissions block (the lines
defining permissions: contents: read and packages: write) because these
duplicate the workflow-level permissions already defined; locate the job's
permissions stanza (the permissions: contents: read and packages: write entries)
and delete it so only the workflow-level permissions remain, or alternatively
keep the block if you intentionally want explicit job-level override—choose one
approach and ensure there is no duplicate permissions block.
Summary
Use the H200 GPU runner for Docker builds (replacing single-core
ubuntu-latest) and add a nightly build that publishes to GitHub Container Registry.What changed
.github/workflows/release-docker.yml: Changedruns-onfromubuntu-latestto["8-gpu-h200"]for faster builds.github/workflows/nightly-docker.yml(new): Nightly Docker build at 06:00 UTC pushing toghcr.io/lightseekorg/smg:nightlyWhy
The H200 runner is only used during nightly benchmarks (08:00 UTC), leaving it idle the rest of the time. Docker builds on
ubuntu-latestare slow due to limited compute. Moving builds to H200 leverages its many cores for significantly faster builds.The nightly GHCR image provides a daily snapshot without cluttering Docker Hub releases. Uses a single
:nightlytag that gets overwritten each run to avoid storage accumulation.How
type=gha) for layer cachingif: github.repository == 'lightseekorg/smg'guard prevents fork executionGITHUB_TOKEN(built-in) withpackages: writepermission for GHCR — no extra secrets neededTest plan
workflow_dispatchon nightly-docker workflow to verify GHCR pushworkflow_dispatchon release-docker workflow to verify H200 buildSummary by CodeRabbit
New Features
Chores