Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Lotus Node and Miner Release v1.31.0 (nv24++) #12344

Open
31 of 71 tasks
BigLep opened this issue Aug 5, 2024 · 5 comments
Open
31 of 71 tasks

Lotus Node and Miner Release v1.31.0 (nv24++) #12344

BigLep opened this issue Aug 5, 2024 · 5 comments
Assignees
Labels

Comments

@BigLep
Copy link
Member

BigLep commented Aug 5, 2024

Note

This release is nv24++ meaning it will have the minimum functionality needed for nv24 (i.e., what is in v1.30.0), but also some additional functionality that is higher risk that we don't want to obligate users to upgrade to during a network upgrade.

😶‍🌫 Meta

🚢 Estimated shipping date

Candidate Date Release URL
RC1 2024-11-12 https://github.com/filecoin-project/lotus/releases/tag/v1.31.0-rc1 https://github.com/filecoin-project/lotus/releases/tag/miner%2Fv1.31.0-rc1
RC2 Week of 2024-11-18
Stable (non-RC) Week of 2024-11-25 (estimate)

🪢 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

rc2

Stable (non-RC)

  • To Be Added

✅ Release Checklist

Before RC1

  • (network upgrade) 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.31.0 release template improvements for improving future releases.
    • Link to PR: docs(release): v1.30.0 and v1.31.0 release template improvements #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.31.0 or release/miner/v1.31.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.
    • bump the version(s) in build/version.go to v1.31.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.
    • Run make gen && make docsgen-cli before committing changes.
    • Update the CHANGELOG
    • Create a PR with title build: update Lotus Node version to v1.31.1-dev in master
    • Merge PR

RCs

rc1

Important

These PRs should be done in and target the release/v1.31.0 or release/miner/v1.31.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 v1.31.0-rc1
    • Link to PR:
  • 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 v1.31.0-rc1
  • 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 (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.

rc2

Important

These PRs should be done in and target the release/v1.31.0 or release/miner/v1.31.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 and miner v1.31.0-rc2
    • Link to PR:
  • Merge PR

Release PR

  • Update the version string(s) in build/version.go to one ending with '-rc12.
    • 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 and miner v1.31.0-rc2
    • 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 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

Important

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

Release PR

  • Update the version string(s) 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 draft PR with title build: release Lotus node v1.31.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 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.

Post-Release

❤️ Contributors

See the final release notes!

⁉️ Do you have questions?

Leave a comment in this ticket!

@github-project-automation github-project-automation bot moved this to 🥞 Todo in nv24 Track Board Aug 5, 2024
@BigLep BigLep pinned this issue Aug 5, 2024
@rjan90 rjan90 moved this to 🐱Todo in FilOz Aug 27, 2024
@BigLep BigLep changed the title Lotus Release v1.30.0 Lotus Node Release v1.3x.0 for ChainIndexer Sep 16, 2024
@BigLep BigLep added the TPM label Sep 17, 2024
@BigLep BigLep changed the title Lotus Node Release v1.3x.0 for ChainIndexer Lotus Node Release v1.31.0 (nv24++) Sep 17, 2024
@BigLep
Copy link
Member Author

BigLep commented Sep 17, 2024

The issue description was updated to make clear that this will be a parallel release to v1.30.0 and that it will include functionality beyond what is required for nv24.

@BigLep
Copy link
Member Author

BigLep commented Oct 30, 2024

@rjan90 : FYI I populated the release issue with the template.

@rjan90 rjan90 moved this from 🐱 Todo to ⌨️ In Progress in FilOz Nov 11, 2024
@rjan90 rjan90 moved this from 🥞 Todo to 🏃 In Progress in nv24 Track Board Nov 11, 2024
@BigLep
Copy link
Member Author

BigLep commented Nov 18, 2024

@BigLep BigLep changed the title Lotus Node Release v1.31.0 (nv24++) Lotus Node and Miner Release v1.31.0 (nv24++) Nov 18, 2024
@BigLep
Copy link
Member Author

BigLep commented Nov 18, 2024

@rjan90:

  1. I update the issue title and description to make clear this is a Node and Miner release.
  2. I added an rc2 section to the description.
  3. I know we talked about it, but I'm completely forgetting why we decided we need a miner release as well. Do you mind adding a comment so it's documented (and to help me remember). Thanks - sorry I'm not self-sufficient on this one.

@rjan90
Copy link
Contributor

rjan90 commented Nov 19, 2024

Thanks for catching the things I missed, and updating this issue 🙏

I know we talked about it, but I'm completely forgetting why we decided we need a miner release as well. Do you mind adding a comment so it's documented (and to help me remember). Thanks - sorry I'm not self-sufficient on this one.

We decided to do a lotus-miner release as well release to allow thorough testing of PR #12690. This PR modifies the mining loop, which is considered highly sensitive code and requires careful validation.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
Status: ⌨️ In Progress
Status: 🏃 In Progress
Development

No branches or pull requests

2 participants