-
Notifications
You must be signed in to change notification settings - Fork 1.4k
Description
πΆβπ« Meta
- Type: Node and Miner
- Level: minor
- Related network upgrade version: nv28
- Scope, dates, and epochs: nv28 Network Upgrade PlanningΒ core-devs#205
- Lotus changelog with Lotus specifics:
π’ Estimated shipping date
| Candidate | Expected Release Date | Release URL |
|---|---|---|
| RC1 | TBD | |
| Stable (non-RC) | TBD |
πͺ’ 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
- Revert the feature-flag: fix(basefee)!: add fip-0115 feature flag (
LOTUS_FEES_FIP0115HEIGHT)Β #13550
rcX
- To Be Added
Stable Release (non-RC)
- To Be Added
β Release Checklist
β¬ οΈ Before RC1
Section
- 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): v1.36.0 release template improvementsfor 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 Releasestep.
- Fork a new
release/v1.36.0branch frommasterand make any further release-related changes to this branch. - Fork a new
release/miner/v1.36.0branch frommasterand make any further release-related changes to this branch. masterbranch Version string updates- bump the version(s) in
build/version.gotov1.36.1-dev.- Ensure to update
NodeBuildVersion - Ensure to update
MinerBuildVersion
- Ensure to update
- Run
make gen && make docsgen-clibefore committing changes. - Update the CHANGELOG
- Change the
UNRELEASEDsection header toUNRELEASED v1.36.0 - Set the
UNRELEASED v1.36.0section's content to be "See https://github.com/filecoin-project/lotus/blob/release/v1.36.0/CHANGELOG.md" - Add a new
UNRELEASEDheader to top.
- Change the
- Create a PR with title
build: update Lotus Node and Miner version to v1.36.1-dev in master- Link to PR:
- Merge PR
- bump the version(s) in
ποΈ RCs
rc1
Section
[!IMPORTANT]
These PRs should be done in and target therelease/v1.36.0orrelease/miner/v1.36.0branch.
Backport PR for rc1
- All explicitly tracked items from
Dependencies for releaseshave landed
Release PR for rc1
- Update the version string(s) in
build/version.goto one ending with '-rc1'.- Ensure to update
NodeBuildVersion - Ensure to update
MinerBuildVersion
- Ensure to update
- Run
make gen && make docsgen-clito generate documentation - Create a draft PR with title
build: release Lotus Node and Miner v1.36.0-rc1- 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
- 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
ghcli command looking at merged PRs into master and sorted by title to group similar areas (whereYYYY-MM-DDis 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 datetable - Comment on this issue announcing the release:
- Link to issue comment:
Testing for rc1
[!NOTE]
Link to any special steps for testing releases beyond ensuring CI is green. Steps can be inlined here or tracked elsewhere.
rcX
Section
[!IMPORTANT]
These PRs should be done in and target therelease/v1.36.0orrelease/miner/v1.36.0branch.
Backport PR for rcX
- All explicitly tracked items from
Dependencies for releaseshave landed - Backported everything with the "backport" label
- Create a PR with title
build: backport changes for Node and Miner v1.36.0-rcX- Link to PR:
- Merge PR
- Remove the "backport" label from all backported PRs (no "backport" issues)
Release PR for rcX
- Update the version string(s) in
build/version.goto one ending with '-rcX'.- Ensure to update
NodeBuildVersion - Ensure to update
MinerBuildVersion
- Ensure to update
- Run
make gen && make docsgen-clito generate documentation - Create a draft PR with title
build: release Lotus Node and Miner v1.36.0-rcX- 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
- 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
ghcli command looking at merged PRs into master and sorted by title to group similar areas (whereYYYY-MM-DDis 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 datetable - Comment on this issue announcing the release:
- Link to issue comment:
Testing for rcX
[!NOTE]
Link to any special steps for testing releases beyond ensuring CI is green. Steps can be inlined here or tracked elsewhere.
Stable Release (non-RC)
Section
[!IMPORTANT]
These PRs should be done in and target therelease/v1.36.0orrelease/miner/v1.36.0branch.
Backport PR for Stable Release (non-RC)
- All explicitly tracked items from
Dependencies for releaseshave landed - Backported everything with the "backport" label
- Create a PR with title
build: backport changes for Node and Miner v1.36.0- Link to PR:
- Merge PR
- Remove the "backport" label from all backported PRs (no "backport" issues)
Release PR for Stable Release (non-RC)
- Update the version string(s) in
build/version.goto one NOT ending with 'rcX'.- Ensure to update
NodeBuildVersion - Ensure to update
MinerBuildVersion
- Ensure to update
- Run
make gen && make docsgen-clito generate documentation - Create a draft PR with title
build: release Lotus Node and Miner v1.36.0- 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) 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
ghcli command looking at merged PRs into master and sorted by title to group similar areas (whereYYYY-MM-DDis 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 datetable - Comment on this issue announcing the release:
- Link to issue comment:
Testing for Stable Release (non-RC)
[!NOTE]
Link to any special steps for testing releases beyond ensuring CI is green. Steps can be inlined here or tracked elsewhere.
β‘ Post-Release
Section
- Open a PR against
mastercherry-picking the CHANGELOG commits from therelease/v1.36.0branch. Title itchore(release): cherry-pick v1.36.0 changelog back to master- Link to PR:
- Assuming we followed the process of merging changes into
masterfirst before backporting to the release branch, the only changes should be CHANGELOG updates.
- Finish updating/merging the RELEASE_ISSUE_TEMPLATE.md PR from
Before RC1with any improvements determined from this latest release iteration. - Review and approve the auto-generated PR in lotus-docs that updates the latest Lotus version information.
- Review and approve the auto-generated PR in homebrew-lotus that updates the homebrew to the latest Lotus version.
- Stage any security advisories for future publishing per policy.
β€οΈ Contributors
See the final release notes!
βοΈ Do you have questions?
Leave a comment in this ticket!