-
Notifications
You must be signed in to change notification settings - Fork 1
89 lines (76 loc) · 2.68 KB
/
test_with_coverage.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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
---
name: Build & Lint
on:
pull_request:
branches:
- main
# push:
# branches:
# - main
defaults:
run:
shell: bash
jobs:
build-test:
name: Test Run (${{ matrix.python-version }}, ${{ matrix.os }})
runs-on: ${{ matrix.os }}
env:
DISPLAY: ':99.0'
strategy:
fail-fast: false
matrix:
os: ["ubuntu-latest", "macos-latest", "windows-latest"]
python-version: ["3.10", "3.11"]
steps:
- name: Check out repository
uses: actions/checkout@v4
- name: Cache pip dependencies
uses: actions/cache@v3
with:
path: ~/.cache/pip
key: ${{ runner.os }}-pip-${{ hashFiles('requirements.txt') }}
restore-keys: |
${{ runner.os }}-pip-
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
pip install pytest-cov
- name: Lint and check code formatting
run: |
pipx install ruff
ruff check --output-format=github --target-version=py310
ruff format --diff --target-version=py310
continue-on-error: true
- name: Test dataloaders
run: >
pytest --cov=$GITHUB_WORKSPACE --cov-append --cov-report=xml
--cov-config=.coveragerc piva/tests/dataloaders_test.py
- name: Test viewers - install prerequisites
if: ${{matrix.os=='ubuntu-latest' && matrix.python-version=='3.10'}}
run: >
sudo apt install libxkbcommon-x11-0 libxcb-icccm4 libxcb-image0
libxcb-keysyms1 libxcb-randr0 libxcb-render-util0 libxcb-xinerama0
libxcb-xfixes0 x11-utils
- name: Test viewers - configure
if: ${{matrix.os=='ubuntu-latest' && matrix.python-version=='3.10'}}
run: >
/sbin/start-stop-daemon --start --quiet --pidfile
/tmp/custom_xvfb_99.pid --make-pidfile --background --exec
/usr/bin/Xvfb -- :99 -screen 0 1920x1200x24 -ac +extension GLX
- name: Test viewers - run tests
if: ${{matrix.os=='ubuntu-latest' && matrix.python-version=='3.10'}}
run: >
pytest --cov=$GITHUB_WORKSPACE --cov-append --cov-report=xml
--cov-config=.coveragerc piva/tests/viewers_test.py
- name: Upload coverage to Codecov
if: ${{matrix.os=='ubuntu-latest' && matrix.python-version=='3.10'}}
uses: codecov/codecov-action@v3
with:
files: ./coverage.xml
token: ${{ secrets.CODECOV_TOKEN }}
slug: pudeIko/piva