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.
[x] (minor release) Fork a new branch (release/v1.30.0 or release/miner/v1.30.0) from master 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.
[x] bump the version(s) in build/version.go to v1.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.
[x] Run make gen && make docsgen-cli before committing changes.
[x] Update the CHANGELOG
[x] Change the UNRELEASED section header to UNRELEASED v1.30.0
[!IMPORTANT]
These PRs should be done in and target the release/v1.30.0 or release/miner/v1.30.0 branch.
Release PR
[x] 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.
[x] Run make gen && make docsgen-cli to generate documentation
[x] Create a draft PR with title build: release Lotus node|miner v1.30.0-rc1
Example gh cli command looking at merged PRs into master and sorted by title to group similar areas (where YYYY-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
[x] Update the PR with the commit(s) made to the CHANGELOG
[x] Mark the PR "ready for review" (non-draft)
[x] 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.
[x] 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.
[x] Run make gen && make docsgen-cli to generate documentation
[x] Create a draft PR with title build: release Lotus node|miner v1.30.0-rc2
Example gh cli command looking at merged PRs into master and sorted by title to group similar areas (where YYYY-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
[x] Update the PR with the commit(s) made to the CHANGELOG
[x] Mark the PR "ready for review" (non-draft)
[x] 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 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.
[ ] Run make gen && make docsgen-cli to generate documentation
[ ] Create a draft PR with title build: release Lotus node|miner v1.30.0-rc2
Example gh cli command looking at merged PRs into master and sorted by title to group similar areas (where YYYY-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
[ ] 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:
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
2️⃣ make these changes:
Release PR > Update the version string...
Update the version string in build/version.go to one NOT ending with '-rcX'
Release PR > Changelog prep...
Add "(network upgrade) Ensure the Mainnet upgrade epoch is specified."
Release PR > Create a draft PR...
Create a PR with title build: release Lotus node|miner v1.30.0
3️⃣ Remove this [!Note] and the related invisible comments.
[!IMPORTANT]
These PRs should be done in and target the release/v1.30.0 or release/miner/v1.30.0 branch.
Backport PR
[x] All explicitly tracked items from Dependencies for releases have landed
[ ] 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:
[ ] 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.
[ ] 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:
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 gh cli command looking at merged PRs into master and sorted by title to group similar areas (where YYYY-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
[ ] 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:
Post-Release
[ ] Open a PR against master cherry-picking the CHANGELOG commits from the release/v1.30.0 branch. Title it chore(release): cherry-pick v1.30.0 changelog back to master
😶🌫 Meta
🚢 Estimated shipping date
🪢 Dependencies for releases
rc1
rc2
rc3
Stable (non-RC)
✅ Release Checklist
Before RC1
docs(release): v1.30.0 release template improvements
for improving future releases.Post Release
step.release/v1.30.0
orrelease/miner/v1.30.0
) frommaster
and make any further release-related changes to this branch.master
branch Version string updatesbuild/version.go
tov1.30.1-dev
.NodeBuildVersion
), a miner release (MinerBuildVersion
), or both.make gen && make docsgen-cli
before committing changes.UNRELEASED
section header toUNRELEASED v1.30.0
UNRELEASED v1.30.0
section's content to be "See https://github.com/filecoin-project/lotus/blob/release/v1.30.0/CHANGELOG.md"UNRELEASED
header to top.build: update Lotus Node|Miner version to v1.30.1-dev in master
RCs
rc1
Release PR
build/version.go
to one ending with '-rc1'.NodeBuildVersion
), a miner release (MinerBuildVersion
), or both.make gen && make docsgen-cli
to generate documentationbuild: release Lotus node|miner v1.30.0-rc1
git log --oneline --graph vA.B.C..
, where A.B.C correspond to the previous release.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
🚢 Estimated shipping date
tablerc2
Backport PR
Dependencies for releases
have landedbuild: backport changes for node|miner v1.30.0-rcX
Release PR
build/version.go
to one ending with '-rc2'.NodeBuildVersion
), a miner release (MinerBuildVersion
), or both.make gen && make docsgen-cli
to generate documentationbuild: release Lotus node|miner v1.30.0-rc2
git log --oneline --graph vA.B.C..
, where A.B.C correspond to the previous release.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
🚢 Estimated shipping date
tablerc3
Backport PR
Dependencies for releases
have landedbuild: backport changes for node|miner v1.30.0-rcX
Release PR
build/version.go
to one ending with '-rc2'.NodeBuildVersion
), a miner release (MinerBuildVersion
), or both.make gen && make docsgen-cli
to generate documentationbuild: release Lotus node|miner v1.30.0-rc2
git log --oneline --graph vA.B.C..
, where A.B.C correspond to the previous release.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
🚢 Estimated shipping date
tableTesting
Stable (non-RC) Release
Backport PR
Dependencies for releases
have landedbuild: backport changes for node|miner v1.30.0-rcX
Release PR
build/version.go
to one NOT ending with '-rcX'.NodeBuildVersion
), a miner release (MinerBuildVersion
), or both.make gen && make docsgen-cli
to generate documentationbuild: release Lotus node|miner v1.30.0
git log --oneline --graph vA.B.C..
, where A.B.C correspond to the previous release.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
🚢 Estimated shipping date
tablePost-Release
master
cherry-picking the CHANGELOG commits from therelease/v1.30.0
branch. Title itchore(release): cherry-pick v1.30.0 changelog back to master
master
first before backporting to the release branch, the only changes should be CHANGELOG updates.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!