Skip to content

Latest commit

 

History

History
44 lines (31 loc) · 1.59 KB

RELEASING.md

File metadata and controls

44 lines (31 loc) · 1.59 KB

Releasing

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.

Every PR: a change file

knope document-change

Pick 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.

Release

  1. Actions → Release → Run workflow on main.
  2. The run prepares the version and changelog, runs the suite, then waits. Read the summary on the run page and approve it (the release environment 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.

Patch release

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