Skip to content

Latest commit

 

History

History
167 lines (146 loc) · 9.12 KB

RELEASE_ISSUE_TEMPLATE.md

File metadata and controls

167 lines (146 loc) · 9.12 KB

😶‍🌫 Meta

  • Type: {{.Type}}
  • Level: {{.Level}}
  • Related network upgrade version: n/anv{{.NetworkUpgrade}}
    • Scope, dates, and epochs: {{.NetworkUpgradeDiscussionLink}}
    • Lotus changelog with Lotus specifics: {{.NetworkUpgradeChangelogEntryLink}}

🚢 Estimated shipping date

Candidate Expected Release Date Release URL
RC1 {{.RC1DateString}}
Stable (non-RC) {{.StableDateString}}

🪢 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.

{{$rc}}

  • To Be Added

✅ Release Checklist

⬅️ Before RC1

  • Open PR against RELEASE_ISSUE_TEMPLATE.md with title docs(release): v{{.Tag}} release template improvements for 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 Release step.
  • Fork a new release/v{{.Tag}} branch from the last stable release/vX.Y.x and make any further release-related changes to this branch.
  • Fork a new release/miner/v{{.Tag}} branch from the last stable release/miner/vX.Y.x and make any further release-related changes to this branch.
  • Fork a new release/v{{.Tag}} branch from master and make any further release-related changes to this branch.
  • Fork a new release/miner/v{{.Tag}} branch from master and make any further release-related changes to this branch.
  • master branch Version string updates
    • bump the version(s) in build/version.go to v{{.NextTag}}-dev.
  - Ensure to update `NodeBuildVersion`
  - Ensure to update `MinerBuildVersion`
  • Run make gen && make docsgen-cli before committing changes.
  • Update the CHANGELOG
  • Create a PR with title build: update Lotus {{.Type}} version to v{{.NextTag}}-dev in master
    • Link to PR:
  • Merge PR

🏎️ RCs

{{$rc}}

Important

These PRs should be done in and target the release/v{{$.Tag}} or release/miner/v{{$.Tag}} branch.

Backport PR for {{$rc}}

  • All explicitly tracked items from Dependencies for releases have landed

Release PR for {{$rc}}

  • Update the version string(s) in build/version.go to one {{if contains "rc" $rc}}ending with '-{{$rc}}'{{else}}*NOT ending with 'rcX'{{end}}.
- Ensure to update `NodeBuildVersion`
- Ensure to update `MinerBuildVersion`
  • Run make gen && make docsgen-cli to generate documentation
  • Create a draft PR with title build: release Lotus {{$.Type}} v{{$.Tag}}{{$tagSuffix}}
    • 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
  • (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 for {{$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

❤️ Contributors

See the final release notes!

⁉️ Do you have questions?

Leave a comment in this ticket!