Release checklist
Last code touches:
make the code ready, collect patches queued for the release
look to mailinglist for any relevant last-minute fixes
skim patches for typos, inconsistent subjects
Pre-checks:
update package in OBS, (multi arch build checks)
run all functional tests locally with
defaults
D=asan
D=ubsan
run all build tests (
tests/build-tests.sh
)run with fstests
check Github actions for status (https://github.com/kdave/btrfs-progs/actions)
branch devel
branch release-test -- extensive pre-release build checks
branch coverage-test -- code coverage, for information purposes only
Pre-release:
write CHANGES entry (will be visible on RTD right away)
Python btrfsutil (pypi.org):
rebuild whole project (regenerate constants.c)
cd libbtrfsutil/python
edit
setup.py
version manually (the toplevel VERSION is not accessible during dist build)python3 -m build
-- build dist filestwine check dist/*.tar.gz
-- look for warningstwine upload dist/*.tar.gz
-- make sure there’s only the latest version, twine must need access token to pypi.org
Release:
tag release, sign
build check of unpacked tar
generate documentation
make tar
upload tar to kernel.org
refresh git branches, push tags
Post-release:
write and send announcement mail to the mailinglist
update title on IRC
github updates
create a new release from the latest tag
copy text from CHANGES as contents, formatting is the same
wait for static binaries github action to finish
run
ci/actions/update-artifacts
to copy the built static binaries to the release (requires github command line toolgh
)