mirror of
https://github.com/ipfs/kubo.git
synced 2026-02-26 12:57:44 +08:00
docs: remove raw release issue template automation notes
This commit is contained in:
parent
345c58ff7a
commit
4d1d0b7eed
@ -45,46 +45,9 @@ Checklist:
|
||||
- [ ] Spell out all that we want updated - gateways, the bootstraper and the cluster/preload nodes
|
||||
- [ ] Mention @protocol/bifrost-team in the issue and let them know the expected date of the release
|
||||
- Issue link:
|
||||
<details>
|
||||
# create new issue in protocol/bifrost-infra
|
||||
gh api \
|
||||
--method POST \
|
||||
--raw-field "title=Rollout Kubo vX.Y.Z-RCN" \
|
||||
--raw-field "body=## What should be updated
|
||||
|
||||
- [ ] Gateways
|
||||
- [ ] Bootstrapper
|
||||
- [ ] Cluster/Preload nodes
|
||||
|
||||
## When
|
||||
|
||||
YYYY-MM-DD" \
|
||||
repos/protocol/bifrost-infra/issues
|
||||
</details>
|
||||
- [ ] Ensure that the `What's left for release` section has all the checkboxes checked. If that's not the case, discuss the open items with Kubo maintainers and update the release schedule accordingly.
|
||||
- [ ] Create `docs-release-vX.Y.Z` branch, open a draft PR and keep updating `docs/RELEASE_ISSUE_TEMPLATE.md` on that branch as you go.
|
||||
- [ ] Link it in the "Meta" section above.
|
||||
<details>
|
||||
# retrieve master ref for ipfs/kubo
|
||||
gh api /repos/ipfs/kubo/git/ref/heads/master
|
||||
|
||||
# create docs-release-vX.Y.Z ref for ipfs/kubo
|
||||
gh api \
|
||||
--method POST \
|
||||
/repos/ipfs/kubo/git/refs \
|
||||
-f ref='refs/heads/docs-release-vX.Y.Z' \
|
||||
-f sha='254d81a9d5595c3e637c7573d56125836d5f5055'
|
||||
|
||||
# create draft PR from docs-release-vX.Y.Z to master for ipfs/kubo
|
||||
# requires docs-release-vX.Y.Z to be modified
|
||||
gh api \
|
||||
--method POST \
|
||||
/repos/ipfs/kubo/pulls \
|
||||
-f title='docs: release vX.Y.Z' \
|
||||
-f head='docs-release-vX.Y.Z' \
|
||||
-f base='master' \
|
||||
-f draft=true
|
||||
</details>
|
||||
- [ ] Ensure you have a [GPG key generated](https://docs.github.com/en/authentication/managing-commit-signature-verification/generating-a-new-gpg-key) and [added to your GitHub account](https://docs.github.com/en/authentication/managing-commit-signature-verification/adding-a-gpg-key-to-your-github-account). This will enable you to created signed tags.
|
||||
- [ ] Ensure you have [admin access](https://discuss.ipfs.tech/g/admins) to [IPFS Discourse](https://discuss.ipfs.tech/). Admin access is required to globally pin posts and create banners. @2color might be able to assist you.
|
||||
- [ ] Access to [#bifrost](https://filecoinproject.slack.com/archives/C03MMMF606T) channel in FIL Slack might come in handy. Ask the release reviewer to invite you over.
|
||||
@ -102,241 +65,41 @@ Checklist:
|
||||
- [ ] **Stage 1 - Initial Preparations**
|
||||
- [ ] Upgrade to the latest patch release of Go that CircleCI has published (currently used version: `1.19.1`)
|
||||
- [ ] See the list here: https://hub.docker.com/r/cimg/go/tags
|
||||
<details>
|
||||
# retrieve the latest version of cimg/go available
|
||||
curl -s 'https://hub.docker.com/v2/repositories/cimg/go/tags' | jq -r '.results | map(.name) | map(select(. | test("^[0-9]+\\.[0-9]+\\.[0-9]+$"))) | .[0]'
|
||||
</details>
|
||||
- [ ] [ipfs/distributions](https://github.com/ipfs/distributions): bump [this version](https://github.com/ipfs/distributions/blob/master/.tool-versions#L2)
|
||||
<details>
|
||||
# checkout new branch
|
||||
git checkout -b bump-go-version
|
||||
|
||||
# replace the cimg/go version in .tool-versions in ipfs/distributions
|
||||
sed -i 's/golang [0-9]\+\.[0-9]\+\.[0-9]\+/golang 1.19.3/g' .tool-versions
|
||||
|
||||
# commit the change
|
||||
git add .tool-versions
|
||||
git commit -m "chore: bump go version to 1.19.3"
|
||||
|
||||
# push the change
|
||||
git push origin bump-go-version
|
||||
|
||||
# open a PR
|
||||
gh api /repos/ipfs/distributions/pulls \
|
||||
--method POST \
|
||||
-f title='chore: bump go version to 1.19.3' \
|
||||
-f head='bump-go-version' \
|
||||
-f base='master'
|
||||
</details>
|
||||
- [ ] [ipfs/kubo](https://github.com/ipfs/kubo): [example PR](https://github.com/ipfs/kubo/pull/8599)
|
||||
<details>
|
||||
# checkout new branch
|
||||
git checkout -b bump-go-version
|
||||
|
||||
# replace the cimg/go version in .circleci/main.yml in ipfs/kubo
|
||||
sed -i 's/cimg\/go:[0-9]\+\.[0-9]\+\.[0-9]\+/cimg\/go:1.19.3/g' .circleci/main.yml
|
||||
|
||||
# replace golang version in Dockerfile
|
||||
sed -i 's/golang:[0-9]\+\.[0-9]\+\.[0-9]\+/golang:1.19.3/g' Dockerfile
|
||||
|
||||
# commit the change
|
||||
git add .circleci/main.yml Dockerfile
|
||||
git commit -m "chore: bump go version to 1.19.3"
|
||||
|
||||
# push the change
|
||||
git push origin bump-go-version
|
||||
|
||||
# open a PR
|
||||
gh api /repos/ipfs/kubo/pulls \
|
||||
--method POST \
|
||||
-f title='chore: bump go version to 1.19.3' \
|
||||
-f head='bump-go-version' \
|
||||
-f base='master'
|
||||
</details>
|
||||
- [ ] [ipfs/ipfs-docs](https://github.com/ipfs/ipfs-docs): [example PR](https://github.com/ipfs/ipfs-docs/pull/1298) - only if the major version changed
|
||||
- [ ] Fork a new branch (`release-vX.Y.Z`) from `master`.
|
||||
<details>
|
||||
# retrieve master ref for ipfs/kubo
|
||||
gh api /repos/ipfs/kubo/git/ref/heads/master
|
||||
|
||||
# create release-vX.Y.Z ref for ipfs/kubo
|
||||
gh api \
|
||||
--method POST \
|
||||
/repos/ipfs/kubo/git/refs \
|
||||
-f ref='refs/heads/release-vX.Y.Z' \
|
||||
-f sha='a4da8f6cc768c3e2cce9c2677a792b2c237066aa'
|
||||
</details>
|
||||
- [ ] 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)).
|
||||
<details>
|
||||
# checkout new branch
|
||||
git checkout -b bump-version
|
||||
|
||||
# replace the version in version.go
|
||||
sed -i 's/const CurrentVersionNumber = ".*"/const CurrentVersionNumber = "0.18.0-dev"/g' version.go
|
||||
|
||||
# commit the change
|
||||
git add version.go
|
||||
git commit -m "chore: bump version to v0.18.0-dev"
|
||||
|
||||
# push the change
|
||||
git push origin bump-version
|
||||
|
||||
# open a PR
|
||||
gh api /repos/ipfs/kubo/pulls \
|
||||
--method POST \
|
||||
-f title='chore: bump version to v0.18.0-dev' \
|
||||
-f head='bump-version' \
|
||||
-f base='master'
|
||||
</details>
|
||||
- [ ] **Stage 2 - Release Candidate** - _if any [non-trivial](docs/releases.md#footnotes) changes need to be included in the release, return to this stage_
|
||||
- [ ] If it's not a first RC, add new commits to the `release-vX.Y.Z` branch from `master` using `git cherry-pick -x ...`
|
||||
- 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`
|
||||
- [ ] Bump the version in `version.go` in the `release-vX.Y.Z` branch to `vX.Y.Z-rcN`.
|
||||
<details>
|
||||
# checkout new branch
|
||||
git checkout -B bump-release-version
|
||||
|
||||
# replace the version in version.go
|
||||
sed -i 's/const CurrentVersionNumber = ".*"/const CurrentVersionNumber = "X.Y.Z-rcN"/g' version.go
|
||||
|
||||
# commit the change
|
||||
git add version.go
|
||||
git commit -m "chore: bump version to vX.Y.Z-rcN"
|
||||
|
||||
# push the change
|
||||
git push origin bump-release-version
|
||||
|
||||
# open a PR
|
||||
gh api /repos/ipfs/kubo/pulls \
|
||||
--method POST \
|
||||
-f title='chore: bump version to vX.Y.Z-rcN' \
|
||||
-f head='bump-release-version' \
|
||||
-f base='release-vX.Y.Z'
|
||||
</details>
|
||||
- [ ] 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)).
|
||||
<details>
|
||||
# open a PR
|
||||
gh api /repos/ipfs/kubo/pulls \
|
||||
--method POST \
|
||||
-f title='wip: release vX.Y.Z' \
|
||||
-f head='release-vX.Y.Z' \
|
||||
-f base='release' \
|
||||
-f draft=true
|
||||
</details>
|
||||
- [ ] Wait for CI to run and complete PR checks. All checks should pass.
|
||||
- [ ] Create a signed tag for the release candidate.
|
||||
- [ ] 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.
|
||||
- [ ] ⚠️ 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'`)
|
||||
<details>
|
||||
# create a signed tag
|
||||
git tag -s vX.Y.Z-rcN -m 'Pre-release X.Y.Z-rcN'
|
||||
</details>
|
||||
- [ ] Run `git show vX.Y.Z-rcN` to ensure the tag is correct.
|
||||
<details>
|
||||
# show the signed tag
|
||||
git show vX.Y.Z-rcN
|
||||
</details>
|
||||
- [ ] ⚠️ 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).
|
||||
<details>
|
||||
# show the signed tag
|
||||
git push origin vX.Y.Z-rcN
|
||||
</details>
|
||||
- [ ] Add artifacts to https://dist.ipfs.tech by making a PR against [ipfs/distributions](https://github.com/ipfs/distributions)
|
||||
- [ ] Clone the `ipfs/distributions` repo locally.
|
||||
- [ ] Create a new branch (`kubo-release-vX.Y.Z-rcn`) from `master`.
|
||||
<details>
|
||||
# checkout new branch
|
||||
git checkout -b kubo-release-vX.Y.Z-rcN
|
||||
</details>
|
||||
- [ ] 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)).
|
||||
- `dist.sh` will print _WARNING: not marking pre-release kubo vX.Y.Z-rcNn as the current version._.
|
||||
<details>
|
||||
# add new kubo version to dist
|
||||
./dist.sh add-version kubo vX.Y.Z-rcN
|
||||
git add dists/*/versions
|
||||
git commit -m "chore: add kubo vX.Y.Z-rcN"
|
||||
</details>
|
||||
- [ ] 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)).
|
||||
<details>
|
||||
# push the change
|
||||
git push origin kubo-release-vX.Y.Z-rcN
|
||||
|
||||
# open a PR
|
||||
gh api /repos/ipfs/distributions/pulls \
|
||||
--method POST \
|
||||
-f title='chore: add kubo vX.Y.Z-rcN' \
|
||||
-f head='kubo-release-vX.Y.Z-rcN' \
|
||||
-f base='master'
|
||||
</details>
|
||||
- [ ] Ask for a review from the release reviewer.
|
||||
- [ ] Enable auto-merge for the PR.
|
||||
- PR build will build the artifacts and generate a diff in around 30 minutes
|
||||
- PR will be merged automatically once the diff is approved
|
||||
- `master` build will publish the artifacts to https://dist.ipfs.io in around 30 minutes
|
||||
<details>
|
||||
# get pull id
|
||||
id=$(gh api --method GET /repos/ipfs/distributions/pulls -f head='kubo-release-vX.Y.Z-rcN' --jq '.[0].node_id')
|
||||
|
||||
# enable automerge
|
||||
gh api graphql -f pull="${id}" -f query='mutation($pull: ID!) { enablePullRequestAutoMerge(input: {pullRequestId: $pull, mergeMethod: SQUASH}) { pullRequest { autoMergeRequest { enabledAtenabledBy { login } } } } }'
|
||||
</details>
|
||||
- [ ] Ensure that the artifacts are available at https://dist.ipfs.io
|
||||
<details>
|
||||
# check if RC is available
|
||||
curl --retry 5 --no-progress-meter https://dist.ipfs.tech/kubo/versions | grep -q vX.Y.Z-rcN
|
||||
echo $?
|
||||
</details>
|
||||
- [ ] 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)
|
||||
<details>
|
||||
# dispatch workflow
|
||||
gh api /repos/ipfs/npm-go-ipfs/actions/workflows/main.yml/dispatches \
|
||||
--method POST \
|
||||
-f ref='master'
|
||||
|
||||
# get workflow run
|
||||
gh api /repos/ipfs/npm-go-ipfs/actions/workflows/main.yml/runs \
|
||||
--method GET \
|
||||
-f per_page='1' \
|
||||
--jq '.workflow_runs[0]'
|
||||
|
||||
# get workflow job
|
||||
gh api /repos/ipfs/npm-go-ipfs/actions/runs/3470515021/jobs \
|
||||
--method GET \
|
||||
-f per_page='1' \
|
||||
--jq '.jobs[0]'
|
||||
|
||||
# check logs for version
|
||||
gh api /repos/ipfs/npm-go-ipfs/actions/jobs/9499319520/logs \
|
||||
--method GET | grep -q 'X.Y.Z-rcN'
|
||||
echo $?
|
||||
</details>
|
||||
- [ ] 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/vX.Y.Z-rcN))
|
||||
- Use `vX.Y.Z-rcN` as the tag.
|
||||
- Link to the release issue in the description.
|
||||
- Link to the relevant [changelog](https://github.com/ipfs/kubo/blob/master/docs/changelogs/) in the description.
|
||||
- Check `This is a pre-release`.
|
||||
<details>
|
||||
# create a pre-release
|
||||
body='See the related issue: https://github.com/ipfs/kubo/issues/9319
|
||||
|
||||
And the draft changelog: [docs/changelogs/vX.Y.md](https://github.com/ipfs/kubo/blob/release-vX.Y.Z/docs/changelogs/vX.Y.md)'
|
||||
gh api /repos/ipfs/kubo/releases \
|
||||
--method POST \
|
||||
-f tag_name='vX.Y.Z-rcN' \
|
||||
-f name='vX.Y.Z-rcN' \
|
||||
-f body="${body}" \
|
||||
-F draft=false \
|
||||
-F prerelease=true \
|
||||
-F generate_release_notes=false \
|
||||
-f make_latest=false
|
||||
</details>
|
||||
- [ ] Synchronize release artifacts by running [sync-release-assets](https://github.com/ipfs/kubo/actions/workflows/sync-release-assets.yml) workflow.
|
||||
<details>
|
||||
# dispatch workflow
|
||||
gh api /repos/ipfs/kubo/actions/workflows/sync-release-assets.yml/dispatches \
|
||||
--method POST \
|
||||
-f ref='master'
|
||||
</details>
|
||||
- [ ] Announce the RC
|
||||
- [ ] 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))
|
||||
- Use `Kubo vX.Y.Z-rcn Release Candidate is out!` as the title.
|
||||
@ -365,69 +128,15 @@ Checklist:
|
||||
- [ ] Push to a branch ([example](https://github.com/ipfs/ipfs-desktop/pull/1826/commits/b0a23db31ce942b46d95965ee6fe770fb24d6bde))
|
||||
- [ ] Open a draft PR to track through the final release ([example](https://github.com/ipfs/ipfs-desktop/pull/1826))
|
||||
- [ ] Ensure CI tests pass
|
||||
<details>
|
||||
# checkout new branch
|
||||
git checkout -b kubo-release-vX.Y.Z
|
||||
|
||||
# replace the go-ipfs version in package.json
|
||||
sed -i 's/"go-ipfs": ".*"/"go-ipfs": "X.Y.Z-rcN"/' package.json
|
||||
|
||||
# update package-lock.json
|
||||
npm install
|
||||
|
||||
# commit the change
|
||||
git add package.json package-lock.json
|
||||
git commit -m "chore: bump kubo version to vX.Y.Z-rcN"
|
||||
|
||||
# push the change
|
||||
git push origin kubo-release-vX.Y.Z
|
||||
|
||||
# open a PR
|
||||
gh api /repos/ipfs/ipfs-desktop/pulls \
|
||||
--method POST \
|
||||
-f title='chore: bump kubo version to vX.Y.Z-rcN' \
|
||||
-f head='kubo-release-vX.Y.Z' \
|
||||
-f base='main' \
|
||||
-f title='chore: bump kubo version to vX.Y.Z' \
|
||||
-F draft=true
|
||||
</details>
|
||||
- [ ] [IPFS Companion](https://github.com/ipfs-shipyard/ipfs-companion)
|
||||
- [ ] Start kubo daemon of the version to release.
|
||||
- [ ] Start a fresh chromium or chrome instance using `chromium --user-data-dir=$(mktemp -d)` (macos `/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --user-data-dir=$(mktemp -d)`)
|
||||
- [ ] Start a fresh firefox instance using `firefox --profile $(mktemp -d)` (macos `/Applications/Firefox.app/Contents/MacOS/firefox --profile $(mktemp -d)`)
|
||||
- [ ] Install IPFS Companion from [vendor-specific store](https://github.com/ipfs/ipfs-companion/#readme).
|
||||
- [ ] Check that the comunication between Kubo daemon and IPFS companion is working properly checking if the number of connected peers changes.
|
||||
<details>
|
||||
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
|
||||
tar -xzvf kubo.tar.gz
|
||||
export IPFS_PATH=$(mktemp -d)
|
||||
./kubo/ipfs init
|
||||
./kubo/ipfs daemon &
|
||||
</details>
|
||||
- [ ] **Stage 5 - Release** - _ONLY FOR FINAL RELEASE_
|
||||
- [ ] Prepare the `release` branch.
|
||||
- [ ] Bump the version in `version.go` in the `release-vX.Y.Z` branch to `X.Y.Z`.
|
||||
<details>
|
||||
# checkout new branch
|
||||
git checkout -b bump-version-vX.Y.Z
|
||||
|
||||
# replace the version in version.go
|
||||
sed -i 's/const CurrentVersionNumber = ".*"/const CurrentVersionNumber = "X.Y.Z"/g' version.go
|
||||
|
||||
# commit the change
|
||||
git add version.go
|
||||
git commit -m "chore: bump version to vX.Y.Z"
|
||||
|
||||
# push the change
|
||||
git push origin bump-version-vX.Y.Z
|
||||
|
||||
# open a PR
|
||||
gh api /repos/ipfs/kubo/pulls \
|
||||
--method POST \
|
||||
-f title='chore: bump version to vX.Y.Z' \
|
||||
-f head='bump-version-vX.Y.Z' \
|
||||
-f base='release-vX.Y.Z'
|
||||
</details>
|
||||
- [ ] Update the [docs/changelogs/vX.Y.md](docs/changelogs) with the new commits and contributors.
|
||||
- [ ] Run `./bin/mkreleaselog` twice to generate the changelog and copy the output.
|
||||
- The first run of the script might be poluted with `git clone` output.
|
||||
@ -442,93 +151,30 @@ Checklist:
|
||||
- Do not delete the `release-vX.Y.Z` branch.
|
||||
- [ ] Checkout the `release` branch locally.
|
||||
- Remember to pull the latest changes.
|
||||
<details>
|
||||
git checkout release
|
||||
git pull
|
||||
</details>
|
||||
- [ ] Create a signed tag for the release.
|
||||
- [ ] 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.
|
||||
- [ ] ⚠️ Tag HEAD `release` commit with `vX.Y.Z` (`git tag -s vX.Y.Z -m 'Release X.Y.Z'`)
|
||||
<details>
|
||||
# create a signed tag
|
||||
git tag -s vX.Y.Z -m 'Release X.Y.Z'
|
||||
</details>
|
||||
- [ ] Run `git show vX.Y.Z` to ensure the tag is correct.
|
||||
<details>
|
||||
# show the signed tag
|
||||
git show vX.Y.Z
|
||||
</details>
|
||||
- [ ] ⚠️ 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).
|
||||
<details>
|
||||
# show the signed tag
|
||||
git push origin vX.Y.Z
|
||||
</details>
|
||||
- [ ] Publish the release.
|
||||
- [ ] Wait for [Publish docker image](https://github.com/ipfs/kubo/actions/workflows/docker-image.yml) workflow run initiated by the tag push to finish.
|
||||
- [ ] Add artifacts to https://dist.ipfs.tech by making a PR against [ipfs/distributions](https://github.com/ipfs/distributions)
|
||||
- [ ] Clone the `ipfs/distributions` repo locally.
|
||||
- [ ] Create a new branch (`kubo-release-vX.Y.Z`) from `master`.
|
||||
<details>
|
||||
# create a new branch
|
||||
git checkout -b kubo-release-vX.Y.Z
|
||||
</details>
|
||||
- [ ] 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)).
|
||||
<details>
|
||||
# add new kubo version to dist
|
||||
./dist.sh add-version kubo vX.Y.Z
|
||||
git add dists/*/versions
|
||||
git commit -m "chore: add kubo vX.Y.Z"
|
||||
</details>
|
||||
- [ ] 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)).
|
||||
<details>
|
||||
# push the change
|
||||
git push origin kubo-release-vX.Y.Z
|
||||
|
||||
# open a PR
|
||||
gh api /repos/ipfs/distributions/pulls \
|
||||
--method POST \
|
||||
-f title='chore: add kubo vX.Y.Z' \
|
||||
-f head='kubo-release-vX.Y.Z' \
|
||||
-f base='master'
|
||||
</details>
|
||||
- [ ] Ask for a review from the release reviewer.
|
||||
- [ ] Enable auto-merge for the PR.
|
||||
- PR build will build the artifacts and generate a diff in around 30 minutes
|
||||
- PR will be merged automatically once the diff is approved
|
||||
- `master` build will publish the artifacts to https://dist.ipfs.io in around 30 minutes
|
||||
<details>
|
||||
# get pull id
|
||||
id=$(gh api --method GET /repos/ipfs/distributions/pulls -f head='kubo-release-vX.Y.Z' --jq '.[0].node_id')
|
||||
|
||||
# enable automerge
|
||||
gh api graphql -f pull="${id}" -f query='mutation($pull: ID!) { enablePullRequestAutoMerge(input: {pullRequestId: $pull, mergeMethod: SQUASH}) { pullRequest { autoMergeRequest { enabledBy { login } } } } }'
|
||||
</details>
|
||||
- [ ] Ensure that the artifacts are available at https://dist.ipfs.io
|
||||
- [ ] 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)
|
||||
- [ ] 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.17.0))
|
||||
- Use `vX.Y.Z` as the tag.
|
||||
- Copy the relevant [changelog](https://github.com/ipfs/kubo/blob/release/docs/changelogs/) into the release description.
|
||||
- Keep the release notes as trim as possible (e.g. remove top headers where possible, [example](https://github.com/ipfs/kubo/releases/tag/v0.17.0))
|
||||
<details>
|
||||
# create the release
|
||||
body="$(curl --retry 5 --no-progress-meter https://raw.githubusercontent.com/ipfs/kubo/release-vX.Y.Z/docs/changelogs/vX.Y.md)"
|
||||
gh api /repos/ipfs/kubo/releases \
|
||||
--method POST \
|
||||
-f tag_name='vX.Y.Z' \
|
||||
-f name='vX.Y.Z' \
|
||||
-f body="${body}" \
|
||||
-F draft=false \
|
||||
-F prerelease=false \
|
||||
-F generate_release_notes=false \
|
||||
-f make_latest=true
|
||||
</details>
|
||||
- [ ] Synchronize release artifacts by running [sync-release-assets](https://github.com/ipfs/kubo/actions/workflows/sync-release-assets.yml) workflow.
|
||||
<details>
|
||||
# dispatch workflow
|
||||
gh api /repos/ipfs/kubo/actions/workflows/sync-release-assets.yml/dispatches \
|
||||
--method POST \
|
||||
-f ref='master'
|
||||
</details>
|
||||
- [ ] TODO: https://github.com/protocol/bifrost-infra/issues/2184#issuecomment-1315279257
|
||||
- [ ] Announce the release
|
||||
- [ ] Add a link to the release to this release issue as a comment.
|
||||
@ -548,12 +194,6 @@ Checklist:
|
||||
- [ ] 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.
|
||||
- [ ] Update docs
|
||||
- [ ] Run https://github.com/ipfs/ipfs-docs/actions/workflows/update-on-new-ipfs-tag.yml to generate a PR to the docs repo
|
||||
<details>
|
||||
# dispatch workflow
|
||||
gh api /repos/ipfs/ipfs-docs/actions/workflows/update-on-new-ipfs-tag.yml/dispatches \
|
||||
--method POST \
|
||||
-f ref='main'
|
||||
</details>
|
||||
- [ ] Merge the auto-created PR in https://github.com/ipfs/ipfs-docs/pulls ([example](https://github.com/ipfs/ipfs-docs/pull/1263))
|
||||
- [ ] Get the blog post created
|
||||
- [ ] Submit a request for blog post creation using [the form](https://airtable.com/shrNH8YWole1xc70I).
|
||||
|
||||
Loading…
Reference in New Issue
Block a user