Skip to content

Commit fec00ae

Browse files
committed
ci: add GitHub Actions workflow that runs the unittest suite (closes #13)
There was no CI on this repository — 137 unit tests in tests/ were only ever run when a developer remembered to run them locally. A regression that broke CLI parity, exclusion rules, exporter output, alias inference, or search filtering could land on master with no gate. New workflow `.github/workflows/tests.yml`: - Triggers on every push to master and every pull request. - Single ubuntu-latest runner, Python 3.12. - Installs only what the tests need (flask, fpdf2). pywebview from requirements.txt is the desktop-launcher dep and pulls GTK / Qt system packages — out of scope for the unittest suite, so it is deliberately omitted from the CI install. The unittest suite imports neither. - Runs `python -m unittest discover tests -v`. Local sanity-check with the same command on Python 3.12: 137/137 OK.
1 parent f8b3cb3 commit fec00ae

1 file changed

Lines changed: 30 additions & 0 deletions

File tree

.github/workflows/tests.yml

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
name: Tests
2+
3+
on:
4+
push:
5+
branches: [master]
6+
pull_request:
7+
8+
jobs:
9+
unittest:
10+
name: Unit tests
11+
runs-on: ubuntu-latest
12+
13+
steps:
14+
- uses: actions/checkout@v4
15+
16+
- name: Set up Python
17+
uses: actions/setup-python@v5
18+
with:
19+
python-version: '3.12'
20+
21+
- name: Install runtime + test dependencies
22+
# Only what the tests actually exercise. `pywebview` from requirements.txt
23+
# is the desktop-launcher dep and pulls GTK / Qt system packages on Linux
24+
# — out of scope for the unittest suite, so it's deliberately omitted here.
25+
run: |
26+
python -m pip install --upgrade pip
27+
python -m pip install 'flask>=3.0' 'fpdf2>=2.7'
28+
29+
- name: Run unittest suite
30+
run: python -m unittest discover tests -v

0 commit comments

Comments
 (0)