Skip to content

Commit 51ef44b

Browse files
authored
Merge pull request #2069 from stonebig/master
ci: run the wppm test suite on push and pull request
2 parents e6c1f84 + 0180f41 commit 51ef44b

2 files changed

Lines changed: 67 additions & 0 deletions

File tree

.github/workflows/test_wppm.yml

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
name: test_wppm
2+
# Runs the wppm test suite on every push and pull request touching wppm.
3+
#
4+
# Dependencies are hash-pinned, like build_wppm.yml, so a new pytest release
5+
# cannot change what CI does without a visible commit. To refresh them:
6+
# python -m pip lock -r <(printf 'pytest\npackaging\n') -o pylock.wppmtest.toml
7+
# python -X utf8 -c "from wppm import wheelhouse as wh; wh.pylock_to_req('pylock.wppmtest.toml', r'tests/requir.wppmtest.txt')"
8+
9+
on:
10+
push:
11+
paths:
12+
- 'wppm/**'
13+
- 'tests/**'
14+
- 'pyproject.toml'
15+
- '.github/workflows/test_wppm.yml'
16+
pull_request:
17+
paths:
18+
- 'wppm/**'
19+
- 'tests/**'
20+
- 'pyproject.toml'
21+
- '.github/workflows/test_wppm.yml'
22+
workflow_dispatch:
23+
24+
permissions: {}
25+
26+
env:
27+
PYTHONIOENCODING: utf-8
28+
29+
jobs:
30+
pytest:
31+
name: pytest on Python ${{ matrix.python-version }}
32+
runs-on: windows-latest
33+
strategy:
34+
fail-fast: false
35+
matrix:
36+
# the versions WinPython currently ships
37+
python-version: ['3.13', '3.14']
38+
39+
steps:
40+
- uses: actions/checkout@v6
41+
with:
42+
persist-credentials: false
43+
44+
- name: Install Python
45+
uses: actions/setup-python@v5
46+
with:
47+
python-version: ${{ matrix.python-version }}
48+
49+
- name: Install pinned test dependencies
50+
shell: bash
51+
run: python -m pip install --no-deps --require-hashes -r tests/requir.wppmtest.txt
52+
53+
- name: Run the test suite
54+
shell: bash
55+
run: python -m pytest -q

tests/requir.wppmtest.txt

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
colorama==0.4.6 \
2+
--hash=sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6
3+
iniconfig==2.3.0 \
4+
--hash=sha256:f631c04d2c48c52b84d0d0549c99ff3859c98df65b3101406327ecc7d53fbf12
5+
packaging==26.3 \
6+
--hash=sha256:d7193f7c8e4e93f444fde0262bf90af30e16fa0ad0ad44cb553c87339b23cd1c
7+
pluggy==1.6.0 \
8+
--hash=sha256:e920276dd6813095e9377c0bc5566d94c932c33b27a3e3945d8389c374dd4746
9+
pygments==2.20.0 \
10+
--hash=sha256:81a9e26dd42fd28a23a2d169d86d7ac03b46e2f8b59ed4698fb4785f946d0176
11+
pytest==9.1.1 \
12+
--hash=sha256:37a86b45efb9a47a61a36449063e8e18d0cab3161329fc099eb21783169c4f0c

0 commit comments

Comments
 (0)