- Type: {{.Type}}
- Level: {{.Level}}
- Related network upgrade version: n/anv{{.NetworkUpgrade}}
- Scope, dates, and epochs: {{.NetworkUpgradeDiscussionLink}}
- Lotus changelog with Lotus specifics: {{.NetworkUpgradeChangelogEntryLink}}
Candidate | Expected Release Date | Release URL |
---|---|---|
RC1 | {{.RC1DateString}} | |
Stable (non-RC) | {{.StableDateString}} |
Note
- This is the set of changes that need to make it in for a given RC. This is effectively the set of changes to cherry-pick from master.
- They can be checked as done once they land in
master
. - They are presented here for quick reference, but backporting is tracked in each
Release Checklist
.
- To Be Added
- Make sure all Lotus dependencies are updated to the correct versions for the network upgrade
- Link to Lotus PR:
- Open PR against RELEASE_ISSUE_TEMPLATE.md with title
docs(release): v{{.Tag}} release template improvements
for improving future releases.- Link to PR:
- There likely aren't any changes at this point, but this can be opened with a small whitespace change so the PR is open and we can more easily hold the standard of making improvements incrementally since improvements are usually better done by collecting changes/notes along the way rather than just thinking about it at the end.
- This will get merged in a
Post Release
step.
- Fork a new
release/v{{.Tag}}
branch from the last stablerelease/vX.Y.x
and make any further release-related changes to this branch.
- Fork a new
release/miner/v{{.Tag}}
branch from the last stablerelease/miner/vX.Y.x
and make any further release-related changes to this branch.
- Fork a new
release/v{{.Tag}}
branch frommaster
and make any further release-related changes to this branch.
- Fork a new
release/miner/v{{.Tag}}
branch frommaster
and make any further release-related changes to this branch.
master
branch Version string updates- bump the version(s) in
build/version.go
tov{{.NextTag}}-dev
.
- bump the version(s) in
- Ensure to update `NodeBuildVersion`
- Ensure to update `MinerBuildVersion`
- Run
make gen && make docsgen-cli
before committing changes. - Update the CHANGELOG
- Change the
UNRELEASED
section header toUNRELEASED v{{.Tag}}
- Set the
UNRELEASED v{{.Tag}}
section's content to be "See https://github.com/filecoin-project/lotus/blob/release/v{{.Tag}}/CHANGELOG.md" - Add a new
UNRELEASED
header to top.
- Change the
- Create a PR with title
build: update Lotus {{.Type}} version to v{{.NextTag}}-dev in master
- Link to PR:
- Merge PR
Important
These PRs should be done in and target the release/v{{$.Tag}}
or release/miner/v{{$.Tag}}
branch.
- All explicitly tracked items from
Dependencies for releases
have landed
- Backported everything with the "backport" label
- Removed the "backport" label from all backported PRs (no "backport" issues)
- Create a PR with title
build: backport changes for {{$.Type}} v{{$.Tag}}{{$tagSuffix}}
- Link to PR:
- Merge PR
- Update the version string(s) in
build/version.go
to one {{if contains "rc" $rc}}ending with '-{{$rc}}'{{else}}*NOT ending with 'rcX'{{end}}.
- Ensure to update `NodeBuildVersion`
- Ensure to update `MinerBuildVersion`
- Run
make gen && make docsgen-cli
to generate documentation - Create a draft PR with title
build: release Lotus {{$.Type}} v{{$.Tag}}{{$tagSuffix}}
- Link to PR:
- Opening a PR will trigger a CI run that will build assets, create a draft GitHub release, and attach the assets.
- Changelog prep
- Go to the releases page and copy the auto-generated release notes into the CHANGELOG
- Perform editorial review (e.g., callout breaking changes, new features, FIPs, actor bundles)
- (network upgrade) Specify whether the Calibration or Mainnet upgrade epoch has been specified or not yet.
- Example where these weren't specified yet: PR #12169
- (network upgrade) Ensure the Mainnet upgrade epoch is specified.
- Ensure no missing content when spot checking git history
- Example command looking at git commits:
git log --oneline --graph vA.B.C..
, where A.B.C correspond to the previous release. - Example GitHub UI search looking at merged PRs into master: https://github.com/filecoin-project/lotus/pulls?q=is%3Apr+base%3Amaster+merged%3A%3EYYYY-MM-DD
- Example
gh
cli command looking at merged PRs into master and sorted by title to group similar areas (whereYYYY-MM-DD
is the start search date):gh pr list --repo filecoin-project/lotus --search "base:master merged:>YYYY-MM-DD" --json number,mergedAt,author,title | jq -r '.[] | [.number, .mergedAt, .author.login, .title] | @tsv' | sort -k4
- [ ] Update the PR with the commit(s) made to the CHANGELOG
- Example command looking at git commits:
- Mark the PR "ready for review" (non-draft)
- Merge the PR
- Merging the PR will trigger a CI run that will build assets, attach the assets to the GitHub release, publish the GitHub release, and create the corresponding git tag.
- Update
🚢 Estimated shipping date
table - Comment on this issue announcing the RC
- Link to issue comment:
Note
Link to any special steps for testing releases beyond ensuring CI is green. Steps can be inlined here or tracked elsewhere.
- Open a PR against
master
cherry-picking the CHANGELOG commits from therelease/v{{.Tag}}
branch. Title itchore(release): cherry-pick v{{.Tag}} changelog back to master
- Link to PR:
- Assuming we followed the process of merging changes into
master
first before backporting to the release branch, the only changes should be CHANGELOG updates.
- Finish updating/merging the RELEASE_ISSUE_TEMPLATE.md PR from
Before RC1
with any improvements determined from this latest release iteration.
See the final release notes!
Leave a comment in this ticket!