feat: Add CDS Containers with GHCR build workflow#15
Merged
Conversation
|
All contributors have signed the DCO ✍️ ✅ |
Add CDS container images for DSX projects with GitHub Actions support: Container Images: - cds-tools: Comprehensive tooling (Bazel, kubectl, helm, terraform, NGC CLI, etc.) - cds-go-dev-1.24-alpine: Go 1.24 dev environment (Alpine, minimal) - cds-go-dev-1.24-debian: Go 1.24 dev environment (Debian, compatibility) - cds-grafana-backup-tool: Grafana backup utility Key Features: - Version management via VERSION.md (currently 0.0.1) - Automatic GHCR push: ghcr.io/nvidia/dsx-github-actions/cds-* - Path-filtered pipeline (only triggers on cds-containers/ changes) - Removed internal dependencies (nvault, cds-cli) for GitHub compatibility - Comprehensive documentation and usage examples Pipeline: - Build all 4 images in parallel - Push to GHCR with version tags - Automated testing of built images - Only triggers when cds-containers/ files change Signed-off-by: mmou <mmou@nvidia.com>
Issue: PRs don't have permission to push to GHCR, causing 403 Forbidden errors.
Solution: Set push: ${{ github.event_name == 'push' }} to only push images
when merging to main, while PRs still build and test images without pushing.
Signed-off-by: mmou <mmou@nvidia.com>
Test jobs try to pull images that don't exist in PR context. Only run tests when images are actually pushed (push events). Signed-off-by: mmou <mmou@nvidia.com>
4fe6cc8 to
ff7080c
Compare
Contributor
Author
|
I have read the DCO Document and I hereby sign the DCO |
Contributor
Author
|
recheck |
Simplify CHANGELOG to only include v0.0.1 initial release notes. Signed-off-by: mmou <mmou@nvidia.com>
Changes: - Remove CODEOWNERS file - Replace VERSION.md with VERSION file - Update workflow to read from VERSION file - Update all documentation references from VERSION.md to VERSION - Keep version at 0.0.1 Signed-off-by: mmou <mmou@nvidia.com>
Current issue: workflow triggers on all branch pushes, causing unnecessary failed builds on feature branches. Solution: Add branches: [main] to push trigger to only build and push images when code is merged to main branch. Signed-off-by: mmou <mmou@nvidia.com>
Issue: Job log shows 'Image pushed to GHCR' even in PRs where images are NOT actually pushed, causing confusion. Solution: Make the message conditional: - Push event: 'Image built and pushed to GHCR' - PR event: 'Image built successfully (not pushed in PR)' Signed-off-by: mmou <mmou@nvidia.com>
huaweic-nv
approved these changes
Jan 19, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
🐳 Add CDS Container Images
This PR adds CDS container images to the dsx-github-actions repository with GitHub Container Registry (GHCR) support.
📦 Container Images
cds-tools - Comprehensive tooling container
cds-go-dev-1.24-alpine - Go development (Alpine)
cds-go-dev-1.24-debian - Go development (Debian)
cds-grafana-backup-tool - Grafana backup utility
✨ Features
VERSION.mdfile (currently 0.0.1)ghcr.io/nvidia/dsx-github-actions/cds-*cds-containers/changes🔧 Usage Example
📝 Key Differences from GitLab Version
nvault(requires internal URM access)cds-cli(requires internal GitLab access)VERSION.mdinstead of Git tags🧪 Testing
Tested in
test-dsx-cirepo:📂 Files Added
cds-containers/- Container definitions and Dockerfiles.github/workflows/build-cds-containers.yml- Build pipelinecds-containers/VERSION.md- Version file (0.0.1)cds-containers/README.md- Documentation