Skip to content

Commit f51bc39

Browse files
committed
ci: add GitHub Actions workflow (lint + unit + e2e)
Three jobs: - lint: ruff check on src/ and tests/ - unit: pytest across Python 3.10/3.11/3.12 (excludes e2e) - e2e: Playwright browser tests against the wizard GUI (Chromium) Concurrency group cancels in-progress runs on the same ref. Made-with: Cursor
1 parent 216a8f3 commit f51bc39

1 file changed

Lines changed: 46 additions & 0 deletions

File tree

.github/workflows/ci.yml

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
name: CI
2+
3+
on:
4+
push:
5+
branches: [main]
6+
pull_request:
7+
branches: [main]
8+
9+
concurrency:
10+
group: ci-${{ github.ref }}
11+
cancel-in-progress: true
12+
13+
jobs:
14+
lint:
15+
runs-on: ubuntu-latest
16+
steps:
17+
- uses: actions/checkout@v4
18+
- uses: actions/setup-python@v5
19+
with:
20+
python-version: "3.12"
21+
- run: pip install ruff
22+
- run: ruff check src/ tests/
23+
24+
unit:
25+
runs-on: ubuntu-latest
26+
strategy:
27+
matrix:
28+
python-version: ["3.10", "3.11", "3.12"]
29+
steps:
30+
- uses: actions/checkout@v4
31+
- uses: actions/setup-python@v5
32+
with:
33+
python-version: ${{ matrix.python-version }}
34+
- run: pip install ".[dev]"
35+
- run: pytest tests/ --ignore=tests/e2e -v --tb=short
36+
37+
e2e:
38+
runs-on: ubuntu-latest
39+
steps:
40+
- uses: actions/checkout@v4
41+
- uses: actions/setup-python@v5
42+
with:
43+
python-version: "3.12"
44+
- run: pip install ".[dev]"
45+
- run: playwright install --with-deps chromium
46+
- run: pytest tests/e2e/ -v --tb=short

0 commit comments

Comments
 (0)