77 it compiles properly. Also, check if your changes introduce any new linter
88 warnings by running ` cargo clippy ` .
99- Make sure to keep ` CHANGELOG.md ` up-to-date.
10- - Make sure not to use Rust features newer than the specified minimum supported
11- Rust Version (MSRV), which is documented in the [ README] ( README.md ) . You can
12- use ` cargo-msrv ` to check the crates. However, the Github CI also checks this.
1310- Make sure to follow the [ Rust API Guidelines]
1411
1512[ Rust API Guidelines ] : https://rust-lang.github.io/api-guidelines/checklist.html
1916Do not change the MSRV for releases with increased patch version number. When
2017increasing the MSRV make sure to set it everywhere to the same value:
2118
22- 1 . first update the ` pineappl-ci ` container , by
19+ 1 . first update the container file ` maintainer/Containerfile ` , by
2320 - adding the new MSRV to the variable ` RUST_V ` ,
2421 - making sure the nightly version is the last entry and
2522 - leaving in the previous MSRV to not break the CI in between the transition
2623 from it
27- 2 . commit the previous changes and manually run the ` Container ` Github action
24+ - removing the oldest stable version
25+ 2 . commit the previous changes and manually run the ` Container ` GitHub action
28263 . next, update the MSRV in the following files:
2927 - in the top-level ` Cargo.toml ` ; all other projects in the workspace should
3028 inherit the setting in their respective ` Cargo.toml ` files
3129 - in ` README.md ` and ` docs/installation.md `
32- - in all Github workflows (` .github/workflows/ ` )
3330 - in ` .readthedocs.yml ` update the value of the ` rust ` field and make sure
3431 [ RTD supports it] ( https://docs.readthedocs.io/en/stable/config-file/v2.html#build-tools-rust )
35324 . commit the previous changes and push them * after* the container created by
@@ -51,26 +48,32 @@ increasing the MSRV make sure to set it everywhere to the same value:
5148- if you write a test that needs test data (grids, EKOs, etc.) store them at
5249 < https://data.nnpdf.science/pineappl/test-data/ > . Ask one of the maintainers
5350 to upload the data for you if you don't have access to this location. Then
54- add a line to ` maintainer/generate-coverage.sh ` that downloads the data with
55- ` wget ` and a similar line to ` .github/workflows/rust.yml ` that downloads the
56- data with ` curl ` . To make Github refresh the cached test data when running
57- the CI, increase the integer ` XX ` in the line ` key: test-data-vXX ` by one.
51+ add a line to ` maintainer/download-test-data.sh ` that downloads the files and
52+ increase the version integer ` test-data-vXX ` in
53+ ` .github/actions/cache-test-data/action.yml ` . To make GitHub refresh the
54+ cached test data when running the CI, increase the integer ` XX ` in the line
55+ ` key: test-data-vXX ` by one.
56+
57+ ### Regression tests for GitHub Issues
58+
59+ If you're writing a regression test for a GitHub Issue, name the test
60+ ` issue_XXX ` , where ` XXX ` is the GitHub Issue number.
5861
5962## Git
6063
6164- When you commit, make sure the commit message is written properly. This
6265 blogpost explains it nicely: < https://chris.beams.io/posts/git-commit/ > .
6366- Whenever you have unpushed local commits that are behind ` origin/master ` , use
6467 ` git pull --rebase ` to rebase them
65- - When editing Github workflow files, use a separate branch, because usually
68+ - When editing GitHub workflow files, use a separate branch, because usually
6669 many commits are needed to get something working. When merging this branch
6770 into ` master ` (or any other branch), squash-merge the commits; the exact
6871 history in this case is not important
6972
7073## Making a new release
7174
7275First make sure the release workflow works; since we've hard-coded runner image
73- and action versions, it's possible that the workflow must be updated if these
76+ and action versions, it's possible that some workflows must be updated if these
7477images don't exist anymore. To check whether that's the case, manually trigger
7578the following workflows:
7679
@@ -96,11 +99,11 @@ generated, for which the pull request will have to be accepted manually though.
9699
97100## Updating the CI's container
98101
99- To update the software the CI runs with, modify the files in
100- ` maintainer/pineappl-ci ` . See ` maintainer/README.md ` for a description of what
101- these files do. To generate a new container, you need to manually run the
102- [ Container action] from the branch in which you modified the container files.
103- After the container has been generated, all following commits in * every * branch
104- will use the new container.
102+ To update the software the CI runs with, modify ` maintainer/Containerfile `
103+ ` maintainer/build-container.sh ` . See also ` maintainer/README.md ` for a
104+ description of what these files do. To generate a new container, you need to
105+ manually run the [ Container action] from the branch in which you modified the
106+ container files. After the container has been generated, all following commits
107+ in * every * branch will use the new container.
105108
106109[ Container action ] : https://github.com/NNPDF/pineappl/actions/workflows/container.yml
0 commit comments