Skip to content

chore: make helm versioning follow repo version - #696

Merged
mckornfield merged 2 commits into
mainfrom
helm-versioning/mck
Jul 15, 2026
Merged

chore: make helm versioning follow repo version#696
mckornfield merged 2 commits into
mainfrom
helm-versioning/mck

Conversation

@mckornfield

@mckornfield mckornfield commented Jul 15, 2026

Copy link
Copy Markdown
Contributor

Summary by CodeRabbit

  • New Features
    • Added a manual helm-version override for stable, Helm-only releases, with validation.
    • Resolved the Helm chart version during release planning for both nightly and stable builds (nightly uses a timestamped version from the latest reachable tag; stable uses the release version unless overridden).
    • Updated Helm packaging to use the resolved chart version and rewrite Helm image repositories to the correct nightly vs stable registry.
  • Documentation
    • Updated releasing guidance with the optional helm-version input, including an example and updated “What the workflow does” Helm versioning details.

@mckornfield
mckornfield requested a review from a team as a code owner July 15, 2026 13:56
@github-actions github-actions Bot added the chore label Jul 15, 2026
@coderabbitai

coderabbitai Bot commented Jul 15, 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: 0f58a98f-69d2-4fda-b7e0-8faa52409ab3

📥 Commits

Reviewing files that changed from the base of the PR and between 6db7ede and 128d98a.

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

📝 Walkthrough

Walkthrough

Changes

Helm release versioning

Layer / File(s) Summary
Override contract and workflow wiring
.github/workflows/release.yaml, RELEASING.md
Adds the optional helm-version input, validates stable Helm-only SemVer overrides, publishes version outputs, and documents the behavior.
Chart version resolution
.github/workflows/release.yaml
Resolves stable or nightly chart versions, uses merged release or RC tags with a Chart.yaml fallback, passes the result to packaging, and selects the registry by release type.

Sequence Diagram(s)

sequenceDiagram
  participant ReleaseOperator
  participant PlanRelease
  participant StageHelm
  participant GitRepository
  ReleaseOperator->>PlanRelease: submit helm-version and release inputs
  PlanRelease->>PlanRelease: validate stable Helm-only SemVer override
  PlanRelease-->>StageHelm: provide resolved helm_version
  StageHelm->>GitRepository: resolve nightly base version from merged tags
  GitRepository-->>StageHelm: return release or RC tag
  StageHelm-->>ReleaseOperator: package chart with chart_version and selected registry
Loading

Possibly related PRs

Suggested reviewers: crookedstorm

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 13.33% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title matches the main change: Helm chart versioning is being derived from repo/release versioning with an override path.
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
  • Commit unit tests in branch helm-versioning/mck

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.

🧹 Nitpick comments (1)
.github/scripts/resolve_helm_chart_version.py (1)

86-116: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

No test coverage for the CLI entrypoint (main/parse_args).

The "Resolver CLI contract" layer (argument parsing, stdout printing, HelmVersionError → stderr + exit code 1) has no tests; only the internal chart_version/latest_stable_release_core/resolve_helm_chart_version functions are tested. Consider adding a test invoking main() for both the success path (stdout version, exit 0) and failure path (stderr message, exit 1).

🤖 Prompt for 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.

In @.github/scripts/resolve_helm_chart_version.py around lines 86 - 116, Add
CLI-level tests for parse_args and main, covering successful resolution with the
version printed to stdout and exit code 0, plus HelmVersionError handling with
the message printed to stderr and exit code 1. Mock argument parsing and
resolve_helm_chart_version as needed, while preserving the existing internal
resolver tests.
🤖 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.

Nitpick comments:
In @.github/scripts/resolve_helm_chart_version.py:
- Around line 86-116: Add CLI-level tests for parse_args and main, covering
successful resolution with the version printed to stdout and exit code 0, plus
HelmVersionError handling with the message printed to stderr and exit code 1.
Mock argument parsing and resolve_helm_chart_version as needed, while preserving
the existing internal resolver tests.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: 7d0e9bb7-4034-41d7-9a09-6098637e60b2

📥 Commits

Reviewing files that changed from the base of the PR and between 48614f1 and d2b753e.

📒 Files selected for processing (3)
  • .github/scripts/resolve_helm_chart_version.py
  • .github/scripts/tests/test_resolve_helm_chart_version.py
  • .github/workflows/release.yaml

@github-actions

github-actions Bot commented Jul 15, 2026

