Skip to content

Commit 185981c

Browse files
committed
ci: stabilize build (poetry, lint, tests, mypy, smoke)
1 parent 19c6610 commit 185981c

File tree

1 file changed

+66
-0
lines changed

1 file changed

+66
-0
lines changed

.github/workflows/build.yml

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
name: CI / build
2+
3+
on:
4+
push:
5+
branches: [ main ]
6+
pull_request:
7+
branches: [ main ]
8+
workflow_dispatch:
9+
10+
permissions:
11+
contents: read
12+
13+
jobs:
14+
build:
15+
name: build (${{ matrix.python-version }})
16+
runs-on: ubuntu-latest
17+
strategy:
18+
fail-fast: false
19+
matrix:
20+
python-version: [ "3.11", "3.12" ]
21+
22+
steps:
23+
- name: Checkout
24+
uses: actions/checkout@v4
25+
26+
- name: Setup Python
27+
uses: actions/setup-python@v5
28+
with:
29+
python-version: ${{ matrix.python-version }}
30+
31+
- name: Upgrade pip
32+
run: python -m pip install --upgrade pip
33+
34+
- name: Install Poetry
35+
run: pip install poetry
36+
37+
- name: Install dependencies
38+
run: poetry install --no-interaction
39+
40+
- name: Ruff
41+
run: poetry run ruff check .
42+
43+
- name: Black (check)
44+
run: poetry run black --check .
45+
46+
- name: Pytest
47+
env:
48+
PYTHONPATH: src
49+
run: poetry run pytest -q
50+
51+
- name: Mypy
52+
run: poetry run mypy src
53+
54+
- name: Package & smoke-test CLI
55+
run: |
56+
poetry build
57+
poetry run python -m pip install .
58+
mkdir -p _intel
59+
diff-risk examples/sample_apv.json -f md -o _intel/report.md
60+
61+
- name: Upload sample report
62+
if: always()
63+
uses: actions/upload-artifact@v4
64+
with:
65+
name: sample-report
66+
path: _intel/report.md

0 commit comments

Comments
 (0)