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)