btrfs-progs/Documentation/dev/ReleaseChecklist.rst

61 lines
1.7 KiB
ReStructuredText

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 files
* ``twine check dist/*.tar.gz`` -- look for warnings
* ``twine 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 tool ``gh``)