@@ -13,6 +13,9 @@ defaults:
1313 run :
1414 shell : bash -eux {0}
1515
16+ env :
17+ HATCH_ENV : " cov"
18+
1619jobs :
1720 check_release :
1821 runs-on : ubuntu-latest
@@ -38,31 +41,44 @@ jobs:
3841 fail-fast : false
3942 matrix :
4043 os : [ubuntu-latest, windows-latest, macos-latest]
41- python-version : ["3.8", "3.12"]
44+ python-version :
45+ - " 3.10"
46+ - " 3.14"
47+ - " 3.14t"
4248 include :
4349 - os : windows-latest
44- python-version : " 3.11 "
50+ python-version : " 3.12 "
4551 - os : ubuntu-latest
46- python-version : " pypy-3.9 "
52+ python-version : " pypy-3.11 "
4753 - os : ubuntu-latest
48- python-version : " 3.10 "
54+ python-version : " 3.11 "
4955 - os : macos-latest
50- python-version : " 3.9 "
56+ python-version : " 3.10 "
5157 steps :
5258 - uses : actions/checkout@v4
5359 - uses : jupyterlab/maintainer-tools/.github/actions/base-setup@v1
54- - name : Run the tests
55- if : ${{ !startsWith(matrix.python-version, 'pypy') && !startsWith(matrix.os, 'windows') }}
60+
61+ - name : disable warnings on pypy or windows
62+ if : ${{ startsWith(matrix.python-version, 'pypy') || startsWith(matrix.os, 'windows') }}
5663 run : |
57- hatch run cov:test --cov-fail-under 75 || hatch run test:test --lf
58- - name : Run the tests on pypy
64+ echo "PYTEST_ADDOPTS=${PYTEST_ADDOPTS:-} -W default" >> $GITHUB_ENV
65+
66+ - name : disable coverage on pypy
5967 if : ${{ startsWith(matrix.python-version, 'pypy') }}
6068 run : |
61- hatch run test:nowarn || hatch run test:nowarn --lf
62- - name : Run the tests on windows
63- if : ${{ startsWith(matrix.os, 'windows') }}
69+ echo "HATCH_ENV= test" >> $GITHUB_ENV
70+
71+ - name : show env
6472 run : |
65- hatch run cov:nowarn || hatch run test:nowarn --lf
73+ hatch -e ${HATCH_ENV} run python -VV
74+ hatch -e ${HATCH_ENV} run pip freeze
75+
76+ - name : Run the tests
77+ run : |
78+ hatch run ${HATCH_ENV}:test
79+ env :
80+ PYTHONTRACEMALLOC : " 10"
81+
6682 - uses : jupyterlab/maintainer-tools/.github/actions/upload-coverage@v1
6783
6884 coverage :
7692 fail_under : 78
7793
7894 docs :
79- runs-on : windows -latest
95+ runs-on : ubuntu -latest
8096 steps :
8197 - uses : actions/checkout@v4
8298 - uses : jupyterlab/maintainer-tools/.github/actions/base-setup@v1
86102 # If this fails run `hatch run docs:api` locally
87103 # and commit.
88104 git status --porcelain
89- git status -s | grep "A" && exit 1
90- git status -s | grep "M" && exit 1
105+ if git status -s | grep "^\s*[AM]"; then
106+ exit 1
107+ fi
91108 echo "API docs done"
92109 - run : hatch run docs:build
93110
@@ -113,9 +130,16 @@ jobs:
113130 - uses : jupyterlab/maintainer-tools/.github/actions/base-setup@v1
114131 with :
115132 dependency_type : minimum
133+ python_version : " 3.10"
134+
135+ - name : show env
136+ run : |
137+ hatch -e test run python -VV
138+ hatch -e test run pip freeze
139+
116140 - name : Run the unit tests
117141 run : |
118- hatch -vv run test:nowarn || hatch run test:nowarn --lf
142+ hatch -vv run test:nowarn
119143
120144 test_prereleases :
121145 name : Test Prereleases
@@ -128,7 +152,7 @@ jobs:
128152 dependency_type : pre
129153 - name : Run the tests
130154 run : |
131- hatch run test:nowarn || hatch run test:nowarn --lf
155+ hatch run test:nowarn
132156
133157 make_sdist :
134158 name : Make SDist
@@ -148,7 +172,7 @@ jobs:
148172 - uses : jupyterlab/maintainer-tools/.github/actions/base-setup@v1
149173 - uses : jupyterlab/maintainer-tools/.github/actions/test-sdist@v1
150174 with :
151- test_command : pytest -vv || pytest -vv --lf
175+ test_command : pytest -vv
152176
153177 tests_check : # This job does nothing and is only used for the branch protection
154178 if : always()
0 commit comments