2.3 KiB
2.3 KiB
Release Checklist
This is the checklist for cutting a release.
For a lot of these steps, they are only needed if the code that would be
affected was changed. For example, I don't need to run the scripts/randmath.py
test if I did not change any of the math code.
- Update the README.
- Update the manuals.
- Test history manually.
- Test with POSIX test suite.
- Run the
scripts/randmath.py
script an excessive amount and add failing tests to test suite.- debug
- release
- minrelease
- Fuzz with AFL.
- reldebug
- Fix AFL crashes.
- Find ASan crashes on AFL test cases.
- Fix ASan crashes.
- Build on Windows, no errors or warnings.
- Debug/
x64
. - Debug/
x86
. - Release/
x64
. - Release/
x86
.
- Debug/
- Run and pass the
scripts/release.sh
script on my own machine. - Run and pass the
scripts/release.sh
script, without generated tests and sanitizers, on FreeBSD. - Run and pass the
scripts/release.sh
script, without generated tests, sanitizers, and 64-bit, on an 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 sanitizers, and no valgrind, on OpenBSD.
- Run
scan-build make
. - Repeat steps 3-16 again and repeat until nothing is found.
- Update the benchmarks.
- Update the version and
NEWS.md
and commit. - Boot into Windows.
- Build all release versions of everything.
- Release/
x64
forbc
. - Release/
x64
fordc
. - Release/
x64
forbcl
. - Release/
x86
forbc
. - Release/
x86
fordc
. - Release/
x86
forbcl
.
- Release/
- Put the builds where Linux can access them.
- Boot back into Linux.
- Run
make clean_tests
. - Run the
scripts/package.sh
script. - Upload the custom tarball and Windows builds to Yzena Gitea.
- Add output from
scripts/package.sh
to Yzena Gitea release notes. - Edit Yzena Gitea release notes for the changelog.
- Upload the custom tarball to GitHub.
- Add output from
scripts/package.sh
to GitHub release notes. - Edit GitHub release notes for the changelog.
- Notify the following:
- FreeBSD
- Adelie Linux
- Ataraxia Linux
- Sabotage
- xstatic
- OpenBSD
- NetBSD
- Submit new packages for the following:
- Alpine Linux
- Void Linux
- Gentoo Linux
- Linux from Scratch
- Arch Linux