Every crate ships at one version. Each PR adds a change file; a release turns the change files
into the version bump, the changelog section, the vX.Y.Z tag, the GitHub release and the
zingodevops/zingod image.
knope document-changePick the change type, write a one-line summary naming the crate, and add detail below the heading
in the file it writes to .changeset/. One file per user-visible change.
| Type | Use for |
|---|---|
major |
Breaking change to a public interface or config |
minor |
Backward-compatible addition |
patch |
Bug or performance fix |
internal |
No observable change |
A PR without a change file fails its check.
- Actions → Release → Run workflow on
main. - The run prepares the version and changelog, runs the suite, then waits. Read the summary on
the run page and approve it (the
releaseenvironment asks a reviewer).
Approval commits, tags, and publishes the GitHub release and the image. Nothing is pushed to
main by hand.
Don't merge to main while a release waits. If something does merge, Publish pushes nothing and
fails: dispatch again.
Branch from the tag, cherry-pick the fix with its change file, push the branch, and run
Release on that branch instead of main.
git switch -c release/1.0 v1.0.0 && git cherry-pick <fix> && git push -u origin release/1.0