Skip to content

Commit d9205f8

Browse files
committed
Update CONTRIBUTING.md and add 3.11 to GH Actions
1 parent 6f89369 commit d9205f8

File tree

2 files changed

+26
-17
lines changed

2 files changed

+26
-17
lines changed

.github/workflows/ci_tests.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ jobs:
6363
runs-on: ubuntu-latest
6464
strategy:
6565
matrix:
66-
python: ['3.6', '3.7', '3.8', '3.9']
66+
python: ['3.6', '3.7', '3.8', '3.9', '3.11']
6767
if: "!contains(github.event.head_commit.message, '[skip ci]')"
6868

6969
steps:

CONTRIBUTING.md

+25-16
Original file line numberDiff line numberDiff line change
@@ -63,14 +63,22 @@ The next step is to upgrade/install the development requirements:
6363
(sphobjinv) $ pip install -r requirements-dev.txt
6464
```
6565

66-
Then, install the pre-commit hooks:
66+
Then, install the [`pre-commit`](https://pre-commit.com/) hooks:
6767

6868
```
6969
(sphobjinv) $ pre-commit install
7070
```
7171

72-
Finally, you'll need to build the Sphinx docs,
73-
as some of the tests interact with them:
72+
One of the `pre-commit` hooks installed on the project is the hook from
73+
[`black`](https://black.readthedocs.io/en/stable/). If you want to run `black`
74+
independently from `pre-commit`, you'll need to install it separately:
75+
76+
```
77+
(sphobjinv) $ pip install black
78+
```
79+
80+
Finally, you'll need to build the Sphinx docs locally, as some of the tests
81+
interact with them:
7482

7583
```
7684
(sphobjinv) $ cd doc
@@ -104,8 +112,8 @@ Then, any time you need to refresh the fork's `main`:
104112
```
105113
$ git fetch --all
106114
$ git checkout main
107-
$ git merge upstream/main # (should merge without incident)
108-
$ git push # (should push to your fork without incident)
115+
$ git merge upstream/main # (should merge without incident)
116+
$ git push # (should push to your fork without incident)
109117
```
110118

111119

@@ -141,14 +149,14 @@ There are some situations where it may make sense to use a `# pragma: no cover`
141149
to ignore coverage on certain line(s) of code. Please start a discussion in the
142150
issue or PR comments before adding such a pragma.
143151

144-
Note that while [`tox`](https://github.com/tox-dev/tox/) *is* configured for the
152+
Note that while [`tox`](https://tox.wiki/en/latest/) *is* configured for the
145153
project, it is **not** set up to be an everyday test runner. Instead, it's used
146-
to execute a matrix of test environments checking for the compatibility of
147-
different Python and dependency versions. You can run it if you want, but you'll
148-
need working versions of all of Python 3.6 through 3.11 installed and on `PATH`
149-
as `python3.6`, `python3.7`, etc. The nonlocal test suite is run for each `tox`
150-
environment, so it's best to use at most two parallel sub-processes to avoid
151-
oversaturating your network bandwidth; e.g.:
154+
to execute an extensive matrix of test environments checking for the
155+
compatibility of different Python and dependency versions. You can run it if you
156+
want, but you'll need working versions of all of Python 3.6 through 3.11
157+
installed and on `PATH` as `python3.6`, `python3.7`, etc. The nonlocal test
158+
suite is run for each `tox` environment, so it's best to use at most two
159+
parallel sub-processes to avoid oversaturating your network bandwidth; e.g.:
152160

153161
```
154162
$ tox -rp2
@@ -158,7 +166,7 @@ $ tox -rp2
158166
## Linting
159167

160168
The project uses a number of lints, which are checked using
161-
[`flake8`](https://gitlab.com/pycqa/flake8) in CI. To run the lints locally,
169+
[`flake8`](https://flake8.pycqa.org/en/latest/) in CI. To run the lints locally,
162170
it's easiest to use `tox`:
163171

164172
```
@@ -242,15 +250,16 @@ with `make linkcheck`.
242250
Both Github Actions and Azure Pipelines are set up for the project, and should
243251
run on any forks of the repository.
244252

245-
Github Actions runs the test suite on Linux for Python 3.6 through 3.10, as well
253+
Github Actions runs the test suite on Linux for Python 3.6 through 3.11, as well
246254
as the `flake8` lints and the Sphinx doctests and link-validity testing, and is
247255
configured to run on all commits. The workflow can be skipped per-commit by
248256
including `[skip ci]` in the commit message.
249257

250258
The Azure Pipelines CI runs an extensive matrix of cross-platform and
251259
cross-Python-version tests, as well as numerous other checks. Due to its length,
252260
it is configured to run only on release branches and PRs to `main` or `stable`.
253-
It cannot be skipped.
261+
Azure Pipelines now [also obeys `[skip ci]`
262+
directives](https://learn.microsoft.com/en-us/azure/devops/pipelines/repos/azure-repos-git?view=azure-devops&tabs=yaml#skipping-ci-for-individual-pushes).
254263

255264

256265
## CHANGELOG
@@ -260,7 +269,7 @@ The project
260269
be updated for the majority of contributions. No tooling is in place (e.g.,
261270
[`towncrier`](https://github.com/twisted/towncrier)) for automated collation of
262271
news items into `CHANGELOG`; all changes should be documented manually, directly
263-
in the `CHANGELOG`.
272+
in the `CHANGELOG`. Please follow the format currently in use.
264273

265274
Any PR that touches the project code *must* include a `CHANGELOG` entry.
266275
Contributions that make changes just to the test suite should usually also

0 commit comments

Comments
 (0)