-
-
Notifications
You must be signed in to change notification settings - Fork 9
142 lines (136 loc) · 3.93 KB
/
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
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
name: style
on:
push:
branches: main
pull_request:
branches: main
jobs:
ruff:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest]
python: [3.9]
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python }}
architecture: x64
- uses: abatilo/actions-poetry@v3
with:
poetry-version: "1.8.2"
- name: Resolve dependencies
run: poetry export -f requirements.txt --without-hashes --only quality --output requirements.txt
- name: Install dependencies
run: |
python -m pip install --upgrade uv
uv pip install --system -r requirements.txt
- name: Run ruff
run: |
ruff --version
ruff check --diff .
mypy:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest]
python: [3.9]
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python }}
architecture: x64
- uses: abatilo/actions-poetry@v3
with:
poetry-version: "1.8.2"
- name: Resolve dependencies
run: poetry export -f requirements.txt --without-hashes --with quality --output requirements.txt
- name: Install dependencies
run: |
python -m pip install --upgrade uv
uv pip install --system -r requirements.txt
- name: Run mypy
run: |
mypy --version
mypy
mypy-client:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest]
python: [3.9]
steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python }}
architecture: x64
- name: Cache python modules
uses: actions/cache@v4
with:
path: ~/.cache/pip
key: ${{ runner.os }}-pkg-deps-${{ matrix.python }}-${{ hashFiles('client/pyproject.toml') }}
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -e client/. --upgrade
pip install "mypy==1.4.1"
- name: Run mypy
run: |
mypy --version
cd client && mypy
ruff-format:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest]
python: [3.9]
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python }}
architecture: x64
- uses: abatilo/actions-poetry@v3
with:
poetry-version: "1.8.2"
- name: Resolve dependencies
run: poetry export -f requirements.txt --without-hashes --only quality --output requirements.txt
- name: Install dependencies
run: |
python -m pip install --upgrade uv
uv pip install --system -r requirements.txt
- name: Run ruff
run: |
ruff --version
ruff format --check --diff .
precommit-hooks:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest]
python: [3.9]
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python }}
architecture: x64
- uses: abatilo/actions-poetry@v3
with:
poetry-version: "1.8.2"
- name: Resolve dependencies
run: poetry export -f requirements.txt --without-hashes --only quality --output requirements.txt
- name: Install dependencies
run: |
python -m pip install --upgrade uv
uv pip install --system -r requirements.txt
- name: Run pre-commit hooks
run: |
git checkout -b temp
pre-commit install
pre-commit --version
pre-commit run --all-files