@cryptotaxi247 / kubo / commits / 2c2926b7a

docs: parameterise release issue template

galargh committed Dec 5, 2022 at 09:47 UTC 2c2926b7ab3d6b5bcae4079a5b9ae9e1f05dfb6c
1 file changed +149 -56
docs/RELEASE_ISSUE_TEMPLATE.md
+149 -56
@@ -1,4 +1,4 @@
1 -<!-- Last updated by @galargh during [0.17.0 release](https://github.com/ipfs/kubo/issues/9319) -->
1 +<!-- Last updated by @galargh during [X.Y.Z release](https://github.com/ipfs/kubo/issues/9319) -->
2
3 > Release Issue Template. If doing a patch release, see [here](https://github.com/ipfs/kubo/blob/master/docs/PATCH_RELEASE_TEMPLATE.md)
4
@@ -49,7 +49,7 @@ Checklist:
49 # create new issue in protocol/bifrost-infra
50 gh api \
51 --method POST \
52 - --raw-field "title=Rollout Kubo v0.17.0-RC1" \
52 + --raw-field "title=Rollout Kubo vX.Y.Z-RCN" \
53 --raw-field "body=## What should be updated
54
55 - [ ] Gateways
@@ -68,20 +68,20 @@ Checklist:
68 # retrieve master ref for ipfs/kubo
69 gh api /repos/ipfs/kubo/git/ref/heads/master
70
71 - # create docs-release-v0.17.0 ref for ipfs/kubo
71 + # create docs-release-vX.Y.Z ref for ipfs/kubo
72 gh api \
73 --method POST \
74 /repos/ipfs/kubo/git/refs \
75 - -f ref='refs/heads/docs-release-v0.17.0' \
75 + -f ref='refs/heads/docs-release-vX.Y.Z' \
76 -f sha='254d81a9d5595c3e637c7573d56125836d5f5055'
77
78 - # create draft PR from docs-release-v0.17.0 to master for ipfs/kubo
79 - # requires docs-release-v0.17.0 to be modified
78 + # create draft PR from docs-release-vX.Y.Z to master for ipfs/kubo
79 + # requires docs-release-vX.Y.Z to be modified
80 gh api \
81 --method POST \
82 /repos/ipfs/kubo/pulls \
83 - -f title='docs: release v0.17.0' \
84 - -f head='docs-release-v0.17.0' \
83 + -f title='docs: release vX.Y.Z' \
84 + -f head='docs-release-vX.Y.Z' \
85 -f base='master' \
86 -f draft=true
87 </details>
@@ -158,11 +158,11 @@ Checklist:
158 # retrieve master ref for ipfs/kubo
159 gh api /repos/ipfs/kubo/git/ref/heads/master
160
161 - # create release-v0.17.0 ref for ipfs/kubo
161 + # create release-vX.Y.Z ref for ipfs/kubo
162 gh api \
163 --method POST \
164 /repos/ipfs/kubo/git/refs \
165 - -f ref='refs/heads/release-v0.17.0' \
165 + -f ref='refs/heads/release-vX.Y.Z' \
166 -f sha='a4da8f6cc768c3e2cce9c2677a792b2c237066aa'
167 </details>
168 - [ ] Bump the version in `version.go` in the `master` branch to `vX.(Y+1).0-dev` via a PR ([example](https://github.com/ipfs/kubo/pull/9305)).
@@ -171,7 +171,7 @@ Checklist:
171 git checkout -b bump-version
172
173 # replace the version in version.go
174 - sed -i 's/const CurrentVersionNumber = "0.17.0-dev"/const CurrentVersionNumber = "0.18.0-dev"/g' version.go
174 + sed -i 's/const CurrentVersionNumber = ".*"/const CurrentVersionNumber = "0.18.0-dev"/g' version.go
175
176 # commit the change
177 git add version.go
@@ -188,17 +188,19 @@ Checklist:
188 -f base='master'
189 </details>
190 - [ ] **Stage 2 - Release Candidate** - _if any [non-trivial](docs/releases.md#footnotes) changes need to be included in the release, return to this stage_
191 + - [ ] If it's not a first RC, add new commits to the `release-vX.Y.Z` branch from `master` using `git cherry-pick -x ...`
192 + - Note: `release-*` branches are protected. You can do all needed updates on a separated branch (e.g. `wip-release-vX.Y.Z`) and when everything is settled push to `release-vX.Y.Z`
193 - [ ] Bump the version in `version.go` in the `release-vX.Y.Z` branch to `vX.Y.Z-rcN`.
194 <details>
195 # checkout new branch
194 - git checkout -b bump-release-version
196 + git checkout -B bump-release-version
197
198 # replace the version in version.go
197 - sed -i 's/const CurrentVersionNumber = "0.17.0-dev"/const CurrentVersionNumber = "0.17.0-rc1"/g' version.go
199 + sed -i 's/const CurrentVersionNumber = ".*"/const CurrentVersionNumber = "X.Y.Z-rcN"/g' version.go
200
201 # commit the change
202 git add version.go
201 - git commit -m "chore: bump version to v0.17.0-rc1"
203 + git commit -m "chore: bump version to vX.Y.Z-rcN"
204
205 # push the change
206 git push origin bump-release-version
@@ -206,19 +208,17 @@ Checklist:
208 # open a PR
209 gh api /repos/ipfs/kubo/pulls \
210 --method POST \
209 - -f title='chore: bump version to v0.17.0-rc1' \
211 + -f title='chore: bump version to vX.Y.Z-rcN' \
212 -f head='bump-release-version' \
211 - -f base='release-v0.17.0'
213 + -f base='release-vX.Y.Z'
214 </details>
213 - - [ ] If applicable, add new commits to the `release-vX.Y.Z` branch from `master` using `git cherry-pick -x ...`
214 - - Note: `release-*` branches are protected. You can do all needed updates on a separated branch (e.g. `wip-release-vX.Y.Z`) and when everything is settled push to `release-vX.Y.Z`
215 - - [ ] Push the `release-vX.Y.Z` branch to GitHub (`git push origin release-vX.Y.Z`) and create a draft PR targetting `release` branch if it doesn't exist yet ([example](https://github.com/ipfs/kubo/pull/9306)).
215 + - [ ] If it's a first RC, create a draft PR targetting `release` branch if it doesn't exist yet ([example](https://github.com/ipfs/kubo/pull/9306)).
216 <details>
217 # open a PR
218 gh api /repos/ipfs/kubo/pulls \
219 --method POST \
220 - -f title='wip: release v0.17.0' \
221 - -f head='release-v0.17.0' \
220 + -f title='wip: release vX.Y.Z' \
221 + -f head='release-vX.Y.Z' \
222 -f base='release' \
223 -f draft=true
224 </details>
@@ -228,41 +228,43 @@ Checklist:
228 - [ ] ⚠️ Tag HEAD `release-vX.Y.Z` commit with `vX.Y.Z-rcN` (`git tag -s vX.Y.Z-rcN -m 'Pre-release X.Y.Z-rcn'`)
229 <details>
230 # create a signed tag
231 - git tag -s v0.17.0-rc1 -m 'Pre-release 0.17.0-rc1'
231 + git tag -s vX.Y.Z-rcN -m 'Pre-release X.Y.Z-rcN'
232 </details>
233 - - [ ] Run `git show vX.Y.Z-rc1` to ensure the tag is correct.
233 + - [ ] Run `git show vX.Y.Z-rcN` to ensure the tag is correct.
234 <details>
235 # show the signed tag
236 - git show v0.17.0-rc1
236 + git show vX.Y.Z-rcN
237 </details>
238 - - [ ] ⚠️ Push the `vX.Y.Z-rc1` tag to GitHub (`git push origin vX.Y.Z-rc1`; DO NOT USE `git push --tags` because it pushes all your local tags).
238 + - [ ] ⚠️ Push the `vX.Y.Z-rcN` tag to GitHub (`git push origin vX.Y.Z-rcN`; DO NOT USE `git push --tags` because it pushes all your local tags).
239 <details>
240 # show the signed tag
241 - git push origin v0.17.0-rc1
241 + git push origin vX.Y.Z-rcN
242 </details>
243 - [ ] Add artifacts to https://dist.ipfs.tech by making a PR against [ipfs/distributions](https://github.com/ipfs/distributions)
244 - [ ] Clone the `ipfs/distributions` repo locally.
245 - [ ] Create a new branch (`kubo-release-vX.Y.Z-rcn`) from `master`.
246 <details>
247 # checkout new branch
248 - git checkout -b kubo-release-v0.17.0-rc1
248 + git checkout -b kubo-release-vX.Y.Z-rcN
249 </details>
250 - [ ] Run `./dist.sh add-version kubo vX.Y.Z-rcN` to add the new version to the `versions` file ([instructions](https://github.com/ipfs/distributions#usage)).
251 - - `dist.sh` will print _WARNING: not marking pre-release kubo vX.Y.Z-rc1n as the current version._.
251 + - `dist.sh` will print _WARNING: not marking pre-release kubo vX.Y.Z-rcNn as the current version._.
252 <details>
253 # add new kubo version to dist
254 - ./dist.sh add-version kubo v0.17.0-rc1
254 + ./dist.sh add-version kubo vX.Y.Z-rcN
255 + git add dists/*/versions
256 + git commit -m "chore: add kubo vX.Y.Z-rcN"
257 </details>
258 - [ ] Push the `kubo-release-vX.Y.Z-rcn` branch to GitHub and create a PR from that branch ([example](https://github.com/ipfs/distributions/pull/760)).
259 <details>
260 # push the change
259 - git push origin kubo-release-v0.17.0-rc1
261 + git push origin kubo-release-vX.Y.Z-rcN
262
263 # open a PR
264 gh api /repos/ipfs/distributions/pulls \
265 --method POST \
264 - -f title='chore: add kubo v0.17.0-rc1' \
265 - -f head='kubo-release-v0.17.0-rc1' \
266 + -f title='chore: add kubo vX.Y.Z-rcN' \
267 + -f head='kubo-release-vX.Y.Z-rcN' \
268 -f base='master'
269 </details>
270 - [ ] Ask for a review from the release reviewer.
@@ -272,15 +274,15 @@ Checklist:
274 - `master` build will publish the artifacts to https://dist.ipfs.io in around 30 minutes
275 <details>
276 # get pull id
275 - id=$(gh api --method GET /repos/ipfs/distributions/pulls -f head='kubo-release-v0.17.0-rc1' --jq '.[0].id')
277 + id=$(gh api --method GET /repos/ipfs/distributions/pulls -f head='kubo-release-vX.Y.Z-rcN' --jq '.[0].node_id')
278
279 # enable automerge
278 - gh api graphql -f pull="${id}" -f query='mutation($pull: ID!) { enablePullRequestAutoMerge(input: {pullRequestId: $pull, mergeMethod: SQUASH}) {} }'
280 + gh api graphql -f pull="${id}" -f query='mutation($pull: ID!) { enablePullRequestAutoMerge(input: {pullRequestId: $pull, mergeMethod: SQUASH}) { pullRequest { autoMergeRequest { enabledAtenabledBy { login } } } } }'
281 </details>
282 - [ ] Ensure that the artifacts are available at https://dist.ipfs.io
283 <details>
284 # check if RC is available
283 - curl --retry 5 --no-progress-meter https://dist.ipfs.tech/kubo/versions | grep -q v0.17.0-rc1
285 + curl --retry 5 --no-progress-meter https://dist.ipfs.tech/kubo/versions | grep -q vX.Y.Z-rcN
286 echo $?
287 </details>
288 - [ ] Publish the RC to [the NPM package](https://www.npmjs.com/package/go-ipfs?activeTab=versions) by running https://github.com/ipfs/npm-go-ipfs/actions/workflows/main.yml (it happens automatically but it is safe to speed up the process and kick of a run manually)
@@ -304,10 +306,10 @@ Checklist:
306
307 # check logs for version
308 gh api /repos/ipfs/npm-go-ipfs/actions/jobs/9499319520/logs \
307 - --method GET | grep -q '0.17.0-rc1'
309 + --method GET | grep -q 'X.Y.Z-rcN'
310 echo $?
311 </details>
310 - - [ ] Cut a pre-release on [GitHub](https://github.com/ipfs/kubo/releases) ([instructions](https://docs.github.com/en/repositories/releasing-projects-on-github/managing-releases-in-a-repository#creating-a-release), [example](https://github.com/ipfs/kubo/releases/tag/v0.16.0-rc1))
312 + - [ ] Cut a pre-release on [GitHub](https://github.com/ipfs/kubo/releases) ([instructions](https://docs.github.com/en/repositories/releasing-projects-on-github/managing-releases-in-a-repository#creating-a-release), [example](https://github.com/ipfs/kubo/releases/tag/v0.16.0-rcN))
313 - Use `vX.Y.Z-rcN` as the tag.
314 - Link to the release issue in the description.
315 - Link to the relevant [changelog](https://github.com/ipfs/kubo/blob/master/docs/changelogs/) in the description.
@@ -316,16 +318,16 @@ Checklist:
318 # create a pre-release
319 body='See the related issue: https://github.com/ipfs/kubo/issues/9319
320
319 - And the draft changelog: [docs/changelogs/v0.17.md](https://github.com/ipfs/kubo/blob/release-v0.17.0/docs/changelogs/v0.17.md)'
321 + And the draft changelog: [docs/changelogs/v0.17.md](https://github.com/ipfs/kubo/blob/release-vX.Y.Z/docs/changelogs/v0.17.md)'
322 gh api /repos/ipfs/kubo/releases \
323 --method POST \
322 - -f tag_name='v0.17.0-rc1' \
323 - -f name='v0.17.0-rc1' \
324 + -f tag_name='vX.Y.Z-rcN' \
325 + -f name='vX.Y.Z-rcN' \
326 -f body="${body}" \
327 -F draft=false \
328 -F prerelease=true \
329 -F generate_release_notes=false \
328 - -F make_latest=false
330 + -f make_latest=false
331 </details>
332 - [ ] Synchronize release artifacts by running [sync-release-assets](https://github.com/ipfs/kubo/actions/workflows/sync-release-assets.yml) workflow.
333 <details>
@@ -335,7 +337,7 @@ Checklist:
337 -f ref='master'
338 </details>
339 - [ ] Announce the RC
338 - - [ ] Create a new post on [IPFS Discourse](https://discuss.ipfs.tech). ([example](https://discuss.ipfs.tech/t/kubo-v0-16-0-rc1-release-candidate-is-out/15248))
340 + - [ ] Create a new post on [IPFS Discourse](https://discuss.ipfs.tech). ([example](https://discuss.ipfs.tech/t/kubo-v0-16-0-rcN-release-candidate-is-out/15248))
341 - Use `Kubo vX.Y.Z-rcn Release Candidate is out!` as the title.
342 - Use `kubo` and `go-ipfs` as topics.
343 - Repeat the title as a heading (`##`) in the description.
@@ -364,28 +366,28 @@ Checklist:
366 - [ ] Ensure CI tests pass
367 <details>
368 # checkout new branch
367 - git checkout -b kubo-release-v0.17.0
369 + git checkout -b kubo-release-vX.Y.Z
370
371 # replace the go-ipfs version in package.json
370 - sed -i 's/"go-ipfs": ".*"/"go-ipfs": "0.17.0-rc1"/' package.json
372 + sed -i 's/"go-ipfs": ".*"/"go-ipfs": "X.Y.Z-rcN"/' package.json
373
374 # update package-lock.json
375 npm install
376
377 # commit the change
378 git add package.json package-lock.json
377 - git commit -m "chore: bump kubo version to v0.17.0-rc1"
379 + git commit -m "chore: bump kubo version to vX.Y.Z-rcN"
380
381 # push the change
380 - git push origin kubo-release-v0.17.0
382 + git push origin kubo-release-vX.Y.Z
383
384 # open a PR
385 gh api /repos/ipfs/ipfs-desktop/pulls \
386 --method POST \
385 - -f title='chore: bump kubo version to v0.17.0-rc1' \
386 - -f head='kubo-release-v0.17.0' \
387 + -f title='chore: bump kubo version to vX.Y.Z-rcN' \
388 + -f head='kubo-release-vX.Y.Z' \
389 -f base='main' \
388 - -f title='chore: bump kubo version to v0.17.0' \
390 + -f title='chore: bump kubo version to vX.Y.Z' \
391 -F draft=true
392 </details>
393 - [ ] [IPFS Companion](https://github.com/ipfs-shipyard/ipfs-companion)
@@ -395,7 +397,7 @@ Checklist:
397 - [ ] Install IPFS Companion from [vendor-specific store](https://github.com/ipfs/ipfs-companion/#readme).
398 - [ ] Check that the comunication between Kubo daemon and IPFS companion is working properly checking if the number of connected peers changes.
399 <details>
398 - curl --retry 5 --no-progress-meter --output kubo.tar.gz https://dist.ipfs.tech/kubo/v0.17.0-rc1/kubo_v0.17.0-rc1_darwin-arm64.tar.gz
400 + curl --retry 5 --no-progress-meter --output kubo.tar.gz https://dist.ipfs.tech/kubo/vX.Y.Z-rcN/kubo_vX.Y.Z-rcN_darwin-arm64.tar.gz
401 tar -xzvf kubo.tar.gz
402 export IPFS_PATH=$(mktemp -d)
403 ./kubo/ipfs init
@@ -403,7 +405,28 @@ Checklist:
405 </details>
406 - [ ] **Stage 5 - Release** - _ONLY FOR FINAL RELEASE_
407 - [ ] Prepare the `release` branch.
406 - - [ ] Bump the version in `version.go` in the `release-vX.Y.Z` branch to `vX.Y.Z`.
408 + - [ ] Bump the version in `version.go` in the `release-vX.Y.Z` branch to `X.Y.Z`.
409 + <details>
410 + # checkout new branch
411 + git checkout -b bump-version-vX.Y.Z
412 +
413 + # replace the version in version.go
414 + sed -i 's/const CurrentVersionNumber = ".*"/const CurrentVersionNumber = "X.Y.Z"/g' version.go
415 +
416 + # commit the change
417 + git add version.go
418 + git commit -m "chore: bump version to vX.Y.Z"
419 +
420 + # push the change
421 + git push origin bump-version-vX.Y.Z
422 +
423 + # open a PR
424 + gh api /repos/ipfs/kubo/pulls \
425 + --method POST \
426 + -f title='chore: bump version to vX.Y.Z' \
427 + -f head='bump-version-vX.Y.Z' \
428 + -f base='release-vX.Y.Z'
429 + </details>
430 - [ ] Update the [docs/changelogs/vX.Y.md](docs/changelogs) with the new commits and contributors.
431 - [ ] Run `./bin/mkreleaselog` twice to generate the changelog and copy the output.
432 - The first run of the script might be poluted with `git clone` output.
@@ -418,31 +441,93 @@ Checklist:
441 - Do not delete the `release-vX.Y.Z` branch.
442 - [ ] Checkout the `release` branch locally.
443 - Remember to pull the latest changes.
444 + <details>
445 + git checkout release
446 + git pull
447 + </details>
448 - [ ] Create a signed tag for the release.
449 - [ ] This is a dangerous operation, as it is difficult to reverse due to Go modules and automated Docker image publishing. Remember to verify the commands you intend to run for items marked with ⚠️ with the release reviewer.
450 - [ ] ⚠️ Tag HEAD `release` commit with `vX.Y.Z` (`git tag -s vX.Y.Z -m 'Release X.Y.Z'`)
451 + <details>
452 + # create a signed tag
453 + git tag -s vX.Y.Z -m 'Release X.Y.Z'
454 + </details>
455 - [ ] Run `git show vX.Y.Z` to ensure the tag is correct.
456 + <details>
457 + # show the signed tag
458 + git show vX.Y.Z
459 + </details>
460 - [ ] ⚠️ Push the `vX.Y.Z` tag to GitHub (`git push origin vX.Y.Z`; DO NOT USE `git push --tags` because it pushes all your local tags).
461 + <details>
462 + # show the signed tag
463 + git push origin vX.Y.Z
464 + </details>
465 - [ ] Publish the release.
466 - [ ] Wait for [Publish docker image](https://github.com/ipfs/kubo/actions/workflows/docker-image.yml) workflow run initiated by the tag push to finish.
467 - [ ] Add artifacts to https://dist.ipfs.tech by making a PR against [ipfs/distributions](https://github.com/ipfs/distributions)
468 - [ ] Clone the `ipfs/distributions` repo locally.
469 - [ ] Create a new branch (`kubo-release-vX.Y.Z`) from `master`.
470 + <details>
471 + # create a new branch
472 + git checkout -b kubo-release-vX.Y.Z
473 + </details>
474 - [ ] Run `./dist.sh add-version kubo vX.Y.Z` to add the new version to the `versions` file ([instructions](https://github.com/ipfs/distributions#usage)).
475 + <details>
476 + # add new kubo version to dist
477 + ./dist.sh add-version kubo vX.Y.Z
478 + git add dists/*/versions
479 + git commit -m "chore: add kubo vX.Y.Z"
480 + </details>
481 - [ ] Push the `kubo-release-vX.Y.Z` branch to GitHub and create a PR from that branch ([example](https://github.com/ipfs/distributions/pull/768)).
482 + <details>
483 + # push the change
484 + git push origin kubo-release-vX.Y.Z
485 +
486 + # open a PR
487 + gh api /repos/ipfs/distributions/pulls \
488 + --method POST \
489 + -f title='chore: add kubo vX.Y.Z' \
490 + -f head='kubo-release-vX.Y.Z' \
491 + -f base='master'
492 + </details>
493 - [ ] Ask for a review from the release reviewer.
494 - [ ] Enable auto-merge for the PR.
495 - PR build will build the artifacts and generate a diff in around 30 minutes
496 - PR will be merged automatically once the diff is approved
497 - `master` build will publish the artifacts to https://dist.ipfs.io in around 30 minutes
498 + <details>
499 + # get pull id
500 + id=$(gh api --method GET /repos/ipfs/distributions/pulls -f head='kubo-release-vX.Y.Z' --jq '.[0].node_id')
501 +
502 + # enable automerge
503 + gh api graphql -f pull="${id}" -f query='mutation($pull: ID!) { enablePullRequestAutoMerge(input: {pullRequestId: $pull, mergeMethod: SQUASH}) { pullRequest { autoMergeRequest { enabledBy { login } } } } }'
504 + </details>
505 - [ ] Ensure that the artifacts are available at https://dist.ipfs.io
506 - [ ] Publish the release to [the NPM package](https://www.npmjs.com/package/go-ipfs?activeTab=versions) by running https://github.com/ipfs/npm-go-ipfs/actions/workflows/main.yml (it happens automatically but it is safe to speed up the process and kick of a run manually)
507 - [ ] Cut the release on [GitHub](https://github.com/ipfs/kubo/releases) ([instructions](https://docs.github.com/en/repositories/releasing-projects-on-github/managing-releases-in-a-repository#creating-a-release), [example](https://github.com/ipfs/kubo/releases/tag/v0.16.0))
508 - Use `vX.Y.Z` as the tag.
442 - - Link to the release issue in the description.
509 - Copy the relevant [changelog](https://github.com/ipfs/kubo/blob/release/docs/changelogs/) into the release description.
444 - - Keep the release notes as trim as possible (e.g. remove top headers where possible, [example](https://github.com/ipfs/kubo/releases/tag/v0.15.0))
510 + - Keep the release notes as trim as possible (e.g. remove top headers where possible, [example](https://github.com/ipfs/kubo/releases/tag/v0.15.0))
511 + <details>
512 + # create the release
513 + body="$(curl --retry 5 --no-progress-meter https://raw.githubusercontent.com/ipfs/kubo/release-vX.Y.Z/docs/changelogs/v0.17.md)"
514 + gh api /repos/ipfs/kubo/releases \
515 + --method POST \
516 + -f tag_name='vX.Y.Z' \
517 + -f name='vX.Y.Z' \
518 + -f body="${body}" \
519 + -F draft=false \
520 + -F prerelease=false \
521 + -F generate_release_notes=false \
522 + -f make_latest=true
523 + </details>
524 - [ ] Synchronize release artifacts by running [sync-release-assets](https://github.com/ipfs/kubo/actions/workflows/sync-release-assets.yml) workflow.
525 + <details>
526 + # dispatch workflow
527 + gh api /repos/ipfs/kubo/actions/workflows/sync-release-assets.yml/dispatches \
528 + --method POST \
529 + -f ref='master'
530 + </details>
531 - [ ] TODO: https://github.com/protocol/bifrost-infra/issues/2184#issuecomment-1315279257
532 - [ ] Announce the release
533 - [ ] Add a link to the release to this release issue as a comment.
@@ -462,11 +547,19 @@ Checklist:
547 - [ ] Update the draft PR created for [IPFS Desktop](https://github.com/ipfs-shipyard/ipfs-desktop) to use the new release and mark it as ready for review.
548 - [ ] Update docs
549 - [ ] Run https://github.com/ipfs/ipfs-docs/actions/workflows/update-on-new-ipfs-tag.yml to generate a PR to the docs repo
550 + <details>
551 + # dispatch workflow
552 + gh api /repos/ipfs/ipfs-docs/actions/workflows/update-on-new-ipfs-tag.yml/dispatches \
553 + --method POST \
554 + -f ref='main'
555 + </details>
556 - [ ] Merge the auto-created PR in https://github.com/ipfs/ipfs-docs/pulls ([example](https://github.com/ipfs/ipfs-docs/pull/1263))
466 - - [ ] Get the blog post created and shared
557 + - [ ] Get the blog post created
558 - [ ] Submit a request for blog post creation using [the form](https://airtable.com/shrNH8YWole1xc70I).
468 - - Notify marketing in #shared-pl-marketing-requests about the blog entry request (since the form tends to go to spam; [example]([example](https://filecoinproject.slack.com/archives/C018EJ8LWH1/p1664885305374909))).
469 - - Don't mark this as done until the blog entry is live.
559 + - Title: Just released: Kubo X.Y.Z!
560 + - Link type: Release notes
561 + - URL: https://github.com/ipfs/kubo/releases/tag/vX.Y.Z
562 + - [ ] The post is live on https://blog.ipfs.io
563 - [ ] Share the blog post
564 - [ ] Twitter (request in Filecoin Slack channel #shared-pl-marketing-requests; [example](https://filecoinproject.slack.com/archives/C018EJ8LWH1/p1664903524843269?thread_ts=1664885305.374909&cid=C018EJ8LWH1))
565 - [ ] [Reddit](https://reddit.com/r/ipfs)