-
Notifications
You must be signed in to change notification settings - Fork 37
41 lines (39 loc) · 1.23 KB
/
lint.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
name: Lint and Test
on: push
permissions:
contents: read
jobs:
lint:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.10", "3.11", "3.12", "3.13"]
steps:
- uses: actions/checkout@v4
- name: Setup Graphviz
uses: ts-graphviz/setup-graphviz@v2
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
id: cpython3
with:
python-version: ${{ matrix.python-version }}
cache: pip
cache-dependency-path: requirements.txt
allow-prereleases: true
- run: pip install -r requirements.txt
- run: pip install black ruff pytest pytest-cov
- run: ruff check .
- name: Run mypy if on 3.12, pytype otherwise
run: |
if [[ '${{ steps.cpython3.outputs.python-version }}' == 3.11* ]]; then
pip install pytype
pytype -j auto graphviz2drawio
else
echo "pytype does not support >= 3.12: https://github.com/google/pytype/issues/1475"
pip install mypy
mypy graphviz2drawio --ignore-missing-imports
fi
- uses: psf/black@stable
with:
options: "--check --verbose"
- run: pytest --cov