BPO is in read-only mode and all issues have been migrated to GitHub.
This patch replaces the use of that role with `:issue:`, recently
integrated via #12522. It also disables the built-in `extlinks` Sphinx
extension, as it's no longer in use.
This extension implements more generic roles that can also be used
more flexibly. Relying on an external extension allows to stop
maintaining an in-repo copy of the commonly used behavior.
It's necessary since it seems that the currently used Codecov uploader
doesn't read the token from config sometimes.
This is a follow-up for #12508 which wasn't enough.
The #11921 update broke uploading coverage of the `main` branch (or
any in-repo pushes for that matter) to Codecov 4 months ago.
Version 4 requires an upload token to be provided and since there was
no configuration for it, the upload was failing. But the step itself
was showing up as successful due to `fail_ci_if_error: true` being
set. The error is visible in the console output, though.
This patch flips the setting to `fail_ci_if_error: false` and sets the
Codecov upload token in the config in clear text. The non-secret part
allows the PRs uploads to be more stable.
Co-authored-by: Ronny Pfannschmidt <opensource@ronnypfannschmidt.de>
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`
```