kubo/docs/PATCH_RELEASE_TEMPLATE.md

2.8 KiB

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)
  • Upload to dist.ipfs.io
    1. Build: https://github.com/ipfs/distributions#usage.
    2. Pin the resulting release.
    3. Make a PR against ipfs/distributions with the updated versions, including the new hash in the PR comment.
  • cut a release on github and upload the result of the ipfs/distributions build in the previous step.
  • Announce the Release:
    • On discuss.ipfs.io
      • 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).