Skip to content

Latest commit

 

History

History
32 lines (30 loc) · 2.93 KB

PATCH_RELEASE_TEMPLATE.md

File metadata and controls

32 lines (30 loc) · 2.93 KB

Patch Release Checklist

This process handles patch releases from version vX.Y.Z to vX.Y.Z+1 assuming that vX.Y.Z is the latest released version of Kubo.

  • Get temporary permissions to force-push to release-* branches
  • Fork a new branch (release-vX.Y.Z) from release and cherry-pick the relevant commits from master (or custom fixes) onto this branch
    • Use git cherry-pick -x so that the commit message says (cherry picked from commit ...)
  • Make a minimal changelog update tracking the relevant fixes to CHANGELOG, as its own commit e.g. docs: update changelog vX.Y.Z+1
  • version string in version.go has been updated (in the release-vX.Y.Z+1 branch), as its own commit.
  • Make a PR merging release-vX.Y.Z+1 into the release branch
    • This may be unnecessary, e.g. for backports
  • Tag the merge commit in the release branch with vX.Y.Z+1 (ensure the tag is signed)
  • Add artifacts to https://dist.ipfs.tech/kubo
    1. Make a PR against ipfs/distributions with local changes produced by add-version (see usage)
    2. Wait for PR to build artifacts and generate diff
    3. Inspect results, merge if CI is green and the diff looks ok
    4. Wait for master branch to build and update DNSLink at https://dist.ipfs.tech
  • Cut a release on github and reuse signed artifacts from https://dist.ipfs.tech/kubo (run sync-release-assets.yml workflow).
  • Announce the Release:
    • On discuss.ipfs.tech
      • This will automatically post to Matrix (#lobby:ipfs.io) and IPFS Discord (#ipfs-chatter)
      • Examples from the past: 0.13.1
      • Pin the discuss topic
  • Release published
  • Cut a new ipfs-desktop release
  • Merge the release branch back into master, ignoring the changes to version.go (keep the -dev version from master).