-
-
Notifications
You must be signed in to change notification settings - Fork 3
114 lines (97 loc) · 3.15 KB
/
code-style.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
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
name: Code Style
on:
push:
jobs:
# Flake 8 for basic code style checks
flake8:
name: Flake 8
runs-on: ubuntu-latest
steps:
- name: Check out repository
uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: 3.11
cache: pip
cache-dependency-path: |
**/pyproject.toml
**/requirements*.txt
- name: Create build info
run: |
bash scripts/build-info.sh
- name: Install Flake8 (5.0.4)
run: |
python -m pip install --upgrade pip
pip install flake8==5.0.4
- name: Install dependencies
run: |
ROOT=$(pwd)
for package in $(ls packages); do
echo "-------------------------------------------------"
echo "- $package"
echo "-------------------------------------------------"
cd "$ROOT/packages/$package"
pip install -r requirements.txt
make local-deps
echo "================================================="
done
- name: Install package
run: |
for package in $(ls packages); do
echo "-------------------------------------------------"
echo "- $package"
echo "-------------------------------------------------"
pip install packages/$package
echo "================================================="
done
- name: Lint with flake8
run: |
flake8 packages --count --select=E9,F63,F7,F82 --show-source --statistics
flake8 packages --count --max-complexity=12 --max-line-length=130 --statistics
# Typing checks with MyPy
typing:
name: Typing
runs-on: ubuntu-latest
steps:
- name: Check out repository
uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: 3.11
cache: pip
cache-dependency-path: |
**/pyproject.toml
**/requirements*.txt
- name: Create build info
run: |
bash scripts/build-info.sh
- name: Install MyPy (1.4.1)
run: |
python -m pip install --upgrade pip
pip install mypy==1.4.1
- name: Install dependencies
run: |
ROOT=$(pwd)
for package in $(ls packages); do
echo "-------------------------------------------------"
echo "- $package"
echo "-------------------------------------------------"
cd "$ROOT/packages/$package"
pip install -r requirements.txt
make local-deps
echo "================================================="
done
- name: Install packages
run: |
for package in $(ls packages); do
echo "-------------------------------------------------"
echo "- $package"
echo "-------------------------------------------------"
pip install packages/$package
echo "================================================="
done
- name: Check typing with MyPy
run: |
mypy --install-types --ignore-missing-imports --check-untyped-defs --non-interactive packages/*/dsw