@cryptotaxi247 / kubo / commits / 81112c3d6

docs: elaborate on some git cmds for releasing

Gus Eggert committed Jun 8, 2022 at 18:04 UTC 81112c3d6e3416020f5aef79a32e7696b124df17
1 file changed +16 -6
docs/RELEASE_ISSUE_TEMPLATE.md
+16 -6
@@ -23,6 +23,7 @@ As usual, this release includes important fixes, some of which may be critical f
23 For each RC published in each stage:
24
25 - version string in `version.go` has been updated (in the `release-vX.Y.Z` branch).
26 +- new commits should be added to the `release-vX.Y.Z` branch from `master` using `git cherry-pick -x ...`
27 - tag commit with `vX.Y.Z-rcN`
28 - upload to dist.ipfs.io
29 1. Build: https://github.com/ipfs/distributions#usage.
@@ -76,25 +77,34 @@ Checklist:
77 - [ ] **Stage 3 - Release**
78 - [ ] Final preparation
79 - [ ] Verify that version string in [`version.go`](https://github.com/ipfs/go-ipfs/tree/master/version.go) has been updated.
79 - - [ ] Merge `release-vX.Y.Z` into the `release` branch.
80 - - [ ] Tag this merge commit (on the `release` branch) with `vX.Y.Z`.
80 + - [ ] Open a PR merging `release-vX.Y.Z` into the `release` branch.
81 + - This should be reviewed by the person who most recently released a version of `go-ipfs`.
82 + - Use a merge commit (no rebase, no squash)
83 + - [ ] Prepare the command to use for tagging the merge commit (on the `release` branch) with `vX.Y.Z`.
84 + - Use `git tag -s` to ensure the tag is signed
85 + - [ ] Have the tagging command reviewed by the person who most recently released a version of `go-ipfs`
86 + - This is a dangerous operation, as it is difficult to reverse due to Go modules and automated Docker image publishing
87 + - [ ] Push the tag
88 + - Use `git push origin <tag>`
89 + - DO NOT USE `git push --tags`, as it will push ALL of your local tags
90 + - This should initiate a Docker build in GitHub Actions that publishes a `vX.Y.Z` tagged Docker image to DockerHub
91 - [ ] Release published
92 - [ ] to [dist.ipfs.io](https://dist.ipfs.io)
93 - [ ] to [npm-go-ipfs](https://github.com/ipfs/npm-go-ipfs)
94 - [ ] to [chocolatey](https://chocolatey.org/packages/go-ipfs)
95 - [ ] Manually run [the release workflow](https://github.com/ipfs/choco-go-ipfs/actions/workflows/main.yml)
96 + - [ ] Wait for Chocolatey to approve the release (usually takes a few hours)
97 - [ ] to [snap](https://snapcraft.io/ipfs)
98 - [ ] to [github](https://github.com/ipfs/go-ipfs/releases)
88 - - [ ] use the artifacts built in CI for dist.ipfs.io: `wget "https://ipfs.io/api/v0/get?arg=/ipns/dist.ipfs.io/go-ipfs/$(curl -s https://dist.ipfs.io/go-ipfs/versions | tail -n 1)"`
99 + - [ ] After publishing the GitHub release, run the workflow to attach the release assets: https://github.com/ipfs/go-ipfs/actions/workflows/sync-release-assets.yml
100 - [ ] to [arch](https://www.archlinux.org/packages/community/x86_64/go-ipfs/) (flag it out of date)
101 - [ ] Cut a new ipfs-desktop release
102 - [ ] Submit [this form](https://airtable.com/shrNH8YWole1xc70I) to publish a blog post, linking to the GitHub release notes
92 - - [ ] Broadcasting (link to blog post)
103 + - [ ] Broadcasting
104 - [ ] Twitter (request in Slack channel #pl-marketing-requests)
94 - - [ ] Matrix
105 - [ ] [Reddit](https://reddit.com/r/ipfs)
106 - [ ] [discuss.ipfs.io](https://discuss.ipfs.io/c/announcements)
97 - - [ ] Announce it on the [IPFS Users Mailing List](https://groups.google.com/forum/#!forum/ipfs-users)
107 + - A bot auto-posts this to Discord and Matrix
108 - [ ] **Post-Release**
109 - [ ] Merge the `release` branch back into `master`, ignoring the changes to `version.go` (keep the `-dev` version from master).
110 - [ ] Create an issue using this release issue template for the _next_ release.