25592fa6c2
ci / test (push) Successful in 6m14s
History-free snapshot of the private development repository at 77a82eb. Code, docs and the public catalogue only: no plant or job knowledge layers, no client, job or producer names (tools/scrub.py clean against the widened term list; a second word-level grep clean). The intro deck is left out because its slide images cannot be checked for job drawings.
39 lines
1.3 KiB
YAML
39 lines
1.3 KiB
YAML
name: ci
|
|
|
|
on:
|
|
push:
|
|
branches: [main]
|
|
pull_request:
|
|
|
|
jobs:
|
|
test:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- uses: actions/setup-python@v5
|
|
with:
|
|
python-version: '3.12'
|
|
|
|
- name: Install
|
|
# requirements.txt is the single source of truth for host-side deps.
|
|
# PyYAML fixes collection (ticketpage._read_yaml falls back to it off
|
|
# IronPython; without it eight test files die before running). pymupdf
|
|
# is also required, or test_libindex.py's 77 tests silently SKIP via
|
|
# importorskip instead of running -- a green run that tested less.
|
|
run: pip install -r requirements.txt
|
|
|
|
- name: panellift tests
|
|
run: python -m pytest panellift -q -p no:cacheprovider
|
|
|
|
- name: vibe tests (the Revit-free half of the extension)
|
|
run: python -m pytest WillTools.extension -q -p no:cacheprovider
|
|
|
|
- name: Syntax smoke (extension + tools + panellift)
|
|
run: python -m compileall -q WillTools.extension tools panellift/src
|
|
|
|
- name: Scrub worktree with the committed generic sample terms
|
|
# Real client names never leave the local machine: .scrub-terms is
|
|
# gitignored, so CI runs the generic .scrub-terms.example instead.
|
|
run: python tools/scrub.py --worktree --terms .scrub-terms.example
|