-
Notifications
You must be signed in to change notification settings - Fork 28
41 lines (35 loc) · 1.22 KB
/
Copy pathpython_runtime_contract.yml
File metadata and controls
41 lines (35 loc) · 1.22 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
name: Python Runtime Contract
on:
pull_request:
paths:
- '.github/workflows/python_runtime_contract.yml'
- 'README.md'
- 'requirements.txt'
# The job runs the whole admin/test/scripts suite, so trigger on all of it
- 'admin/test/scripts/**'
# The suite imports every artifact module, which is the only check that a
# change parses on the oldest supported Python. Lint runs on one, newer
# version and cannot see this class of break.
- 'scripts/**'
# The entry points are covered by the same suite and are equally able to
# break on an older Python
- 'vleapp.py'
- 'vleappGUI.py'
jobs:
runtime-contract:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
python-version: ['3.10', '3.11', '3.12']
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Install runtime dependencies
run: python -m pip install -r requirements.txt
- name: Run admin compatibility tests
run: python -m unittest discover -s admin/test/scripts -p 'test_*.py'