filecoin-project/lotus

Lotus Release v1.29.2

rjan90 opened this issue Β· 6 comments

πŸ˜Άβ€πŸŒ« Meta

  • Scope: Node PATCH
  • Is this linked with a network upgrade, and thus mandatory? No

🚒 Estimated shipping date

Candidate Date Release URL
rc1 Week of 2024-09-23 https://github.com/filecoin-project/lotus/releases/tag/v1.29.2-rc1
Stable (non-RC) Week of 2024-10-03 https://github.com/filecoin-project/lotus/releases/tag/v1.29.2

πŸͺ’ Dependencies for releases

Note

  1. 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.
  2. They can be checked as done once they land in master.
  3. They are presented here for quick reference, but backporting is tracked in each Release Checklist.

rc1

Stable (non-RC)

βœ… Release Checklist

Before RC1

  • Open PR against RELEASE_ISSUE_TEMPLATE.md with title docs(release): v1.29.2 release template improvements for improving future releases.
    • Link to PR: #12479
    • 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.
  • (patch release) Fork a new branch (release/v1.29.2 or release/miner/v1.29.2) from the last stable release/vX.Y.x or release/miner/vX.Y.x 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 previos minor release.
    • bump the version(s) in build/version.go to v1.29.3-dev.
      • 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 before committing changes.
    • Update the CHANGELOG
      • Change the UNRELEASED section to UNRELEASED v1.29.2 and set the section's content to be See https://github.com/filecoin-project/lotus/blob/release/v1.29.2/CHANGELOG.md
      • Add a new UNRELEASED header to top.
    • Create a PR with title build: update Lotus Node version to v1.29.3-dev in master
    • Merge PR

RCs

rc1

Important

These PRs should be done in and target the release/v1.29.2 or release/miner/v1.29.2 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.29.2-rc1
  • Merge PR

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.
  • Run make gen && make docsgen-cli to generate documentation
  • Create a draft PR with title build: release Lotus node|miner v1.29.2-rc1
    • Link to PR: #12515
    • 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)
    • 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 (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

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

Backport PR

Release PR

  • Update the version string in build/version.go to one NOT 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.
  • Run make gen && make docsgen-cli to generate documentation
  • Create a PR with title build: release Lotus node v1.29.2
    • Link to PR: #12541
    • 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)
    • 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 (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

Testing

Note

Link to any special steps for testing releases beyond ensuring CI is green. Steps can be inlined here or tracked elsewhere.

Post-Release

❀️ Contributors

See the final release notes!

⁉️ Do you have questions?

Leave a comment in this ticket!

I've renamed this to v1.29.2 since we're pushing a v1.29.1 imminently as part of resolving #12467

@rjan90 : FYI I populated this with the latest changes from https://github.com/filecoin-project/lotus/blob/master/documentation/misc/RELEASE_ISSUE_TEMPLATE.md and I started the release template improvements PR: #12479

@rjan90 : I'm not sure if you were still planning to get a release this week, but it seems likely to me that the "open for RC1" items won't land this week:

  • #12478 - Still in code review process and @rvagg is out starting 2024-09-20. Maybe it gets done 2024-09-19, but if not it will need to wait or have Aarsh jump in to help.
  • #12428 - Needs proper review per here, but I assume with colos it won't happen this week.

@rjan90 : I'm not sure if you were still planning to get a release this week, but it seems likely to me that the "open for RC1" items won't land this week:

Yes, it seems likely that these will only be able to land in the Week of 2024-09-23. I have adjusted the Estimated Shipping Dates table for RC1 accordingly.

2024-09-27

The first release candidate for v1.29.2 has now been shipped: https://github.com/filecoin-project/lotus/releases/tag/v1.29.2-rc1

2024-10-03

The stable release has now been shipped: https://github.com/filecoin-project/lotus/releases/tag/v1.29.2