44 lines (37 loc) · 1.23 KB
/
test.yml
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
43
44
name: Test
on:
pull_request:
paths:
- ".github/workflows/test.yml"
- "**.py"
push:
paths:
- ".github/workflows/test.yml"
- "**.py"
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.sha }}
cancel-in-progress: true
jobs:
test:
name: ${{ matrix.os }} / ${{ matrix.python_version }}
runs-on: ${{ matrix.os }}-latest
strategy:
fail-fast: false
matrix:
os: [Ubuntu, Windows, macOS]
python_version:
["3.7", "3.8", "3.9", "3.10", "pypy-3.7", "pypy-3.8", "pypy-3.9"]
steps:
- uses: actions/checkout@v1
- uses: actions/setup-python@v3
name: Install Python ${{ matrix.python_version }}
with:
python-version: ${{ matrix.python_version }}
cache: "pip"
- name: Run nox
run: pipx run nox --error-on-missing-interpreters -s tests-${{ matrix.python_version }}
if: ${{ ! startsWith( matrix.python_version, 'pypy' ) }}
# Binary is named 'pypy3', but setup-python specifies it as 'pypy-3.x'.
- name: Run nox for pypy3
run: pipx run nox --error-on-missing-interpreters -s tests-pypy3
if: ${{ startsWith( matrix.python_version, 'pypy' ) }}