File tree 6 files changed +115
-125
lines changed
6 files changed +115
-125
lines changed Original file line number Diff line number Diff line change
1
+ name : check
2
+ on :
3
+ workflow_dispatch :
4
+ push :
5
+ branches : ["main"]
6
+ tags-ignore : ["**"]
7
+ pull_request :
8
+ schedule :
9
+ - cron : " 0 8 * * *"
10
+
11
+ concurrency :
12
+ group : check-${{ github.ref }}
13
+ cancel-in-progress : true
14
+
15
+ jobs :
16
+ test :
17
+ runs-on : ubuntu-latest
18
+ strategy :
19
+ fail-fast : false
20
+ matrix :
21
+ env :
22
+ - " 3.13"
23
+ - " 3.12"
24
+ - " 3.11"
25
+ - " 3.10"
26
+ - " 3.9"
27
+ - " 3.8"
28
+ - type
29
+ - dev
30
+ - pkg_meta
31
+ steps :
32
+ - uses : actions/checkout@v4
33
+ with :
34
+ fetch-depth : 0
35
+ - name : Install the latest version of uv
36
+ uses : astral-sh/setup-uv@v3
37
+ with :
38
+ enable-cache : true
39
+ cache-dependency-glob : " pyproject.toml"
40
+ github-token : ${{ secrets.GITHUB_TOKEN }}
41
+ - name : Install tox
42
+ run : uv tool install --python-preference only-managed --python 3.13 tox --with tox-uv
43
+ - name : Install Python
44
+ if : startsWith(matrix.env, '3.') && matrix.env != '3.13'
45
+ run : uv python install --python-preference only-managed ${{ matrix.env }}
46
+ - name : Setup test suite
47
+ run : tox run -vv --notest --skip-missing-interpreters false -e ${{ matrix.env }}
48
+ - name : Run test suite
49
+ run : tox run --skip-pkg-install -e ${{ matrix.env }}
50
+ env :
51
+ PYTEST_ADDOPTS : " -vv --durations=20"
52
+ DIFF_AGAINST : HEAD
Load Diff This file was deleted.
Original file line number Diff line number Diff line change
1
+ name : Release to PyPI
2
+ on :
3
+ push :
4
+ tags : ["*"]
5
+
6
+ env :
7
+ dists-artifact-name : python-package-distributions
8
+
9
+ jobs :
10
+ build :
11
+ runs-on : ubuntu-latest
12
+ steps :
13
+ - uses : actions/checkout@v4
14
+ with :
15
+ fetch-depth : 0
16
+ - name : Install the latest version of uv
17
+ uses : astral-sh/setup-uv@v3
18
+ with :
19
+ enable-cache : true
20
+ cache-dependency-glob : " pyproject.toml"
21
+ github-token : ${{ secrets.GITHUB_TOKEN }}
22
+ - name : Build package
23
+ run : uv build --python 3.13 --python-preference only-managed --sdist --wheel . --out-dir dist
24
+ - name : Store the distribution packages
25
+ uses : actions/upload-artifact@v4
26
+ with :
27
+ name : ${{ env.dists-artifact-name }}
28
+ path : dist/*
29
+
30
+ release :
31
+ needs :
32
+ - build
33
+ runs-on : ubuntu-latest
34
+ environment :
35
+ name : release
36
+ url : https://pypi.org/project/pytest-env/${{ github.ref_name }}
37
+ permissions :
38
+ id-token : write
39
+ steps :
40
+ - name : Download all the dists
41
+ uses : actions/download-artifact@v4
42
+ with :
43
+ name : ${{ env.dists-artifact-name }}
44
+ path : dist/
45
+ - name : Publish to PyPI
46
+
47
+ with :
48
+ attestations : true
Load Diff This file was deleted.
Original file line number Diff line number Diff line change @@ -38,10 +38,10 @@ dynamic = [
38
38
" version" ,
39
39
]
40
40
dependencies = [
41
- " pytest>=8.3.2 " ,
41
+ " pytest>=8.3.3 " ,
42
42
" tomli>=2.0.1; python_version<'3.11'" ,
43
43
]
44
- optional-dependencies.test = [
44
+ optional-dependencies.testing = [
45
45
" covdefaults>=2.3" ,
46
46
" coverage>=7.6.1" ,
47
47
" pytest-mock>=3.14" ,
Original file line number Diff line number Diff line change @@ -10,15 +10,18 @@ env_list =
10
10
3.10
11
11
3.9
12
12
type
13
- readme
13
+ pkg_meta
14
14
skip_missing_interpreters = true
15
15
16
16
[testenv]
17
17
description = run the tests with pytest
18
18
package = wheel
19
19
wheel_build_env = .pkg
20
20
extras =
21
- test
21
+ testing
22
+ pass_env =
23
+ DIFF_AGAINST
24
+ PYTES_*
22
25
set_env =
23
26
COVERAGE_FILE = {env:COVERAGE_FILE:{toxworkdir}{/}.coverage.{envname}}
24
27
commands =
@@ -34,7 +37,7 @@ commands =
34
37
description = run static analysis and style check using flake8
35
38
skip_install = true
36
39
deps =
37
- pre-commit-uv>=4.1
40
+ pre-commit-uv>=4.1.1
38
41
pass_env =
39
42
HOMEPATH
40
43
PROGRAMDATA
@@ -49,22 +52,23 @@ commands =
49
52
mypy --strict src
50
53
mypy --strict tests
51
54
52
- [testenv:readme ]
55
+ [testenv:pkg_meta ]
53
56
description = check that the long description is valid
54
57
skip_install = true
55
58
deps =
56
- build[uv]>=1.2.2
59
+ check-wheel-contents>=0.6
57
60
twine>=5.1.1
58
- change_dir = {toxinidir}
61
+ uv>=0.4.10
59
62
commands =
60
- pyproject-build --installer uv -o {envtmpdir} .
61
- twine check {envtmpdir}/*
63
+ uv build --sdist --wheel --out-dir {env_tmp_dir} .
64
+ twine check {env_tmp_dir}{/}*
65
+ check-wheel-contents --no-config {env_tmp_dir}
62
66
63
67
[testenv:dev]
64
68
description = generate a DEV environment
65
69
package = editable
66
70
extras =
67
- test
71
+ testing
68
72
commands =
69
73
uv pip tree
70
74
python -c ' import sys; print(sys.executable)'
You can’t perform that action at this time.
0 commit comments