release: CI check validating stack version bumps against migration evidence
@kristinapathak is already working on this.
Since Sep 18, 2026.
- 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.3 → 2.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 againstHEADover 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 mirroringtools/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-managedgetsmigrations/cassandraandmigrations/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
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.