Skip to content

ci: add floating latest tag for each release#3727

Merged
nv-dmendoza merged 5 commits into
NVIDIA:mainfrom
nv-dmendoza:ci-add-uploading-release-latest
Jul 21, 2026
Merged

ci: add floating latest tag for each release#3727
nv-dmendoza merged 5 commits into
NVIDIA:mainfrom
nv-dmendoza:ci-add-uploading-release-latest

Conversation

@nv-dmendoza

Copy link
Copy Markdown
Collaborator

This adds a floating -latest tag for each release to make it easier to automate security scanning. Since this tag points to the latest of a given release, we can use the major and minor of the given version to get the floating tag to update (ex: v2.0.0-rc.16 -> v2.0).

This utilizes the addtional_tags input for the docker-build workflow call which can be used to add additional tags to upload a given container to the registry. For some of the build jobs we already publish a latest which is accounted for by setting the appropriate var to empty build_container_x86_64_version_latest= which docker-build handles to not adding any additional tags. For other jobs, just version is used to upload which we can reuse the same <major>.<minor>-later.

version tags
v2.0.0 v2.0-latest, v2.0.0
v2.0.0-pr v2.0-latest, v2.0.0-pr
v2.0.0-rc.1 v2.0-latest, v2.0.0-rc.1
v2.1.0-pr-0-g12435a v2.1-latest, v2.1.0-pr-0-g12435a

Related issues

Type of Change

  • Add - New feature or capability
  • Change - Changes in existing functionality
  • Fix - Bug fixes
  • Remove - Removed features or deprecated functionality
  • Internal - Internal changes (refactoring, tests, docs, etc.)

Breaking Changes

  • This PR contains breaking changes

Testing

  • Unit tests added/updated
  • Integration tests added/updated
  • Manual testing performed
  • No testing required (docs, internal refactor, etc.)

Additional Notes

@nv-dmendoza
nv-dmendoza requested review from a team and lauragra-y as code owners July 20, 2026 20:26
@coderabbitai

coderabbitai Bot commented Jul 20, 2026

Copy link
Copy Markdown
Contributor

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: 36ae1dc8-7f4c-4126-b62b-9517724b4249

📥 Commits

Reviewing files that changed from the base of the PR and between 32f2994 and 04eeb62.

📒 Files selected for processing (1)
  • .github/workflows/ci.yaml
🚧 Files skipped from review as they are similar to previous changes (1)
  • .github/workflows/ci.yaml

Summary by CodeRabbit

  • New Features
    • Added rolling major.minor-latest tags for published images across containers, runtime/artifacts, and related release/tooling images.
    • Tag publishing is now derived from which builds are produced, with separate handling for x86_64 and aarch64 outputs.
    • Multi-arch manifest tags now also include major.minor-latest variants alongside existing version-based tags.
    • Existing version tags and pull-request publishing behavior remain unchanged.

Walkthrough

Changes

The CI workflow derives a major.minor version, exports conditional latest-tag outputs, and publishes major.minor-latest tags for primary containers, release images, platform images, and selected multi-architecture manifests.

Versioned image tags

Layer / File(s) Summary
Version derivation and exported outputs
.github/workflows/ci.yaml
The base-container gate derives the major.minor version and emits conditional per-image latest-tag outputs through prepare.
Primary container build tags
.github/workflows/ci.yaml
Build, runtime, and artifacts container jobs receive additional major.minor-latest tags for x86_64 and aarch64 images.
Release and platform image tags
.github/workflows/ci.yaml
Release, machine-validation, Forge CLI, boot-artifact, and BlueField image jobs receive additional major.minor-latest tags; selected manifest jobs publish matching multi-architecture tags.

Estimated code review effort: 3 (Moderate) | ~20 minutes

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly summarizes the main change: adding floating latest tags per release line.
Description check ✅ Passed The description matches the workflow changes and explains the new major.minor latest tagging behavior.
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.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In @.github/workflows/ci.yaml:
- Line 575: Guard the additional_tags values in all six base-container jobs,
including the entries near build_container_x86_64_version_latest, with the
release-publish predicate. Ensure each value is empty when tag_latest is
enabled, so pull-request and non-release builds cannot move floating
release-line tags.
- Line 702: Add matching major-minor “-latest” manifest tags to the imagetools
create calls in merge-manifests-nvmetal-carbide and
merge-manifests-machine-validation. Use the existing image registry and
major_minor_version outputs for both nvmetal-carbide and machine_validation,
while preserving their version tags.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: 06f7607d-937f-4c27-91b3-5eaee1e3b899

📥 Commits

Reviewing files that changed from the base of the PR and between 86beb0d and 32f2994.

📒 Files selected for processing (1)
  • .github/workflows/ci.yaml

Comment thread .github/workflows/ci.yaml
Comment thread .github/workflows/ci.yaml
@nv-dmendoza
nv-dmendoza merged commit a239602 into NVIDIA:main Jul 21, 2026
61 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants