Release Checklist
This is the checklist for cutting a release.
- Update the README.
- Update the manuals.
- Test history manually.
- Test with POSIX test suite.
- 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.
- Build with xstatic.
- 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 and pass the
release.sh
script, without generated tests, sanitizers, and 64-bit, on Thalheim's ARM server. - Run and pass the release script, with no generated tests, no clang, no sanitizers, and no valgrind, on NetBSD.
- Run and pass the release script, with no generated tests, no clang, no sanitizers, and no valgrind, on OpenBSD.
- Run Coverity Scan and eliminate warnings, if possible (both only).
- Run
scan-build make
. - Repeat steps 3-14 again and repeat until nothing is found.
- Update the benchmarks.
- 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
- Ataraxia Linux
- Sabotage
- xstatic
- Submit new packages for the following:
- OpenBSD
- NetBSD
- Alpine Linux
- Void Linux
- Gentoo Linux
- Linux from Scratch
- Arch Linux