@@ -63,14 +63,22 @@ The next step is to upgrade/install the development requirements:
63
63
(sphobjinv) $ pip install -r requirements-dev.txt
64
64
```
65
65
66
- Then, install the pre-commit hooks:
66
+ Then, install the [ ` pre-commit ` ] ( https://pre-commit.com/ ) hooks:
67
67
68
68
```
69
69
(sphobjinv) $ pre-commit install
70
70
```
71
71
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:
74
82
75
83
```
76
84
(sphobjinv) $ cd doc
@@ -104,8 +112,8 @@ Then, any time you need to refresh the fork's `main`:
104
112
```
105
113
$ git fetch --all
106
114
$ 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)
109
117
```
110
118
111
119
@@ -141,14 +149,14 @@ There are some situations where it may make sense to use a `# pragma: no cover`
141
149
to ignore coverage on certain line(s) of code. Please start a discussion in the
142
150
issue or PR comments before adding such a pragma.
143
151
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
145
153
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.:
152
160
153
161
```
154
162
$ tox -rp2
@@ -158,7 +166,7 @@ $ tox -rp2
158
166
## Linting
159
167
160
168
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,
162
170
it's easiest to use ` tox ` :
163
171
164
172
```
@@ -242,15 +250,16 @@ with `make linkcheck`.
242
250
Both Github Actions and Azure Pipelines are set up for the project, and should
243
251
run on any forks of the repository.
244
252
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
246
254
as the ` flake8 ` lints and the Sphinx doctests and link-validity testing, and is
247
255
configured to run on all commits. The workflow can be skipped per-commit by
248
256
including ` [skip ci] ` in the commit message.
249
257
250
258
The Azure Pipelines CI runs an extensive matrix of cross-platform and
251
259
cross-Python-version tests, as well as numerous other checks. Due to its length,
252
260
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 ) .
254
263
255
264
256
265
## CHANGELOG
@@ -260,7 +269,7 @@ The project
260
269
be updated for the majority of contributions. No tooling is in place (e.g.,
261
270
[ ` towncrier ` ] ( https://github.com/twisted/towncrier ) ) for automated collation of
262
271
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.
264
273
265
274
Any PR that touches the project code * must* include a ` CHANGELOG ` entry.
266
275
Contributions that make changes just to the test suite should usually also
0 commit comments