-
Notifications
You must be signed in to change notification settings - Fork 1
129 lines (102 loc) · 2.98 KB
/
test.yaml
File metadata and controls
129 lines (102 loc) · 2.98 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
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
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
name: test
on:
push:
branches:
- master
- dev
- 'feature/**'
pull_request:
branches:
- master
- release
permissions:
contents: read
jobs:
lint:
runs-on: ubuntu-latest
steps:
- name: Dump GitHub context
env:
GITHUB_CONTEXT: ${{ toJson(github) }}
run: echo "$GITHUB_CONTEXT"
- uses: actions/checkout@v4
- name: 🐍 Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.12"
- uses: Gr1N/setup-poetry@v8
with:
poetry-version: "2.1.3"
- name: 🚀 Install Dependencies
run: |
# libgl1 library install needed for opencv-python to be imported to work
sudo apt-get update -y
sudo apt-get install libgl1 -y
python -m pip install --upgrade pip
poetry config virtualenvs.create false
poetry install --without docs,dev,test
- name: ✅ Check Code Quality - Pylint
run: |
make check-pylint
continue-on-error: false
- name: ✅ Check Code Quality - Ruff
run: |
make check-ruff
continue-on-error: false
- name: ✅ Check Code Quality - Mypy
run: |
make check-mypy
continue-on-error: false
- name: ✅ Check Code Quality - Black
run: |
make check-black
continue-on-error: false
test:
runs-on: ubuntu-latest
strategy:
matrix:
python-version:
- "3.14"
- "3.13"
- "3.12"
- "3.11"
- "3.10"
fail-fast: false
steps:
- name: Dump GitHub context
env:
GITHUB_CONTEXT: ${{ toJson(github) }}
run: echo "$GITHUB_CONTEXT"
- uses: actions/checkout@v4
- name: 🐍 Set up Python
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- uses: Gr1N/setup-poetry@v8
with:
poetry-version: "2.1.3"
- name: 🚀 Install Dependencies
run: |
# libgl1 library install needed for opencv-python to be imported to work
sudo apt-get update -y
sudo apt-get install libgl1 -y
python -m pip install --upgrade pip
poetry config virtualenvs.create false
poetry install --without docs,dev,check
- run: mkdir coverage
- name: ✅ Run Tests
run: make test
env:
COVERAGE_FILE: coverage/.coverage.${{ runner.os }}-py${{ matrix.python-version }}
CONTEXT: ${{ runner.os }}-py${{ matrix.python-version }}
- name: Store coverage files
uses: actions/upload-artifact@v4
with:
name: coverage-${{ matrix.python-version }}
path: coverage
include-hidden-files: true
- name: Upload Coverage
if: ${{ matrix.python-version == '3.13' }}
uses: codecov/codecov-action@v5
with:
token: ${{ secrets.CODECOV_TOKEN }}