-
Notifications
You must be signed in to change notification settings - Fork 3
131 lines (103 loc) · 4.42 KB
/
Copy pathtest-python.yml
File metadata and controls
131 lines (103 loc) · 4.42 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
130
131
# This workflow will install Python dependencies, run tests and lint with a single version of Python
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-python
name: Test Python Apps
on:
push:
branches: [ "master", "v1*", "v2*", "v3*" ]
paths:
- ".github/**"
- 'MathTools/**'
- 'PositionLogger/**'
- 'control_python/**'
- 'minimal_python/**'
- 'monitor_python/**'
pull_request:
branches: [ "master", "v1*", "v2*", "v3*" ]
paths:
- ".github/**"
- 'MathTools/**'
- 'PositionLogger/**'
- 'control_python/**'
- 'minimal_python/**'
- 'monitor_python/**'
permissions:
contents: read # access to check out code and install dependencies
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7
- name: Set up Python 3.10
uses: actions/setup-python@v3
with:
python-version: "3.10"
# Note: The poetry version must match the version that created the lock files.
- name: Install test dependencies
run: |
python -m pip install --upgrade pip
python -m pip install poetry flake8
- name: MathTools - Install dependencies
working-directory: ./MathTools
run: poetry install --no-interaction --no-root
- name: MathTools - Run tests
working-directory: ./MathTools
run: poetry run pytest
- name: PositionLogger - Install dependencies
working-directory: ./PositionLogger
run: poetry install --no-interaction --no-root
- name: PositionLogger - Run tests
working-directory: ./PositionLogger
run: poetry run pytest
- name: MinimalApp - Install dependencies
working-directory: ./minimal_python
run: poetry install --no-interaction --no-root
- name: MinimalApp - Run tests
working-directory: ./minimal_python
run: poetry run pytest
- name: MonitorApp - Install dependencies
working-directory: ./monitor_python
run: poetry install --no-interaction --no-root
- name: MonitorApp - Run tests
working-directory: ./monitor_python
run: poetry run pytest
- name: ControlApp - Install dependencies
working-directory: ./control_python
run: poetry install --no-interaction --no-root
- name: ControlApp - Run tests
working-directory: ./control_python
run: poetry run pytest
- name: MathTools - Lint
working-directory: ./MathTools
run: |
# stop the build if there are Python syntax errors or undefined names
flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics
# exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide
flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics
- name: PositionLogger - Lint
working-directory: ./MathTools
run: |
# stop the build if there are Python syntax errors or undefined names
flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics
# exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide
flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics
- name: MinimalApp - Lint
working-directory: ./MathTools
run: |
# stop the build if there are Python syntax errors or undefined names
flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics
# exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide
flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics
- name: MonitorApp - Lint
working-directory: ./MathTools
run: |
# stop the build if there are Python syntax errors or undefined names
flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics
# exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide
flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics
- name: ControlApp - Lint
working-directory: ./MathTools
run: |
# stop the build if there are Python syntax errors or undefined names
flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics
# exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide
flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics