doc: add release issue template (#3386)

This commit is contained in:
Riccardo Schirone 2023-03-10 09:39:55 +01:00 committed by GitHub
parent c7dfbbcdcd
commit fb71f36859
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 34 additions and 19 deletions

View file

@ -40,7 +40,6 @@ jobs:
- '.github/workflows/ci.yml'
- 'test/**'
# TODO: build rz-bindings
build-and-test:
needs: changes
name: ${{ matrix.name }}

View file

@ -1,4 +1,4 @@
Release process
Release notes
===============
All releases happen from the `stable` branch, while the `dev` branch is used for
@ -26,29 +26,12 @@ cherry-picked to `stable`.
This release is used for smaller patches that do not break the API/ABI.
# Increment the version number
Increment the version number in `meson.build` in add a new commit for it in the
`stable` branch.
# Submit PR
Submit a new PR of your `stable` branch against `origin/stable`. If you have
push access to `origin`, you should create another branch with a different name
and submit anyway a PR for others to review.
# Test that everything worked well
# Tag related projects and use them
- Pin to a release tag of rz-pipe in `Dockerfile`
- Pin to a release tag of rz-ghidra in `Dockerfile`
- Add new commit for these in the `stable` branch
# Prepare release notes
Write useful release notes for the new release. They should not be too detailed
but not even too high level. Finding the right balanace is hard. When done,
attach them to the draft release in the GitHub UI.
# Release
Test again that everything is generated correctly, things seem to be working
well and then confirm the draft release in the GitHub UI.
# Share & Enjoy

33
doc/release-template.md Normal file
View file

@ -0,0 +1,33 @@
# Release checklist template
For each new Rizin release create a new issue on GitHub with this file as its
content. Go step-by-step through it.
- [ ] Update `stable` branch in the proper way
- [ ] Merge `dev` branch into `stable` branch (for major updates). See https://github.com/rizinorg/rizin/blob/dev/doc/RELEASE.md#majorminor-release.
- [ ] Cherry-pick relevant commits from `dev` branch into `stable` branch (for patch updates or once `stable` and `dev` have already diverged considerably). See https://github.com/rizinorg/rizin/blob/dev/doc/RELEASE.md#patch-release.
- [ ] Update `version` field in [`meson.build`](https://github.com/rizinorg/rizin/blob/dev/meson.build) file.
- [ ] Submit a PR of `stable` branch against `origin/stable`. If you have push access to origin, you should create another branch with a different name and submit anyway a PR for others to review.
- [ ] Ensure that CI on `stable` branch is all green. If not, fix issues and iterate previous steps as necessary.
- [ ] Merge PR so that `origin/stable` is updated with the new content.
- [ ] Manually test that things work well, in particular major changes in the new release.
- [ ] Start preparing release notes by modifying the draft release automatically created by GitHub CI.
- [ ] Check that [Cutter](https://github.com/rizinorg/cutter) works well with the new version of Rizin. If not, fix as necessary and go back to previous steps until everything is ready. Cutter and Rizin should be released at the same time, so both should be in a good state with major issues solved.
- [ ] Cutter can be compiled with new version of Rizin.
- [ ] Basic Cutter functions work well with new version of Rizin.
- [ ] Cutter is in good shape to be released.
- [ ] Check that [rz-ghidra](https://github.com/rizinorg/rz-ghidra) works well with the new version of Rizin. If not, fix as necessary and go back to previous steps until everything is ready.
- [ ] Check that [jsdec](https://github.com/rizinorg/jsdec) works well with the new version of Rizin. If not, fix as necessary and go back to previous steps until everything is ready.
- [ ] Check that [rz-retdec](https://github.com/rizinorg/rz-retdec) works well with the new version of Rizin. If not, fix as necessary and go back to previous steps until everything is ready.
- [ ] Check that [rizin-extras](https://github.com/rizinorg/rizin-extras/) and rz-keystone in particular works well with the new version of Rizin. If not, fix as necessary and go back to previous steps until everything is ready.
- [ ] Check that core plugins in [rz-pm-db](https://github.com/rizinorg/rz-pm-db) can be installed correctly with the new version of Rizin. If not, fix as necessary and go back to previous steps until everything is ready.
- [ ] Replace `RZ_PIPE_PY_VERSION` and `RZ_GHIDRA_VERSION` in [`Dockerfile`](https://github.com/rizinorg/rizin/blob/dev/Dockerfile) with the right commits from those repositories. Merge the commit with the Rizin changes in the `stable` branch.
- [ ] Quick test again that Rizin and Cutter work together.
- [ ] Finalize release notes.
- [ ] Release Rizin and Cutter by making their release public on GitHub.
- [ ] Tag rz-pipe for the new version.
- [ ] Tag [rz-bindgen](https://github.com/rizinorg/rz-bindgen) for the new version.
- [ ] Tag rz-ghidra for the new version.
- [ ] Tag rz-keystone/rizin-extras for the new version.
- [ ] Tag jsdec for the new version.
- [ ] Tag rz-retdec for the new version.