Release Checklist
This is the checklist for cutting a release.
- Eliminate all compiler warnings (both, bc only, and dc only).
- Run scan-build and eliminate warnings (both, bc only, and dc only).
- Run Coverity Scan and eliminate warnings, if possible (both, bc only, and dc only).
- Run and pass the test suite (both, bc only, and dc only).
- debug (with and without AddressSanitizer and UndefinedBehaviorSanitizer)
- release
- minrelease
- Run timeconst.sh.
- Run the Karatsuba script with tests to ensure multiply is correct.
- Run the randmath.sh script an excessive amount and add failing tests to test suite.
- Run valgrind on the test suite.
- Have other testers try to break it.
- Fuzz with AFL
- Fix AFL crashes as much as possible.
- Repeat steps 1-11 again and repeat until nothing is found.
- 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.