|
1 |
| -> Release Issue Template |
2 |
| -
|
3 | 1 | # Lotus Node|Miner X.Y.Z Release
|
4 | 2 |
|
5 | 3 | [//]: # (Below are non-visible steps intended for the issue creator)
|
6 | 4 | [//]: # (❗️ Complete the steps below as part of creating a release issue and mark them complete with an X or ✅ when done.)
|
7 | 5 | [//]: # ([ ] Start an issue with title "[WIP] Lotus Node|Miner vX.Y.Z Release" and adjust the title for whether it's a Node or Miner release.)
|
8 | 6 | [//]: # ([ ] Copy in the content of https://github.com/filecoin-project/lotus/blob/master/documentation/misc/RELEASE_ISSUE_TEMPLATE.md)
|
9 |
| -[//]: # ([ ] Find/Replace "X.Y.Z+1" with the actual values. This is intentionally done before the find/replace X.Y.Z step because that will also match.) |
10 |
| -[//]: # ([ ] Find/Replace "X.Y.Z" with the actual values.) |
| 7 | +[//]: # ([ ] Find/Replace "X.Y.(Z+1)" with the actual values (e.g., v1.30.1). |
| 8 | +[//]: # ([ ] Find/Replace "X.Y.Z" with the actual values. |
11 | 9 | [//]: # ([ ] If this isn't a release tied to a network upgrade, remove all items with "\(network upgrade\)")
|
12 | 10 | [//]: # ([ ] If this is a patch release, remove all items with "\(minor release\)")
|
13 | 11 | [//]: # ([ ] If this is a minor release, remove all items with "\(patch release\)")
|
14 |
| -[//]: # ([ ] Copy/paste the "Release Checklist > RCX" section to "Release Checklist > Stable \(non-RC\) Release" and apply the "diff" called out there.) |
15 |
| -[//]: # ([ ] Find/Replace "RCX" with "RC1".) |
| 12 | +[//]: # ([ ] Copy/paste the "Release Checklist > rcX" section to "Release Checklist > Stable \(non-RC\) Release" and apply the "diff" called out there.) |
| 13 | +[//]: # ([ ] Find/Replace "rcX" with "rc1".) |
16 | 14 | [//]: # ([ ] Adjust the "Meta" section values.)
|
17 | 15 | [//]: # ([ ] Apply the `tpm` label to the issue)
|
18 | 16 | [//]: # ([ ] Create the issue)
|
|
42 | 40 | > 3. They are presented here for quick reference, but backporting is tracked in each `Release Checklist`.
|
43 | 41 |
|
44 | 42 | [//]: # (Copy/paste this for each RC, and increment "X")
|
45 |
| -### RCX |
| 43 | +### rcX |
46 | 44 | - [ ] To Be Added
|
47 | 45 |
|
48 | 46 | ### Stable (non-RC)
|
|
57 | 55 | - Link to PR:
|
58 | 56 | - 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.
|
59 | 57 | - This will get merged in a `Post Release` step.
|
60 |
| -- [ ] (patch release) Fork a new branch (`release/vX.Y.Z` or `release/miner/vX.Y.Z`) from the last stable `release/vX.Y.Z` or `release/miner/vX.Y.Z` and make any further release-related changes to this branch. |
| 58 | +- [ ] (patch release) Fork a new branch (`release/vX.Y.Z` or `release/miner/vX.Y.Z`) from the last stable `release/vX.Y.x` or `release/miner/vX.Y.x` and make any further release-related changes to this branch. |
61 | 59 | - [ ] (minor release) Fork a new branch (`release/vX.Y.Z` or `release/miner/vX.Y.Z`) from `master` and make any further release-related changes to this branch.
|
62 |
| -- (minor release) `master` branch Version string updates |
| 60 | +- `master` branch Version string updates |
| 61 | + - Skip this set of steps if you are patching a previos minor release. |
63 | 62 | - [ ] bump the version(s) in `build/version.go` to `vX.Y.(Z+1)-dev`.
|
64 | 63 | - Ensure to update the appropriate version string based on whether you are creating a node release (`NodeBuildVersion`), a miner release (`MinerBuildVersion`), or both.
|
65 | 64 | - [ ] Run `make gen && make docsgen-cli` before committing changes.
|
66 |
| - - [ ] Remove the contents in the `Unreleased Changelog` section. |
67 |
| - - [ ] Create a PR with title `build: update Lotus Node|Miner version to vX.Y.Z+1-dev in master` |
| 65 | + - [ ] Update the CHANGELOG |
| 66 | + - [ ] Change the `UNRELEASED` section to `UNRELEASED vX.Y.Z` and set the section's content to be `See https://github.com/filecoin-project/lotus/blob/release/vX.Y.Z/CHANGELOG.md` |
| 67 | + - [ ] Add a new `UNRELEASED` header to top. |
| 68 | + - [ ] Create a PR with title `build: update Lotus Node|Miner version to vX.Y.(Z+1)-dev in master` |
68 | 69 | - Link to PR:
|
69 | 70 | - [ ] Merge PR
|
70 | 71 |
|
71 | 72 | ### RCs
|
72 | 73 |
|
73 |
| -[//]: # (Copy/paste this "RCX" section for each additional RC, and increment "X") |
74 |
| -#### RCX |
| 74 | +[//]: # (Copy/paste this whole "rcX" section for each additional RC, and increment "X") |
| 75 | +#### rcX |
75 | 76 | > [!IMPORTANT]
|
76 | 77 | > These PRs should be done in and target the `release/vX.Y.Z` or `release/miner/vX.Y.Z` branch.
|
77 | 78 |
|
|
93 | 94 | - [ ] Update the version string(s) in `build/version.go` to one ending with '-rcX'.
|
94 | 95 | - Ensure to update the appropriate version string based on whether you are creating a node release (`NodeBuildVersion`), a miner release (`MinerBuildVersion`), or both.
|
95 | 96 | - [ ] Run `make gen && make docsgen-cli` to generate documentation
|
96 |
| -- [ ] Create a PR with title `build: release Lotus node|miner vX.Y.Z-rcX` |
| 97 | +- [ ] Create a draft PR with title `build: release Lotus node|miner vX.Y.Z-rcX` |
97 | 98 | - Link to PR:
|
98 | 99 | - Opening a PR will trigger a CI run that will build assets, create a draft GitHub release, and attach the assets.
|
99 | 100 | - [ ] Changelog prep
|
100 |
| - - [ ] Go to the [releases page](https://github.com/filecoin-project/lotus/releases) and copy the auto generated changelog into your release PR and adjust the changelog accordingly. |
101 |
| - - [ ] Editorial review (e.g., callout breaking changes, new features, FIPs, actor bundles) |
| 101 | + - [ ] Go to the [releases page](https://github.com/filecoin-project/lotus/releases) and copy the auto-generated release notes into the CHANGELOG |
| 102 | + - [ ] Perform editorial review (e.g., callout breaking changes, new features, FIPs, actor bundles) |
102 | 103 | - [ ] (network upgrade) Specify whether the Calibration or Mainnet upgrade epoch has been specified or not yet.
|
103 | 104 | - Example where these weren't specified yet: [PR #12169](https://github.com/filecoin-project/lotus/pull/12169)
|
104 | 105 | - [ ] Ensure no missing content when spot checking git history
|
105 | 106 | - Example command looking at git commits: `git log --oneline --graph vA.B.C..`, where A.B.C correspond to the previous release.
|
106 | 107 | - 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
|
107 | 108 | - 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`
|
| 109 | + - [ ] Update the PR with the commit(s) made to the CHANGELOG |
| 110 | +- [ ] Mark the PR "ready for review" (non-draft) |
108 | 111 | - [ ] Merge the PR
|
109 |
| - - Opening 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. |
| 112 | + - 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. |
110 | 113 | - [ ] Update `🚢 Estimated shipping date` table
|
111 | 114 | - [ ] Comment on this issue announcing the RC
|
112 | 115 | - Link to issue comment:
|
113 | 116 |
|
114 |
| -### Testing |
| 117 | +**Testing** |
115 | 118 | > [!NOTE]
|
116 | 119 | > Link to any special steps for testing releases beyond ensuring CI is green. Steps can be inlined here or tracked elsewhere.
|
117 | 120 |
|
118 | 121 | ### Stable (non-RC) Release
|
119 | 122 |
|
120 |
| -[//]: # (This "NOTE" below with the "diff" to apply to the "RC copy/pasted content" is here to avoid the duplication in the template itself.) |
| 123 | +[//]: # (This "NOTE" below with the "diff" to apply to the "rcX copy/pasted content" is here to avoid the duplication in the template itself.) |
121 | 124 | [//]: # (This is done as a visible NOTE rather than a comment to make sure it's clear what needs to be added to this section.)
|
122 | 125 | [//]: # (These comments ^^^ can be removed once the NOTE steps below are completed.)
|
123 | 126 | > [!NOTE]
|
124 |
| -> Copy/paste in the `RCX` section above and then make these changes: |
125 |
| -> 1. Under "Release PR > Update the version string...", edit: |
126 |
| -> |
127 |
| -> Update the version string in `build/version.go` to one **NOT** ending with '-rcX' |
| 127 | +> 1️⃣ Copy/paste in the `rcX` section above to below this `[!Note]` |
128 | 128 | >
|
129 |
| -> 2. Under "Release PR > Changelog prep...", add: |
| 129 | +> 2️⃣ make these changes: |
| 130 | +> 1. Release PR > Update the version string... |
| 131 | +> * Update the version string in `build/version.go` to one **NOT** ending with '-rcX' |
| 132 | +> 2. Release PR > Changelog prep... |
| 133 | +> * Add `(network upgrade) Ensure the Mainnet upgrade epoch is specified.` |
| 134 | +> 3. Release PR > Update the version string... |
| 135 | +> * Create a PR with title `build: release vX.Y.Z` |
130 | 136 | >
|
131 |
| -> (network upgrade) Ensure the Mainnet upgrade epoch is specified. |
132 |
| -> |
133 |
| -> 3. Under "Release PR > Update the version string...", edit: |
134 |
| -> |
135 |
| -> Create a PR with title `build: release vX.Y.Z` |
136 |
| -> |
137 |
| -> 4. Remove this `[!Note]` and the related invisible comments. |
| 137 | +> 3️⃣ Remove this `[!Note]` and the related invisible comments. |
138 | 138 |
|
139 | 139 | ### Post-Release
|
140 | 140 |
|
|
0 commit comments