Improve release checklist (#7322)
* See https://github.com/emilk/egui/issues/7321
This commit is contained in:
parent
087e56abae
commit
8d2f39fc08
36
RELEASES.md
36
RELEASES.md
|
|
@ -22,8 +22,11 @@ We don't update the MSRV in a patch release, unless we really, really need to.
|
|||
|
||||
|
||||
# Release process
|
||||
* [ ] copy this checklist to a new egui issue, called "Release 0.xx.y"
|
||||
* [ ] close all issues in the milestone for this release
|
||||
|
||||
## Patch release
|
||||
* [ ] Make a branch off of the latest release
|
||||
* [ ] make a branch off of the latest release
|
||||
* [ ] cherry-pick what you want to release
|
||||
* [ ] run `cargo semver-checks`
|
||||
|
||||
|
|
@ -49,7 +52,10 @@ We don't update the MSRV in a patch release, unless we really, really need to.
|
|||
* [ ] run `scripts/generate_example_screenshots.sh` if needed
|
||||
* [ ] write a short release note that fits in a bluesky post
|
||||
* [ ] record gif for `CHANGELOG.md` release note (and later bluesky post)
|
||||
* [ ] update changelogs using `scripts/generate_changelog.py --version 0.x.0 --write`
|
||||
* [ ] update changelogs
|
||||
* [ ] run `scripts/generate_changelog.py --version 0.x.0 --write`
|
||||
* [ ] read changelogs and clean them up if needed
|
||||
* [ ] write a good intro with highlight for the main changelog
|
||||
* [ ] bump version numbers in workspace `Cargo.toml`
|
||||
|
||||
## Actual release
|
||||
|
|
@ -57,7 +63,7 @@ I usually do this all on the `main` branch, but doing it in a release branch is
|
|||
|
||||
* [ ] Run `typos`
|
||||
* [ ] `git commit -m 'Release 0.x.0 - <release title>'`
|
||||
* [ ] `cargo publish` (see below)
|
||||
* [ ] Publish the crates by running `scripts/publish_crates.sh`
|
||||
* [ ] `git tag -a 0.x.0 -m 'Release 0.x.0 - <release title>'`
|
||||
* [ ] `git pull --tags ; git tag -d latest && git tag -a latest -m 'Latest release' && git push --tags origin latest --force ; git push --tags`
|
||||
* [ ] merge release PR or push to `main`
|
||||
|
|
@ -66,23 +72,6 @@ I usually do this all on the `main` branch, but doing it in a release branch is
|
|||
* Follow the format of the last release
|
||||
* [ ] wait for documentation to build: https://docs.rs/releases/queue
|
||||
|
||||
### `cargo publish`:
|
||||
```
|
||||
(cd crates/emath && cargo publish --quiet) && echo "✅ emath"
|
||||
(cd crates/ecolor && cargo publish --quiet) && echo "✅ ecolor"
|
||||
(cd crates/epaint_default_fonts && cargo publish --quiet) && echo "✅ epaint_default_fonts"
|
||||
(cd crates/epaint && cargo publish --quiet) && echo "✅ epaint"
|
||||
(cd crates/egui && cargo publish --quiet) && echo "✅ egui"
|
||||
(cd crates/egui-winit && cargo publish --quiet) && echo "✅ egui-winit"
|
||||
(cd crates/egui-wgpu && cargo publish --quiet) && echo "✅ egui-wgpu"
|
||||
(cd crates/eframe && cargo publish --quiet) && echo "✅ eframe"
|
||||
(cd crates/egui_kittest && cargo publish --quiet) && echo "✅ egui_kittest"
|
||||
(cd crates/egui_extras && cargo publish --quiet) && echo "✅ egui_extras"
|
||||
(cd crates/egui_demo_lib && cargo publish --quiet) && echo "✅ egui_demo_lib"
|
||||
(cd crates/egui_glow && cargo publish --quiet) && echo "✅ egui_glow"
|
||||
```
|
||||
|
||||
\<continue with the checklist above\>
|
||||
|
||||
## Announcements
|
||||
* [ ] [Bluesky](https://bsky.app/profile/ernerfeldt.bsky.social)
|
||||
|
|
@ -91,6 +80,7 @@ I usually do this all on the `main` branch, but doing it in a release branch is
|
|||
* [ ] [r/programming](https://www.reddit.com/r/programming/comments/1bocsf6/announcing_egui_027_an_easytouse_crossplatform/)
|
||||
* [ ] [This Week in Rust](https://github.com/rust-lang/this-week-in-rust/pull/5167)
|
||||
|
||||
|
||||
## After release
|
||||
* [ ] publish new `eframe_template`
|
||||
* [ ] publish new `egui_plot`
|
||||
|
|
@ -98,3 +88,9 @@ I usually do this all on the `main` branch, but doing it in a release branch is
|
|||
* [ ] publish new `egui_tiles`
|
||||
* [ ] make a PR to `egui_commonmark`
|
||||
* [ ] make a PR to `rerun`
|
||||
|
||||
|
||||
## Finally
|
||||
* [ ] Close the milestone
|
||||
* [ ] Close this issue
|
||||
* [ ] Improve `RELEASES.md` with what you learned this time around
|
||||
|
|
|
|||
|
|
@ -192,7 +192,9 @@ def remove_prefix(text, prefix):
|
|||
def print_section(heading: str, content: str) -> None:
|
||||
if content != "":
|
||||
print(f"## {heading}")
|
||||
print(content)
|
||||
print(content.strip())
|
||||
print()
|
||||
print()
|
||||
print()
|
||||
|
||||
|
||||
|
|
@ -345,11 +347,8 @@ def main() -> None:
|
|||
print()
|
||||
for crate in crate_names:
|
||||
if crate in crate_sections:
|
||||
prs = crate_sections[crate]
|
||||
print_section(crate, changelog_from_prs(prs, crate))
|
||||
print()
|
||||
print_section(crate, changelog_from_prs(crate_sections[crate], crate))
|
||||
print_section("Unsorted PRs", "\n".join([f"* {item}" for item in unsorted_prs]))
|
||||
print()
|
||||
print_section(
|
||||
"Unsorted commits", "\n".join([f"* {item}" for item in unsorted_commits])
|
||||
)
|
||||
|
|
|
|||
|
|
@ -0,0 +1,14 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
(cd crates/emath && cargo publish --quiet) && echo "✅ emath"
|
||||
(cd crates/ecolor && cargo publish --quiet) && echo "✅ ecolor"
|
||||
(cd crates/epaint_default_fonts && cargo publish --quiet) && echo "✅ epaint_default_fonts"
|
||||
(cd crates/epaint && cargo publish --quiet) && echo "✅ epaint"
|
||||
(cd crates/egui && cargo publish --quiet) && echo "✅ egui"
|
||||
(cd crates/egui-winit && cargo publish --quiet) && echo "✅ egui-winit"
|
||||
(cd crates/egui-wgpu && cargo publish --quiet) && echo "✅ egui-wgpu"
|
||||
(cd crates/eframe && cargo publish --quiet) && echo "✅ eframe"
|
||||
(cd crates/egui_kittest && cargo publish --quiet) && echo "✅ egui_kittest"
|
||||
(cd crates/egui_extras && cargo publish --quiet) && echo "✅ egui_extras"
|
||||
(cd crates/egui_demo_lib && cargo publish --quiet) && echo "✅ egui_demo_lib"
|
||||
(cd crates/egui_glow && cargo publish --quiet) && echo "✅ egui_glow"
|
||||
Loading…
Reference in New Issue