NVIDIA / NVIDIA/nvcf

release: CI check validating stack version bumps against migration evidence

Open
#1,975 0 comments 0 reactions 1 assignee View on GitHub

@kristinapathak is already working on this.

Since Sep 18, 2026.

ci
Dominant language
Go
Stars
218
Forks
72
Avg merge
1d 12h
Merged PRs (30d)
427

Description

A release-time check that answers, for a release candidate: does this bundle introduce schema changes that make the proposed version bump wrong?

A stack-pin diff is just version: 1.5.32.0.0 across a dozen charts. Nothing in it says whether a migration landed. In a monorepo that evidence is computable rather than something a human has to remember to declare — and a computed diff cannot be forgotten, whereas a declaration in a PR from two months ago can.

Shape: a shared Go library with per-stack configuration, so all three stacks under deploy/stacks/ share one implementation and can diverge in policy declaratively.

  • tools/stack-upgrade-policy/ — resolves the stack's latest release tag, diffs it against HEAD over that stack's declared migration paths, classifies each changed file as additive or destructive (DROP, TRUNCATE, ALTER … DROP), flags deleted migration files, and compares the evidence against the proposed version bump.
  • tools/ci/check-stack-upgrade-policy — bash entrypoint mirroring tools/ci/chart-service-edge (resolves repo root, builds the binary, propagates the real exit code). Takes --stack <id>.
  • deploy/stacks/<stack>/upgrade-policy.yaml — per-stack config declaring which paths count as migration evidence. self-managed gets migrations/cassandra and migrations/openbao; the other two start empty, making the check a no-op until they need it.

Decision table: no migration changes → pass. Additive only → pass, report them. Destructive changes or deleted migration files with a non-major proposed bump → fail with the file list. Destructive with a major bump → pass, report. The evidence report prints on every run, not only on failure.

The proposed bump comes from the existing tools/ci/release-bump-type for-branch logic rather than a new mechanism.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.