8e6ee31596
ci / test (push) Successful in 6m18s
History-free snapshot of the private development repository at cbe45c5 (2026-09-09). Code, docs and public catalogue only; no plant or job knowledge layers, no client or job names (tools/scrub.py clean). The intro deck is left out of this snapshot because its slide images could not 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
|