Skip to content

Commit 97e498d

Browse files
authored
Update release docs (#8300)
1 parent 97e8ed9 commit 97e498d

File tree

2 files changed

+60
-51
lines changed

2 files changed

+60
-51
lines changed

.github/workflows/release.yml

+2-4
Original file line numberDiff line numberDiff line change
@@ -190,6 +190,7 @@ jobs:
190190
- [ ] C++ SDK zip: does it contain rerun_c for all platforms?
191191
- [ ] Populate the release with the changelog and a nice header video/picture, check `Set as latest release`, then click `Publish release`.
192192
- [ ] Update the [google colab notebooks](https://drive.google.com/drive/folders/0AC0q24MFKh3fUk9PVA) to install this version and re-execute the notebook.
193+
- [ ] Update landing's version of the web viewer (@jprochazk)
193194
194195
A few hours after the GitHub release is created, `regro-cf-autotick-bot` will create a
195196
[conda feedstock PR](https://github.com/conda-forge/rerun-sdk-feedstock/pulls).
@@ -360,10 +361,7 @@ jobs:
360361
cat <<EOF > comment-body.txt
361362
GitHub release draft: [$version](https://github.com/rerun-io/rerun/releases/tag/$version)
362363
363-
Do NOT create a GitHub release yet!
364-
365-
The release will be automatically un-drafted by the "Sync Release Assets" job, which will run automatically.
366-
EOF
364+
Add a description, changelog, and a nice header video/picture, then click 'Publish release'.
367365
368366
gh pr comment $pr_number --body-file comment-body.txt
369367

RELEASES.md

+58-47
Original file line numberDiff line numberDiff line change
@@ -48,74 +48,85 @@ If we are doing a patch release, we do a branch off of the latest release tag (e
4848

4949
# Release process
5050

51-
1. ### Check the root [`Cargo.toml`](/Cargo.toml) to see what version we are currently on.
51+
### 1. Check the root [`Cargo.toml`](/Cargo.toml) to see what version we are currently on.
5252

53-
2. ### Create a release branch.
53+
### 2. Create a release branch.
5454

55-
The name should be:
56-
- `release-0.x.y` for final releases and their release candidates.
57-
- `release-0.x.y-alpha.N` where `N` is incremented from the previous alpha,
58-
or defaulted to `1` if no previous alpha exists.
55+
The name should be:
56+
- `release-0.x.y` for final releases and their release candidates.
57+
- `release-0.x.y-alpha.N` where `N` is incremented from the previous alpha,
58+
or defaulted to `1` if no previous alpha exists.
5959

60-
Note that `release-0.x` is _invalid_. Always specify the `y`, even if it is `0`,
61-
e.g. `release-0.15.0` instead of `release-0.15`.
60+
Note that `release-0.x` is _invalid_. Always specify the `y`, even if it is `0`,
61+
e.g. `release-0.15.0` instead of `release-0.15`.
6262

63-
For minor release, the branch is typically created from `main`. For patch release, the branch is typically created
64-
from the previous release's tag.
63+
For minor release, the branch is typically created from `main`. For patch release, the branch is typically created
64+
from the previous release's tag.
6565

66-
![Image showing the branch create UI. You can find the `new branch` button at https://github.com/rerun-io/rerun/branches](https://github.com/rerun-io/rerun/assets/1665677/becaad03-9262-4476-b811-c23d40305aec)
66+
![Image showing the branch create UI. You can find the `new branch` button at https://github.com/rerun-io/rerun/branches](https://github.com/rerun-io/rerun/assets/1665677/becaad03-9262-4476-b811-c23d40305aec)
6767

68-
Note: you do not need to create a PR for this branch -- the release workflow will do that for you.
68+
Note: you do not need to create a PR for this branch -- the release workflow will do that for you.
6969

70-
3. ### If this is a patch release, cherry-pick commits for inclusion in the release into the branch.
70+
### 3. If this is a patch release, cherry-pick commits for inclusion in the release into the branch.
7171

72-
When done, run [`cargo semver-checks`](https://github.com/obi1kenobi/cargo-semver-checks) to check that we haven't introduced any semver breaking changes.
72+
When done, run [`cargo semver-checks`](https://github.com/obi1kenobi/cargo-semver-checks) to check that we haven't introduced any semver breaking changes.
7373

74-
:warning: Any commits between the last release's tag and the `docs-latest` branch should also be cherry-picked.
75-
Otherwise, these changes will be lost when `docs-latest` is updated.
74+
:warning: Any commits between the last release's tag and the `docs-latest` branch should also be cherry-picked,
75+
otherwise these changes will be lost when `docs-latest` is updated.
7676

77-
4. ### Update [`CHANGELOG.md`](/CHANGELOG.md) and clean ups.
77+
```
78+
# On branch `release-0.x.y`
79+
git fetch origin docs-latest:docs-latest
80+
git cherry-pick 0.x.z..docs-latest
81+
```
7882

79-
Update the change log. It should include:
80-
- A one-line summary of the release
81-
- A multi-line summary of the release
82-
- A gif showing a major new feature
83-
- Run `pip install GitPython && scripts/generate_changelog.py > new_changelog.md`
84-
- Edit PR descriptions/labels to improve the generated changelog
85-
- Copy-paste the results into `CHANGELOG.md`.
86-
- Editorialize the changelog if necessary
87-
- Make sure the changelog includes instructions for handling any breaking changes
83+
Where `z` is the previous patch number.
8884

89-
Remove the speculative link markers and the `attr.docs.unreleased` attributes in the .fbs files.
85+
Note that the `cherry-pick` will fail if there are no additional `docs-latest` commits to include,
86+
which is fine.
9087

91-
Once you're done, commit and push onto the release branch.
88+
### 4. Update [`CHANGELOG.md`](/CHANGELOG.md) and clean ups.
9289

93-
5. ### Run the [release workflow](https://github.com/rerun-io/rerun/actions/workflows/release.yml).
90+
Update the change log. It should include:
91+
- A one-line summary of the release
92+
- A multi-line summary of the release
93+
- A gif showing a major new feature
94+
- Run `pip install GitPython && scripts/generate_changelog.py > new_changelog.md`
95+
- Edit PR descriptions/labels to improve the generated changelog
96+
- Copy-paste the results into `CHANGELOG.md`.
97+
- Editorialize the changelog if necessary
98+
- Make sure the changelog includes instructions for handling any breaking changes
9499

95-
In the UI:
96-
- Set `Use workflow from` to the release branch you created in step (2).
97-
- Then choose one of the following values in the dropdown:
98-
- `alpha` if the branch name is `release-x.y.z-alpha.N`.
99-
This will create a one-off alpha release.
100+
Remove the speculative link markers and the `attr.docs.unreleased` attributes in the .fbs files.
100101

101-
- `rc` if the branch name is `release-x.y.z`.
102-
This will create a pull request for the release, and publish a release candidate.
102+
Once you're done, commit and push onto the release branch.
103103

104-
- `final` for the final public release
104+
### 5. Run the [release workflow](https://github.com/rerun-io/rerun/actions/workflows/release.yml).
105105

106-
![Image showing the Run workflow UI. It can be found at https://github.com/rerun-io/rerun/actions/workflows/release.yml](https://github.com/rerun-io/rerun/assets/1665677/6cdc8e7e-c0fc-4cf1-99cb-0749957b8328)
106+
In the UI:
107+
- Set `Use workflow from` to the release branch you created in step (2).
108+
- Then choose one of the following values in the dropdown:
109+
- `alpha` if the branch name is `release-x.y.z-alpha.N`.
110+
This will create a one-off alpha release.
107111

108-
6. ### Wait for the workflow to finish
112+
- `rc` if the branch name is `release-x.y.z`.
113+
This will create a pull request for the release, and publish a release candidate.
109114

110-
The PR description will contain next steps.
115+
- `final` for the final public release
111116

112-
Note: there are two separate workflows running -- the one building the release artifacts, and the one running the PR checks.
113-
You will have to wait for the [former](https://github.com/rerun-io/rerun/actions/workflows/release.yml) in order to get a link to the artifacts.
117+
![Image showing the Run workflow UI. It can be found at https://github.com/rerun-io/rerun/actions/workflows/release.yml](https://github.com/rerun-io/rerun/assets/1665677/6cdc8e7e-c0fc-4cf1-99cb-0749957b8328)
114118

115-
7. ### Merge changes to `main`
119+
### 6. Wait for the workflow to finish
116120

117-
For minor release, merge the release branch to `main`.
121+
The PR description will contain next steps.
118122

119-
For patch release, manually create a new PR from `main` and cherry-pick the required commits. This includes at least
120-
the `CHANLGE.log` update, plus any other changes made on the release branch that hasn't been cherry-picked in the
121-
first place.
123+
Note: there are two separate workflows running -- the one building the release artifacts, and the one running the PR checks.
124+
You will have to wait for the [former](https://github.com/rerun-io/rerun/actions/workflows/release.yml) in order to get a link to the artifacts.
125+
126+
### 7. Merge changes to `main`
127+
128+
For minor release, merge the release branch to `main`.
129+
130+
For patch release, manually create a new PR from `main` and cherry-pick the required commits. This includes at least
131+
the `CHANLGE.log` update, plus any other changes made on the release branch that hasn't been cherry-picked in the
132+
first place.

0 commit comments

Comments
 (0)