Copy link
Copy Markdown
Contributor
Suite Lines Covered Line Rate Branch Rate
Unit Tests 25439/32661 77.9% 62.5%
Integration Tests 14703/31310 47.0% 19.3%

@mckornfield
mckornfield force-pushed the helm-versioning/mck branch from d2b753e to 5ee71cf Compare July 15, 2026 14:52

@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: 1

🤖 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/scripts/resolve_helm_chart_version.py:
- Around line 49-64: Update latest_stable_release_core() to surface git command
failures instead of returning None when result.returncode is nonzero. Emit the
captured result.stderr or raise HelmVersionError with the command failure
details, while preserving the existing None return for successful commands with
no matching stable 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: 0cd7403e-c4eb-464c-9b11-e26924dc9e92

📥 Commits

Reviewing files that changed from the base of the PR and between d2b753e and 5ee71cf.

📒 Files selected for processing (3)
  • .github/scripts/resolve_helm_chart_version.py
  • .github/scripts/tests/test_resolve_helm_chart_version.py
  • .github/workflows/release.yaml
🚧 Files skipped from review as they are similar to previous changes (2)
  • .github/scripts/tests/test_resolve_helm_chart_version.py
  • .github/workflows/release.yaml

Comment thread .github/scripts/resolve_helm_chart_version.py Outdated
@mckornfield
mckornfield force-pushed the helm-versioning/mck branch from 5ee71cf to 51d3393 Compare July 15, 2026 17:54
@mckornfield
mckornfield requested review from a team as code owners July 15, 2026 17:54
* Also allow for an override case

Signed-off-by: Matt Kornfield <mkornfield@nvidia.com>
@mckornfield
mckornfield force-pushed the helm-versioning/mck branch from 51d3393 to 6db7ede Compare July 15, 2026 17:54

@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: 1

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
RELEASING.md (1)

59-93: 📐 Maintainability & Code Quality | 🟠 Major | 🏗️ Heavy lift

Split this into Diataxis pages.

Keep this page as a HOW-TO, move input semantics to REFERENCE and version-resolution behavior to EXPLANATION, then cross-link them. Put Helm override prerequisites first and add a Next Steps section.

As per coding guidelines, “Each documentation page should fit ONE Diataxis quadrant,” “Always list prerequisites at the top of documentation pages,” and “Include 'Next Steps' section at the end.”

🤖 Prompt for 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.

In `@RELEASING.md` around lines 59 - 93, Refactor RELEASING.md into a HOW-TO by
retaining only procedural release steps, moving input semantics into a linked
REFERENCE page and version-resolution behavior into a linked EXPLANATION page.
Place Helm override prerequisites at the top, add links to both new pages, and
append a “Next Steps” section with relevant follow-up links.

Source: Coding guidelines

🤖 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/release.yaml:
- Around line 290-291: Update the helmVersionOverride validation in the release
workflow to use strict SemVer parsing or a standards-compliant pattern,
rejecting leading-zero numeric components and malformed prerelease identifiers
such as empty dot-separated segments. Ensure invalid helm-version values fail
during planning while preserving valid SemVer support.

---

Outside diff comments:
In `@RELEASING.md`:
- Around line 59-93: Refactor RELEASING.md into a HOW-TO by retaining only
procedural release steps, moving input semantics into a linked REFERENCE page
and version-resolution behavior into a linked EXPLANATION page. Place Helm
override prerequisites at the top, add links to both new pages, and append a
“Next Steps” section with relevant follow-up links.
🪄 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: 7d394c3a-9557-48af-ad3c-98d9e4ec09a3

📥 Commits

Reviewing files that changed from the base of the PR and between 5ee71cf and 6db7ede.

📒 Files selected for processing (2)
  • .github/workflows/release.yaml
  • RELEASING.md

Comment thread .github/workflows/release.yaml Outdated
Comment thread .github/workflows/release.yaml
Comment thread .github/workflows/release.yaml Outdated
Comment thread .github/workflows/release.yaml Outdated
Signed-off-by: Matt Kornfield <mkornfield@nvidia.com>

@crookedstorm crookedstorm 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.

Looks good. Follows the general patterns of the repo, and we can always try a manual nightly once all the containers are fixed.

@mckornfield
mckornfield added this pull request to the merge queue Jul 15, 2026
Merged via the queue into main with commit aa7f764 Jul 15, 2026
57 checks passed
@mckornfield
mckornfield deleted the helm-versioning/mck branch July 15, 2026 21:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants