-
Notifications
You must be signed in to change notification settings - Fork 205
Release checklist
Jean-Noël Grad edited this page Feb 26, 2026
·
5 revisions
Create the release candidate:
- Create a new branch in a fork of the espressomd/espresso repository
- Cherry-pick commits with
git cherry-pick <commit>and pull requests withgit cherry-pick -m 1 <branch> - Open a draft PR of the release candidate against the python branch (major or minor release) or against the corresponding minor branch (bugfix release)
- Update CI containers to recent version of libs and distributions
- There should be CI for a current and a previous or LTS release
- Still older distribution releases can be removed from CI
- There should be containers for the current and previous CUDA version
- Check Python modules version in
/requirements.txt - Check CMake version in
/CMakeLists.txt - Check contributors in
/AUTHORS- Relevant script:
/maintainer/find_potentially_missing_authors.sh - The result has to be checked manually, since some people commit using different names/addresses
- With a mailmap, you can simply do
git shortlog -se 4.1.2..4.1.3rc - Update names of core developers if applicable
- Relevant script:
- Update
/CHANGELOG.mdfile to include release notes for current release - Spell and grammar check comments and docs
- Relevant thread: #2216
- Check and fix copyright headers
- Update existing headers to include copyright for current year:
/maintainer/update_header.sh - Header template for new headers:
/maintainer/header_template.txt - Add headers to files that don't have one:
/maintainer/add_missing_headers.sh - Relevant threads: #2198, #1421
- Update existing headers to include copyright for current year:
- Run CI jobs that are set to manual
- Push the release
- Fetch the release candidate
- Update version number
X.Y.Zin/CMakeLists.txt - Push to the relevant branch
- In the CI of that branch, run all jobs
- Workflow:
- Major release: push to new branch "X.0"
git checkout -b 4.0 4.0rc vi CMakeLists.txt git add CMakeLists.txt git commit -S -m 'Update version number to 4.0' git verify-commit HEAD git push upstream 4.0
- Minor release: push to new branch "X.Y"
git checkout -b 4.1 4.1rc vi CMakeLists.txt git add CMakeLists.txt git commit -S -m 'Update version number to 4.1' git verify-commit HEAD git push upstream 4.1 - Bugfix release: push to old branch "X.Y"
git checkout 4.1.2rc vi CMakeLists.txt git add CMakeLists.txt git commit -S -m 'Update version number to 4.1.2' git verify-commit HEAD git fetch upstream 4.1 git push upstream 4.1.2rc:4.1
- Major release: push to new branch "X.0"
- Relevant thread: #2585
- Publish release using Draft a new release
- Deploy static documentation to the website
- In a local fork of espressomd/espressomd.github.io, do:
release=5.0.0 git checkout landing_page sed -i -r "s/latest_release: [0-9\.]+/latest_release: ${release}/" metadata.yml git add metadata.yml git commit -m "Update to release ${release}" unzip artifacts-sphinx.zip unzip artifacts-tutorials.zip mv build/doc/sphinx/html/ doc${release} rm doc${release}/.buildinfo echo -e '\n/* hide todo notes */\ndiv.admonition-todo {\n display: none;\n}' >> doc${release}/_static/custom.css mv build/doc/tutorials/html/ tutorials${release} make tutorials.md mv tutorials.md tutorials${release}.md rm -r build git checkout releases git add doc${release} tutorials${release}.md tutorials${release} git commit -m "Add ${release} user guide and tutorials" git push origin releases:releases git push origin landing_page:landing_page
- In a local fork of espressomd/espressomd.github.io, do:
- Close the corresponding milestone (milestones)
- Update website using the CMS
- in https://espressomd.org/wordpress/download
- Update the latest release download (tarball link, release notes and git clone command)
- in https://espressomd.org/wordpress
- Add release news post
- in https://espressomd.org/wordpress/download
- Post release notes to the users mailing list ([email protected])
- Update the python branch
- Port improvements from the release into the python branch: release notes, grammar/spell checking, new authors, etc.
- Update version number from
X.Y.ZtoX.Y+1.0in/CMakeLists.txt