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 go-ipfs.
- Fork a new branch (
release-vX.Y.Z
) fromrelease
and cherry-pick the relevant commits from master (or custom fixes) onto this branch - Make a minimal changelog update tracking the relevant fixes to CHANGELOG.
- version string in
version.go
has been updated (in therelease-vX.Y.Z+1
branch). - Make a PR merging
release-vX.Y.Z+1
into the release branch - tag the merge commit in the
release
branch withvX.Y.Z+1
- upload to dist.ipfs.io
- Build: https://github.com/ipfs/distributions#usage.
- Pin the resulting release.
- Make a PR against ipfs/distributions with the updated versions, including the new hash in the PR comment.
- Ask the infra team to update the DNSLink record for dist.ipfs.io to point to the new distribution.
- cut a release on github and upload the result of the ipfs/distributions build in the previous step.
- Announce the Release:
- On IRC/Matrix (both #ipfs and #ipfs-dev)
- On discuss.ipfs.io
- Release published
- to dist.ipfs.io
- to npm-go-ipfs
- to chocolatey
- to snap
- to github
- to arch (flag it out of date)
- Cut a new ipfs-desktop release
- Merge the
release
branch back intomaster
, ignoring the changes toversion.go
(keep the-dev
version from master).