1+ name : CI
2+
3+ on :
4+ push :
5+ branches : [ main ]
6+ pull_request :
7+ branches : [ main ]
8+
9+ jobs :
10+ test :
11+ runs-on : ubuntu-latest
12+
13+ steps :
14+ - name : Check out repository
15+ uses : actions/checkout@v3
16+
17+ - name : Set up Python 3.13
18+ uses : actions/setup-python@v4
19+ with :
20+ python-version : " 3.13"
21+
22+ - name : Install PDM
23+ run : |
24+ python -m pip install --upgrade pip
25+ pip install pdm
26+
27+ - name : Install dependencies
28+ run : |
29+ pdm install -G:all
30+
31+ - name : Run tests with coverage
32+ run : |
33+ pdm run pytest --cov-report=xml
34+
35+ - name : Upload coverage to Codecov
36+ uses : codecov/codecov-action@v3
37+ with :
38+ token : ${{ secrets.CODECOV_TOKEN }}
39+ file : ./coverage.xml
40+ fail_ci_if_error : false
41+
42+ format :
43+ runs-on : ubuntu-latest
44+
45+ steps :
46+ - name : Check out repository
47+ uses : actions/checkout@v3
48+
49+ - name : Set up Python 3.13
50+ uses : actions/setup-python@v4
51+ with :
52+ python-version : " 3.13"
53+
54+ - name : Install PDM
55+ run : |
56+ python -m pip install --upgrade pip
57+ pip install pdm
58+
59+ - name : Install dependencies
60+ run : |
61+ pdm install -G:all
62+
63+ - name : Check Black formatting
64+ run : |
65+ pdm run black --check
66+
67+ - name : Check isort
68+ run : |
69+ pdm run isort --check
70+
71+ - name : Check unused imports with autoflake
72+ run : |
73+ pdm run autoflake
74+
75+ type-check :
76+ runs-on : ubuntu-latest
77+
78+ steps :
79+ - name : Check out repository
80+ uses : actions/checkout@v3
81+
82+ - name : Set up Python 3.13
83+ uses : actions/setup-python@v4
84+ with :
85+ python-version : " 3.13"
86+
87+ - name : Install PDM
88+ run : |
89+ python -m pip install --upgrade pip
90+ pip install pdm
91+
92+ - name : Install dependencies
93+ run : |
94+ pdm install -G:all
95+
96+ - name : Run mypy
97+ run : |
98+ pdm run mypy
99+
100+ docs :
101+ runs-on : ubuntu-latest
102+
103+ steps :
104+ - name : Check out repository
105+ uses : actions/checkout@v3
106+
107+ - name : Set up Python 3.13
108+ uses : actions/setup-python@v4
109+ with :
110+ python-version : " 3.13"
111+
112+ - name : Install PDM
113+ run : |
114+ python -m pip install --upgrade pip
115+ pip install pdm
116+
117+ - name : Install dependencies
118+ run : |
119+ pdm install -G:all
120+
121+ - name : Check markdown formatting
122+ run : |
123+ echo "Markdown format checking temporarily disabled"
124+ exit 0
125+
126+ # todo: https://github.com/ydah/mdformat-action
127+
128+ # build:
129+ # runs-on: ubuntu-latest
130+ # needs: [test, format, type-check, docs]
131+
132+ # steps:
133+ # - name: Check out repository
134+ # uses: actions/checkout@v3
135+
136+ # - name: Set up Python 3.13
137+ # uses: actions/setup-python@v4
138+ # with:
139+ # python-version: "3.13"
140+
141+ # - name: Install PDM
142+ # run: |
143+ # python -m pip install --upgrade pip
144+ # pip install pdm
145+
146+ # - name: Install dependencies
147+ # run: |
148+ # pdm install -G:all
149+
150+ # - name: Build package
151+ # run: |
152+ # pdm build
0 commit comments