-
Notifications
You must be signed in to change notification settings - Fork 1
58 lines (54 loc) · 1.53 KB
/
build-test.yml
File metadata and controls
58 lines (54 loc) · 1.53 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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
name: Run Tests
on:
- push
- pull_request
- workflow_dispatch
- workflow_call
jobs:
test:
name: Test (pytest)
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os:
- ubuntu-latest
python:
- version: "3.8"
toxenv: "py38"
- version: "3.9"
toxenv: "py39"
- version: "3.10"
toxenv: "py310"
- version: "3.11"
toxenv: "py311"
- version: "3.12"
toxenv: "py312"
include:
- os: ubuntu-22.04
python: { version: "3.7", toxenv: "py37" }
steps:
- uses: actions/checkout@v5
- uses: actions/setup-python@v6.0.0
with:
python-version: ${{ matrix.python.version }}
- name: Install tox
run: |
python -m pip install --upgrade pip
python -m pip install tox
- name: Get test dataset
uses: actions/cache@v4
id: cache_dataset
with:
path: ${{ github.workspace }}/tests/data
key: ${{ hashFiles('tests/data/**') }}
- if: steps.cache_dataset.outputs.cache-hit != 'true'
working-directory: ${{ github.workspace }}/tests/data
run: sh get_test_data.sh
- name: Run pytest
run: tox -e ${{ matrix.python.toxenv }} -- --html=report.html --self-contained-html
- name: Upload pytest report
uses: actions/upload-artifact@v4
with:
name: pytest-report-${{ matrix.python.toxenv }}
path: report.html