forked from abrignoni/ALEAPP
-
Notifications
You must be signed in to change notification settings - Fork 0
42 lines (36 loc) · 1.32 KB
/
Copy pathpython_runtime_contract.yml
File metadata and controls
42 lines (36 loc) · 1.32 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
42
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. Without this the job could
# not see changes under scripts/, and a 3.12-only f-string shipped broken
# on 3.10/3.11 until it blocked unrelated pull requests (see #986).
- 'scripts/**'
# The entry points are covered by the same suite and are equally able to
# break on an older Python
- 'aleapp.py'
- 'aleappGUI.py'
jobs:
runtime-contract:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
python-version: ['3.10', '3.11']
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'