Skip to content

Improve devcontainer startup times - #2412

Merged
rapids-bot[bot] merged 1 commit into
rapidsai:mainfrom
trxcllnt:fea/build-devcontainers
May 20, 2026
Merged

Improve devcontainer startup times#2412
rapids-bot[bot] merged 1 commit into
rapidsai:mainfrom
trxcllnt:fea/build-devcontainers

Conversation

@trxcllnt

Copy link
Copy Markdown
Contributor

This PR builds and publishes devcontainers to ghcr.io and uses the new images to improve CI and local devcontainer startup times.

In rapidsai/devcontainers, devcontainer startup times went from 3m28s to 34s.

Contributes to rapidsai/build-planning#280.

@trxcllnt
trxcllnt requested review from a team as code owners May 20, 2026 01:13
@trxcllnt trxcllnt added non-breaking Non-breaking change improvement Improvement / enhancement to an existing function labels May 20, 2026
@trxcllnt
trxcllnt requested a review from bdice May 20, 2026 01:13
@coderabbitai

coderabbitai Bot commented May 20, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: accdb0fc-d494-4a82-b981-cc74c8bbbe6a

📥 Commits

Reviewing files that changed from the base of the PR and between 3cd0279 and 38ac62a.

📒 Files selected for processing (5)
  • .devcontainer/cuda12.9-conda/devcontainer.json
  • .devcontainer/cuda12.9-pip/devcontainer.json
  • .devcontainer/cuda13.2-conda/devcontainer.json
  • .devcontainer/cuda13.2-pip/devcontainer.json
  • .github/workflows/build.yaml

📝 Walkthrough

Summary by CodeRabbit

  • Chores
    • Optimized development container build performance by adding caching configuration.
    • Automated the building and publishing of development containers in the CI/CD pipeline.

Walkthrough

This pull request adds Docker build cache configuration to four devcontainer variants and introduces a GitHub Actions workflow job to build and push these devcontainers to GHCR. All four devcontainers (CUDA 12.9/13.2 with conda/pip) follow the same pattern of specifying a cacheFrom image source, and a new workflow job orchestrates the build and push operations.

Changes

Devcontainer Cache and Workflow

Layer / File(s) Summary
Devcontainer cache configuration
.devcontainer/cuda12.9-conda/devcontainer.json, .devcontainer/cuda12.9-pip/devcontainer.json, .devcontainer/cuda13.2-conda/devcontainer.json, .devcontainer/cuda13.2-pip/devcontainer.json
All four devcontainer configurations add cacheFrom arrays pointing to corresponding GHCR images (26.08-cuda12.9-conda, 26.08-cuda12.9-pip, 26.08-cuda13.2-conda, 26.08-cuda13.2-pip) to enable Docker build cache reuse.
Devcontainer build and push workflow
.github/workflows/build.yaml
New devcontainers job in the build workflow calls a reusable workflow with packages: write permissions and push: true, triggering builds for CUDA 12.9 and 13.2 with secrets inherited.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Suggested reviewers

  • msarahan
  • KyleFromNVIDIA
🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title directly describes the main change—improving devcontainer startup times through build caching, which is the primary objective of the changeset.
Description check ✅ Passed The description is directly related to the changeset, explaining the purpose of building and publishing devcontainer images to improve startup times.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Comment @coderabbitai help to get the list of available commands and usage tips.

@trxcllnt

Copy link
Copy Markdown
Contributor Author

/merge

@rapids-bot
rapids-bot Bot merged commit 48286d7 into rapidsai:main May 20, 2026
87 checks passed
@trxcllnt
trxcllnt deleted the fea/build-devcontainers branch May 20, 2026 04:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

improvement Improvement / enhancement to an existing function non-breaking Non-breaking change

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

2 participants