cargo clippy.CHANGELOG.md up-to-date.Do not change the MSRV for releases with increased patch version number. When increasing the MSRV make sure to set it everywhere to the same value:
maintainer/Containerfile, by
RUST_V,Container GitHub actionCargo.toml; all other projects in the workspace should
inherit the setting in their respective Cargo.toml filesREADME.md and docs/installation.md.readthedocs.yml update the value of the rust field and make sure
RTD supports itIterator instead.unwrap methods whenever a panic would signal a bug in the program,
and use Result instead if errors should be propagated down to the user.
When using unwrap, document the nature of the bug if a panic happens with a
comment of the form: // UNWRAP: ....unwrap_or_else(|| unreachable!()) over unwrap whenever
this avoids the clippy warning that a Panic section is missing. Also document
this with // UNWRAP: ...maintainer/download-test-data.sh that downloads the files and
increase the version integer test-data-vXX in
.github/actions/cache-test-data/action.yml. To make GitHub refresh the
cached test data when running the CI, increase the integer XX in the line
key: test-data-vXX by one.If you’re writing a regression test for a GitHub Issue, name the test
issue_XXX, where XXX is the GitHub Issue number.
origin/master, use
git pull --rebase to rebase themmaster (or any other branch), squash-merge the commits; the exact
history in this case is not importantFirst make sure the release workflow works; since we’ve hard-coded runner image and action versions, it’s possible that some workflows must be updated if these images don’t exist anymore. To check whether that’s the case, manually trigger the following workflows:
This will not upload anything. Wait for the actions to finish, and fix problems in a separate branch.
Next, go to the maintainers directory, run
./make_release 0.5.4
and replace 0.5.4 with a version string, not including v at the start.
The version strings must adhere to Semantic Versioning.
This will take care of almost everything: the C, Python and Rust interfaces and their documentation. After some time also a new Conda package will be generated, for which the pull request will have to be accepted manually though.
To update the software the CI runs with, modify maintainer/Containerfile
maintainer/build-container.sh. See also maintainer/README.md for a
description of what these files do. To generate a new container, you need to
manually run the Container action from the branch in which you modified the
container files. After the container has been generated, all following commits
in every branch will use the new container.