cargo clippy
.CHANGELOG.md
up-to-date.cargo-msrv
to check the crates. However, the Github CI also checks this.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:
pineappl-ci
container, 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
.github/workflows/
).readthedocs.yml
update the value of the rust
field and make sure
RTD supports itmake_release.sh
update the cargo msrv
callIterator
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/generate-coverage.sh
that downloads the data with
wget
and a similar line to .github/workflows/rust.yml
that downloads the
data with curl
. 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.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 importantIn 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 the files in
maintainer/pineappl-ci
. See 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.