Release Checklist
This is the checklist for cutting a release.
- Update the README.
- Update the manuals.
- Test history manually.
- Run and pass the
release.sh
script, without tests, on my own machine. - Run and pass the
release.sh
script on my own machine. - Run and pass the
release.sh
script, without generated tests and sanitizers, on FreeBSD. - Run Coverity Scan and eliminate warnings, if possible (both only).
- Build with xstatic.
- Run the randmath.py script an excessive amount and add failing tests to test suite.
- Fuzz with AFL.
- Fix AFL crashes.
- Find ASan crashes on AFL test cases.
- Fix ASan crashes.
- Repeat steps 3-13 again and repeat until nothing is found.
- Change the version (remove "-dev") and commit.
- Run "make clean_tests".
- Run the release script.
- Upload the custom tarball to GitHub.
- Add sha's to release notes.
- Edit release notes for the changelog.
- Increment to the next version (with "-dev").
- Notify the following:
- FreeBSD
- Adelie Linux
- Sabotage
- xstatic
- Submit new packages for the following:
- OpenBSD
- Alpine Linux
- Void Linux
- Gentoo Linux
- Linux from Scratch
- Arch Linux