Lotus Node & Miner Release v1.30.0 (nv24)
BigLep opened this issue Β· 4 comments
πΆβπ« Meta
- Scope: Node & Miner
- Is this linked with a network upgrade, and thus mandatory?
- (network upgrade) Related network upgrade version: nv24
- (network upgrade) Scope, dates, and epochs: filecoin-project/community#74 (comment)
- (network upgrade) Lotus changelog with Lotus specifics: <link to section in https://github.com/filecoin-project/lotus/blob/master/CHANGELOG.md with more details>
π’ Estimated shipping date
πͺ’ Dependencies for releases
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
.
rc1
rc2
- #12556
- #12567
- #12572
- #12573
- #12574
- #12575
- #12576
- #12577
- #12578
- #12579
- #12580
- #12581
- #12585
- #12588
- #12589
- #12590
- #12592
- #12595
rc3
- #12597
- #12602
- #12608
- #12615
- #12620
- #12621
- #12627
- #12634
- #12637
- #12640
- #12641
- #12647
- #12648
- #12649
- #12650
- #12651
Stable (non-RC)
β Release Checklist
Before RC1
- (network upgrade) Make sure all Lotus dependencies are updated to the correct versions for the network upgrade
- Open PR against RELEASE_ISSUE_TEMPLATE.md with title
docs(release): v1.30.0 release template improvements
for improving future releases.- Link to PR: #12563
- 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.
- (minor release) Fork a new branch (
release/v1.30.0
orrelease/miner/v1.30.0
) frommaster
and make any further release-related changes to this branch. master
branch Version string updates- Skip this set of steps if you are patching a previous minor release.
- bump the version(s) in
build/version.go
tov1.30.1-dev
.- Ensure to update the appropriate version string based on whether you are creating a node release (
NodeBuildVersion
), a miner release (MinerBuildVersion
), or both.
- Ensure to update the appropriate version string based on whether you are creating a node release (
- Run
make gen && make docsgen-cli
before committing changes. - Update the CHANGELOG
- Change the
UNRELEASED
section header toUNRELEASED v1.30.0
- Set the
UNRELEASED v1.30.0
section's content to be "See https://github.com/filecoin-project/lotus/blob/release/v1.30.0/CHANGELOG.md" - Add a new
UNRELEASED
header to top.
- Change the
- Create a PR with title
build: update Lotus Node|Miner version to v1.30.1-dev in master
- Link to PR: #12562
- Merge PR
RCs
rc1
Important
These PRs should be done in and target the release/v1.30.0
or release/miner/v1.30.0
branch.
Release PR
- Update the version string(s) in
build/version.go
to one ending with '-rc1'.- Ensure to update the appropriate version string based on whether you are creating a node release (
NodeBuildVersion
), a miner release (MinerBuildVersion
), or both.
- Ensure to update the appropriate version string based on whether you are creating a node release (
- Run
make gen && make docsgen-cli
to generate documentation - Create a draft PR with title
build: release Lotus node|miner v1.30.0-rc1
- Link to PR: #12564
- 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
- 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
- Example command looking at git commits:
- Update the PR with the commit(s) made to the CHANGELOG
- 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: #12480 (comment)
rc2
Important
These PRs should be done in and target the release/v1.30.0
or release/miner/v1.30.0
branch.
Backport PR
- 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 node|miner v1.30.0-rcX
- Link to PR: #12598
- Merge PR
Release PR
- Update the version string(s) in
build/version.go
to one ending with '-rc2'.- Ensure to update the appropriate version string based on whether you are creating a node release (
NodeBuildVersion
), a miner release (MinerBuildVersion
), or both.
- Ensure to update the appropriate version string based on whether you are creating a node release (
- Run
make gen && make docsgen-cli
to generate documentation - Create a draft PR with title
build: release Lotus node|miner v1.30.0-rc2
- Link to PR: #12599
- 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
- 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
- Example command looking at git commits:
- Update the PR with the commit(s) made to the CHANGELOG
- 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: #12480 (comment)
rc3
Important
These PRs should be done in and target the release/v1.30.0
or release/miner/v1.30.0
branch.
Backport PR
- 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 node|miner v1.30.0-rcX
- Link to PR: #12598
- Merge PR
Release PR
- Update the version string(s) in
build/version.go
to one ending with '-rc3'.- Ensure to update the appropriate version string based on whether you are creating a node release (
NodeBuildVersion
), a miner release (MinerBuildVersion
), or both.
- Ensure to update the appropriate version string based on whether you are creating a node release (
- Run
make gen && make docsgen-cli
to generate documentation - Create a draft PR with title
build: release Lotus node|miner v1.30.0-rc3
- Link to PR: #12653
- 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
- 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
- Example command looking at git commits:
- Update the PR with the commit(s) made to the CHANGELOG
- 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: #12480 (comment)
Testing
Note
Link to any special steps for testing releases beyond ensuring CI is green. Steps can be inlined here or tracked elsewhere.
Stable (non-RC) Release
Important
These PRs should be done in and target the release/v1.30.0
or release/miner/v1.30.0
branch.
Backport PR
- 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 node|miner v1.30.0-rcX
- Link to PR: #12678
- Merge PR
Release PR
- Update the version string(s) in
build/version.go
to one NOT ending with '-rcX'.- Ensure to update the appropriate version string based on whether you are creating a node release (
NodeBuildVersion
), a miner release (MinerBuildVersion
), or both.
- Ensure to update the appropriate version string based on whether you are creating a node release (
- Run
make gen && make docsgen-cli
to generate documentation - Create a draft PR with title
build: release Lotus node|miner v1.30.0
- Link to PR: #12678
- 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) 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
- Example command looking at git commits:
- Update the PR with the commit(s) made to the CHANGELOG
- 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 release
- Link to issue comment: #12480 (comment)
Post-Release
- Open a PR against
master
cherry-picking the CHANGELOG commits from therelease/v1.30.0
branch. Title itchore(release): cherry-pick v1.30.0 changelog back to master
- Link to PR: #12683
- 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.
β€οΈ Contributors
See the final release notes!
βοΈ Do you have questions?
Leave a comment in this ticket!
2024-10-08
The first release candidates, v1.30.0-rc1 was shipped:
The second release candidates, v1.30.0-rc2 has been shipped with upgrade epochs for the Calibration network set:
The third release candidates, v1.30.0-rc3 has been shipped with - this release adds a couple of smaller fixes found during testing of rc2. This release candidate does NOT set the mainnet network upgrade epoch.
The final release, v1.30.0 has been shipped - this release sets the mainnet network upgrade epoch to 4461240
, corresponding to 2024-11-20T23:00:00Z
.