Previously, a part of the environments weren't documented in the
config, making it difficult for the newbies to figure out what
their purposes are. This patch sets the descriptions for all the
envs listed with the `tox -av` command, leveraging the dynamic
factor-dependent explanation fragments.
```console
default environments:
linting -> run pre-commit-defined linters under `python3`
py38 -> run the tests under `py38`
py39 -> run the tests under `py39`
py310 -> run the tests under `py310`
py311 -> run the tests under `py311`
py312 -> run the tests under `py312`
py313 -> run the tests under `py313`
pypy3 -> run the tests under `pypy3`
py38-pexpect -> run the tests against `pexpect` under `py38`
py38-xdist -> run the tests with pytest in parallel mode under `py38`
py38-unittestextras -> run the tests against the unit test extras under `py38`
py38-numpy -> run the tests against `numpy` under `py38`
py38-pluggymain -> run the tests against the bleeding edge `pluggy` from Git under `py38`
py38-pylib -> run the tests against `py` lib under `py38`
doctesting -> run the tests under `~/.pyenv/versions/3.12.3/envs/pytest-pyenv-py3.12.3/bin/python` including doctests
doctesting-coverage -> run the tests collecting coverage under `~/.pyenv/versions/3.12.3/envs/pytest-pyenv-py3.12.3/bin/python` including doctests
plugins -> run reverse dependency testing against pytest plugins under `~/.pyenv/versions/3.12.3/envs/pytest-pyenv-py3.12.3/bin/python`
py38-freeze -> test pytest frozen with `pyinstaller` under `py38`
docs -> build the documentation site under `~/src/github/pytest-dev/pytest/doc/en/_build/html` with `python3`
docs-checklinks -> check the links in the documentation with `python3`
py311-exceptiongroup -> run the tests against `exceptiongroup` under `py311`
additional environments:
regen -> regenerate documentation examples under `python3`
release -> do a release, required posarg of the version number
prepare-release-pr -> prepare a release PR from a manual trigger in GitHub actions
generate-gh-release-notes -> generate release notes that can be published as GitHub Release
nobyte -> run the tests in no-bytecode mode under `~/.pyenv/versions/3.12.3/envs/pytest-pyenv-py3.12.3/bin/python`
lsof -> run the tests with `--lsof` pytest CLI option under `~/.pyenv/versions/3.12.3/envs/pytest-pyenv-py3.12.3/bin/python`
```
The new change note types are `packaging`, `contrib` and `misc`.
`packaging` is intended for the audience of downstream redistributors.
The `contrib` notes are meant to be documenting news affecting the
project contributors, their development, and processes.
Finally, `misc` is for things that don't fit anywhere but are still
desired to be documented for some reason.
It is uncapped in RTD. Apparently, `tox -e docs` is not invoked in CI,
neither is it called in RTD, resulting in the regression having been
caught only in local development environments.
This is a follow-up for #12493.
It is called when building the docs. Apparently, `tox -e docs` is not
invoked in CI, neither is it called in RTD, resulting in the
regression having been caught only in local development environments.
This is a follow-up for #12493.
The earlier implementation was generating a temporary file, when
the docs site was being built with `tox`. However, this was not
enabled in RTD and is hackish.
This patch integrates the `sphinxcontrib-towncrier` extension to
make it work in any environment where Sphinx docs are being built.
Previously, it was possible to use several different config file name
variants. However, there is one canonical name now and the others are
being deprecated [[1]].
[1]: https://docs.rtfd.io/en/stable/config-file/index.html
Previously, this workflow was being used to cherry-pick PRs made
against `main` into older stable branches. Now that #12475 integrated
the Patchback GitHub App, it's no longer needed as it's making
duplicate pull requests which don't even trigger CI runs automatically
due to #10354. So this patch removes said workflow to address the
problem.
There was a regression caused by #12431 that excluded the patch on
broken CPython patch version ranges 3.11.0–3.11.8 and 3.12.0–3.12.2.
This change fixes that by adjusting the patching conditional clause
to include said versions.
Closes#12430.
Co-authored-by: Florian Bruhin <me@the-compiler.org>
* 🚑 Explicitly set encoding @ `subprocess.run()`
This invocation is present in the `test_issue_9765` regression test
that is always skipped unconditionally, resulting in the
`EncodingWarning` never manifesting itself in CI or development
environments of the contributors.
* Change `setup.py` call w/ `pip install` @ tests
Using this CLI interface has been deprecated in `setuptools` [[1]].
[1]: https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html
* Change Contribution doc title to match sidebar
* Rearrange sentence for clarity
* Update backwards-compatibility.rst
some minor grammar changes
* Update pythonpath.rst
fixed some gramatical errors
* Update AUTHORS
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Update doc/en/explanation/pythonpath.rst
From a quick overview it looks like lowercase is more consistent, although some pages do use `pytest` in code blocks
Co-authored-by: Bruno Oliveira <bruno@soliv.dev>
---------
Co-authored-by: Mackerello <82668740+Mackerello@users.noreply.github.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Bruno Oliveira <bruno@soliv.dev>