Skip to content

Commit 4b5cb0c

Browse files
authored
Merge branch 'main' into style-use-typename-in-raises-errors
2 parents 30f9e55 + 2d3d169 commit 4b5cb0c

210 files changed

Lines changed: 5837 additions & 3252 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,14 @@ If this change fixes an issue, please:
1111
1212
- [ ] Add text like ``closes #XYZW`` to the PR description and/or commits (where ``XYZW`` is the issue number). See the [github docs](https://help.github.com/en/github/managing-your-work-on-github/linking-a-pull-request-to-an-issue#linking-a-pull-request-to-an-issue-using-a-keyword) for more information.
1313
14+
> [!IMPORTANT]
15+
> **Unsupervised agentic contributions are not accepted**. See our [AI/LLM-Assisted Contributions Policy](https://github.com/pytest-dev/pytest/blob/main/CONTRIBUTING.rst#aillm-assisted-contributions-policy).
16+
17+
- [ ] If AI agents were used, they are credited in `Co-authored-by` commit trailers.
18+
1419
Unless your change is trivial or a small documentation fix (e.g., a typo or reword of a small section) please:
1520
16-
- [ ] Create a new changelog file in the `changelog` folder, with a name like `<ISSUE NUMBER>.<TYPE>.rst`. See [changelog/README.rst](https://github.com/pytest-dev/pytest/blob/main/changelog/README.rst) for details.
21+
- [ ] Create a new changelog file in the `changelog` directory, with a name like `<ISSUE NUMBER>.<TYPE>.rst`. See [changelog/README.rst](https://github.com/pytest-dev/pytest/blob/main/changelog/README.rst) for details.
1722
1823
Write sentences in the **past or present tense**, examples:
1924

.github/workflows/deploy.yml

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -25,13 +25,13 @@ jobs:
2525
attestations: write
2626

2727
steps:
28-
- uses: actions/checkout@v6
28+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
2929
with:
3030
fetch-depth: 0
3131
persist-credentials: false
3232

3333
- name: Build and Check Package
34-
uses: hynek/build-and-inspect-python-package@efb823f52190ad02594531168b7a2d5790e66516
34+
uses: hynek/build-and-inspect-python-package@fe0a0fb1925ca263d076ca4f2c13e93a6e92a33e
3535
with:
3636
attest-build-provenance-github: 'true'
3737

@@ -42,13 +42,13 @@ jobs:
4242
permissions:
4343
contents: read
4444
steps:
45-
- uses: actions/checkout@v6
45+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
4646
with:
4747
fetch-depth: 0
4848
persist-credentials: false
4949

5050
- name: Set up Python
51-
uses: actions/setup-python@v6
51+
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
5252
with:
5353
python-version: "3.13"
5454

@@ -64,7 +64,7 @@ jobs:
6464
tox -e generate-gh-release-notes -- "$VERSION" gh-release-notes.md
6565
6666
- name: Upload release notes
67-
uses: actions/upload-artifact@v5
67+
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
6868
with:
6969
name: release-notes
7070
path: gh-release-notes.md
@@ -82,7 +82,7 @@ jobs:
8282
id-token: write
8383
steps:
8484
- name: Download Package
85-
uses: actions/download-artifact@v6
85+
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
8686
with:
8787
name: Packages
8888
path: dist
@@ -99,7 +99,7 @@ jobs:
9999
permissions:
100100
contents: write
101101
steps:
102-
- uses: actions/checkout@v6
102+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
103103
with:
104104
fetch-depth: 0
105105
persist-credentials: true
@@ -121,13 +121,13 @@ jobs:
121121
contents: write
122122
steps:
123123
- name: Download Package
124-
uses: actions/download-artifact@v6
124+
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
125125
with:
126126
name: Packages
127127
path: dist
128128

129129
- name: Download release notes
130-
uses: actions/download-artifact@v6
130+
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
131131
with:
132132
name: release-notes
133133
path: .

.github/workflows/doc-check-links.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,13 @@ jobs:
1717

1818
steps:
1919
- name: Checkout
20-
uses: actions/checkout@v6
20+
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
2121
with:
2222
fetch-depth: 0
2323
persist-credentials: false
2424

2525
- name: Setup Python
26-
uses: actions/setup-python@v6
26+
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
2727
with:
2828
python-version: "3.13"
2929
cache: pip

.github/workflows/prepare-release-pr.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,14 +27,14 @@ jobs:
2727
pull-requests: write
2828

2929
steps:
30-
- uses: actions/checkout@v6
30+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
3131
with:
3232
fetch-depth: 0
3333
# persist-credentials is needed in order for us to push the release branch.
3434
persist-credentials: true
3535

3636
- name: Set up Python
37-
uses: actions/setup-python@v6
37+
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
3838
with:
3939
python-version: "3.13"
4040

.github/workflows/stale.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ jobs:
1010
permissions:
1111
issues: write
1212
steps:
13-
- uses: actions/stale@v10
13+
- uses: actions/stale@b5d41d4e1d5dceea10e7104786b73624c18a190f # v10.1.0
1414
with:
1515
debug-only: false
1616
days-before-issue-stale: 14

.github/workflows/test.yml

Lines changed: 19 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -37,12 +37,12 @@ jobs:
3737
package:
3838
runs-on: ubuntu-latest
3939
steps:
40-
- uses: actions/checkout@v6
40+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
4141
with:
4242
fetch-depth: 0
4343
persist-credentials: false
4444
- name: Build and Check Package
45-
uses: hynek/build-and-inspect-python-package@efb823f52190ad02594531168b7a2d5790e66516
45+
uses: hynek/build-and-inspect-python-package@fe0a0fb1925ca263d076ca4f2c13e93a6e92a33e
4646

4747
build:
4848
needs: [package]
@@ -251,19 +251,19 @@ jobs:
251251
continue-on-error: ${{ matrix.xfail && true || false }}
252252

253253
steps:
254-
- uses: actions/checkout@v6
254+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
255255
with:
256256
fetch-depth: 0
257257
persist-credentials: false
258258

259259
- name: Download Package
260-
uses: actions/download-artifact@v6
260+
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
261261
with:
262262
name: Packages
263263
path: dist
264264

265265
- name: Set up Python ${{ matrix.python }}
266-
uses: actions/setup-python@v6
266+
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
267267
with:
268268
python-version: ${{ matrix.python }}
269269
check-latest: true
@@ -277,21 +277,33 @@ jobs:
277277
- name: Test without coverage
278278
if: "! matrix.use_coverage"
279279
shell: bash
280+
env:
281+
_PYTEST_TOX_POSARGS_JUNIT: --junitxml=junit.xml
280282
run: tox run -e ${{ matrix.tox_env }} --installpkg `find dist/*.tar.gz`
281283

282284
- name: Test with coverage
283285
if: "matrix.use_coverage"
284286
shell: bash
287+
env:
288+
_PYTEST_TOX_POSARGS_JUNIT: --junitxml=junit.xml
285289
run: tox run -e ${{ matrix.tox_env }}-coverage --installpkg `find dist/*.tar.gz`
286290

287291
- name: Upload coverage to Codecov
288292
if: "matrix.use_coverage"
289-
uses: codecov/codecov-action@5a1091511ad55cbe89839c7260b706298ca349f7
293+
uses: codecov/codecov-action@57e3a136b779b570ffcdbf80b3bdc90e7fab3de2
290294
with:
291295
fail_ci_if_error: false
292296
files: ./coverage.xml
293297
verbose: true
294298

299+
- name: Upload JUnit report to Codecov
300+
uses: codecov/codecov-action@57e3a136b779b570ffcdbf80b3bdc90e7fab3de2
301+
with:
302+
fail_ci_if_error: false
303+
files: junit.xml
304+
report_type: test_results
305+
verbose: true
306+
295307
check: # This job does nothing and is only used for the branch protection
296308
if: always()
297309

@@ -302,6 +314,6 @@ jobs:
302314

303315
steps:
304316
- name: Decide whether the needed jobs succeeded or failed
305-
uses: re-actors/alls-green@2765efec08f0fd63e83ad900f5fd75646be69ff6
317+
uses: re-actors/alls-green@a638d6464689bbb24c325bb3fe9404d63a913030
306318
with:
307319
jobs: ${{ toJSON(needs) }}

.github/workflows/update-plugin-list.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,18 +20,18 @@ jobs:
2020

2121
steps:
2222
- name: Checkout
23-
uses: actions/checkout@v6
23+
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
2424
with:
2525
fetch-depth: 0
2626
persist-credentials: false
2727

2828
- name: Setup Python
29-
uses: actions/setup-python@v6
29+
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
3030
with:
3131
python-version: "3.13"
3232

3333
- name: requests-cache
34-
uses: actions/cache@v4
34+
uses: actions/cache@668228422ae6a00e4ad889ee87cd7109ec5666a7 # v5.0.4
3535
with:
3636
path: ~/.cache/pytest-plugin-list/
3737
key: plugins-http-cache-${{ github.run_id }} # Can use time based key as well
@@ -47,7 +47,7 @@ jobs:
4747

4848
- name: Create Pull Request
4949
id: pr
50-
uses: peter-evans/create-pull-request@271a8d0340265f705b14b6d32b9829c1cb33d45e
50+
uses: peter-evans/create-pull-request@c0f553fe549906ede9cf27b5156039d195d2ece0
5151
with:
5252
commit-message: '[automated] Update plugin list'
5353
author: 'pytest bot <pytestbot@users.noreply.github.com>'

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@ coverage.xml
5151
.vscode
5252
__pycache__/
5353
.python-version
54+
.claude/settings.local.json
5455

5556
# generated by pip
5657
pip-wheel-metadata/

.mailmap

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
Freya Bruhin <git@the-compiler.org>
2+
Freya Bruhin <me@the-compiler.org>

.pre-commit-config.yaml

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
minimum_pre_commit_version: "4.4.0"
22
repos:
33
- repo: https://github.com/astral-sh/ruff-pre-commit
4-
rev: "v0.14.8"
4+
rev: "v0.15.9"
55
hooks:
66
- id: ruff-check
77
args: ["--fix"]
@@ -13,17 +13,17 @@ repos:
1313
- id: end-of-file-fixer
1414
- id: check-yaml
1515
- repo: https://github.com/woodruffw/zizmor-pre-commit
16-
rev: v1.18.0
16+
rev: v1.23.1
1717
hooks:
1818
- id: zizmor
19-
args: ["--fix"]
19+
args: ["--fix", "--no-progress"]
2020
- repo: https://github.com/adamchainz/blacken-docs
2121
rev: 1.20.0
2222
hooks:
2323
- id: blacken-docs
2424
additional_dependencies: [black==24.1.1]
2525
- repo: https://github.com/codespell-project/codespell
26-
rev: v2.4.1
26+
rev: v2.4.2
2727
hooks:
2828
- id: codespell
2929
args: ["--toml=pyproject.toml"]
@@ -34,7 +34,7 @@ repos:
3434
hooks:
3535
- id: python-use-type-annotations
3636
- repo: https://github.com/pre-commit/mirrors-mypy
37-
rev: v1.19.0
37+
rev: v1.20.0
3838
hooks:
3939
- id: mypy
4040
files: ^(src/|testing/|scripts/)
@@ -50,7 +50,7 @@ repos:
5050
# on <3.11
5151
- exceptiongroup>=1.0.0rc8
5252
- repo: https://github.com/RobertCraigie/pyright-python
53-
rev: v1.1.407
53+
rev: v1.1.408
5454
hooks:
5555
- id: pyright
5656
files: ^(src/|scripts/)
@@ -67,8 +67,8 @@ repos:
6767
- exceptiongroup>=1.0.0rc8
6868
# Manual because passing pyright is a work in progress.
6969
stages: [manual]
70-
- repo: https://github.com/tox-dev/pyproject-fmt
71-
rev: "v2.11.1"
70+
- repo: https://github.com/pytest-dev/pyproject-fmt
71+
rev: "v2.12.1"
7272
hooks:
7373
- id: pyproject-fmt
7474
# https://pyproject-fmt.readthedocs.io/en/latest/#calculating-max-supported-python-version

0 commit comments

Comments
 (0)