101: testgnss project scaffold + CI #41

Merged
ykp merged 2 commits from feat/101-testgnss-scaffold into main 2026-10-06 13:34:50 +02:00
Owner

Step 101 — testgnss project scaffold + CI

Creates the testgnss Python package skeleton alongside gengnss.

Changes

  • Package layout src/testgnss/: __init__.py (v0.1.0), app.py (stub entry point), empty submodules for io/engine/gui
  • pyproject.toml: testgnss extras (plotly>=5.18, kaleido>=0.2), console entry point testgnss = "testgnss.app:main"
  • CI: new testgnss job matrix (py3.9/3.12/3.14) with lint + pytest + coverage; gengnss job unchanged
  • Smoke test tests/test_testgnss_smoke.py: 6 passing tests (version, imports, headless safety, cross-package deps)
  • Backlog: mark step 101 as done in overview

Verification

pytest tests/test_testgnss_smoke.py -q  → 6 passed
ruff check src/testgnss tests/test_testgnss_smoke.py  → All checks passed
testgnss  → NotImplementedError (expected, GUI not yet built)
pytest -q  → all gengnss tests pass (no regression)

Depends on: nothing (first testgnss step)

## Step 101 — testgnss project scaffold + CI Creates the `testgnss` Python package skeleton alongside `gengnss`. ### Changes - **Package layout** `src/testgnss/`: `__init__.py` (v0.1.0), `app.py` (stub entry point), empty submodules for io/engine/gui - **pyproject.toml**: testgnss extras (plotly>=5.18, kaleido>=0.2), console entry point `testgnss = "testgnss.app:main"` - **CI**: new `testgnss` job matrix (py3.9/3.12/3.14) with lint + pytest + coverage; gengnss job unchanged - **Smoke test** `tests/test_testgnss_smoke.py`: 6 passing tests (version, imports, headless safety, cross-package deps) - **Backlog**: mark step 101 as done in overview ### Verification ``` pytest tests/test_testgnss_smoke.py -q → 6 passed ruff check src/testgnss tests/test_testgnss_smoke.py → All checks passed testgnss → NotImplementedError (expected, GUI not yet built) pytest -q → all gengnss tests pass (no regression) ``` Depends on: nothing (first testgnss step)
101(testgnss): project scaffold + CI
Some checks failed
ci / testgnss (3.12) (pull_request) Failing after 1m56s
ci / testgnss (3.14) (pull_request) Failing after 1m41s
ci / test (3.14) (push) Failing after 1m42s
ci / test (3.12) (push) Failing after 1m46s
ci / testgnss (3.9) (pull_request) Failing after 1m37s
ci / test (3.9) (push) Failing after 2m9s
ci / testgnss (3.12) (push) Failing after 2m13s
ci / testgnss (3.14) (push) Failing after 2m17s
ci / test (3.9) (pull_request) Failing after 2m16s
ci / testgnss (3.9) (push) Failing after 2m20s
ci / test (3.12) (pull_request) Failing after 2m24s
ci / test (3.14) (pull_request) Failing after 2m20s
f0524036c3
Create the testgnss Python package skeleton alongside gengnss:
- src/testgnss/ package with __init__.py, app.py, and stub submodules
- pyproject.toml: testgnss extras (plotly, kaleido) + console entry point
- CI: new testgnss job matrix (3.9/3.12/3.14) with lint + pytest + coverage
- tests/test_testgnss_smoke.py: 6 smoke tests (imports, version, headless,
  cross-package deps)
- docs/backlog/000-overview.md: mark 101 as done
- All existing gengnss tests pass, ruff clean on new code
fix(101): make plotly import test skippable
Some checks failed
ci / testgnss (3.14) (push) Failing after 2m24s
ci / testgnss (3.9) (push) Failing after 2m8s
ci / testgnss (3.12) (pull_request) Failing after 1m37s
ci / test (3.9) (pull_request) Failing after 2m10s
ci / testgnss (3.14) (pull_request) Failing after 1m45s
ci / test (3.14) (push) Failing after 1m39s
ci / test (3.12) (push) Failing after 1m49s
ci / testgnss (3.12) (push) Failing after 1m35s
ci / test (3.9) (push) Failing after 2m12s
ci / test (3.12) (pull_request) Failing after 3m12s
ci / test (3.14) (pull_request) Failing after 3m10s
ci / testgnss (3.9) (pull_request) Failing after 1m41s
2f5815f5d8
- Use pytest.importorskip for plotly test so it passes when
  plotly is not installed (e.g. main CI job without testgnss extras)
- Fix gengnss code import to use module-level access
ykp merged commit baef55b5e0 into main 2026-10-06 13:34:50 +02:00
ykp deleted branch feat/101-testgnss-scaffold 2026-10-06 13:34:50 +02:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
ykp/gengnss!41
No description provided.