Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
55 changes: 55 additions & 0 deletions .github/workflows/test_wppm.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
name: test_wppm
# Runs the wppm test suite on every push and pull request touching wppm.
#
# Dependencies are hash-pinned, like build_wppm.yml, so a new pytest release
# cannot change what CI does without a visible commit. To refresh them:
# python -m pip lock -r <(printf 'pytest\npackaging\n') -o pylock.wppmtest.toml
# python -X utf8 -c "from wppm import wheelhouse as wh; wh.pylock_to_req('pylock.wppmtest.toml', r'tests/requir.wppmtest.txt')"

on:
push:
paths:
- 'wppm/**'
- 'tests/**'
- 'pyproject.toml'
- '.github/workflows/test_wppm.yml'
pull_request:
paths:
- 'wppm/**'
- 'tests/**'
- 'pyproject.toml'
- '.github/workflows/test_wppm.yml'
workflow_dispatch:

permissions: {}

env:
PYTHONIOENCODING: utf-8

jobs:
pytest:
name: pytest on Python ${{ matrix.python-version }}
runs-on: windows-latest
strategy:
fail-fast: false
matrix:
# the versions WinPython currently ships
python-version: ['3.13', '3.14']

steps:
- uses: actions/checkout@v6
with:
persist-credentials: false

- name: Install Python
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}

- name: Install pinned test dependencies
shell: bash
run: python -m pip install --no-deps --require-hashes -r tests/requir.wppmtest.txt

- name: Run the test suite
shell: bash
run: python -m pytest -q
12 changes: 12 additions & 0 deletions tests/requir.wppmtest.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
colorama==0.4.6 \
--hash=sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6
iniconfig==2.3.0 \
--hash=sha256:f631c04d2c48c52b84d0d0549c99ff3859c98df65b3101406327ecc7d53fbf12
packaging==26.3 \
--hash=sha256:d7193f7c8e4e93f444fde0262bf90af30e16fa0ad0ad44cb553c87339b23cd1c
pluggy==1.6.0 \
--hash=sha256:e920276dd6813095e9377c0bc5566d94c932c33b27a3e3945d8389c374dd4746
pygments==2.20.0 \
--hash=sha256:81a9e26dd42fd28a23a2d169d86d7ac03b46e2f8b59ed4698fb4785f946d0176
pytest==9.1.1 \
--hash=sha256:37a86b45efb9a47a61a36449063e8e18d0cab3161329fc099eb21783169c4f0c
Loading