Skip to content

ci: add a test workflow + warning-clean pytest config#169

Open
NubsCarson wants to merge 3 commits into
dmarzzz:mainfrom
NubsCarson:chore/ci-and-tooling
Open

ci: add a test workflow + warning-clean pytest config#169
NubsCarson wants to merge 3 commits into
dmarzzz:mainfrom
NubsCarson:chore/ci-and-tooling

Conversation

@NubsCarson

Copy link
Copy Markdown
Contributor

The repo had only a tag-triggered release.yml — nothing gated commits, so a broken change could be tagged and released.

  • .github/workflows/ci.yml: runs the suite on push/PR across Python 3.12 + 3.13. Installs the version-matched CPU torch==2.11.0/torchaudio==2.11.0 pair from the PyTorch CPU index (leaving torchaudio unpinned drifts it to a mismatched major that fails on import); the engine self-mocks via tests/conftest.py, so no models download. Plus a Tauri-shell cargo check, guarded to cleanly no-op on refs without src-tauri/.
  • [tool.pytest.ini_options]: registers the e2e marker; marks the two TestResult accumulators __test__ = False.

Clears all 3 collection warnings; suite stays green (513 passed, 4 skipped). Install resolution verified in a fresh venv.

The repo had only a tag-triggered release.yml — nothing gated commits, so a broken
change could be tagged and released. Add a proper CI:

- .github/workflows/ci.yml: run the suite on push/PR across Python 3.12 + 3.13
  (CPU-only torch from the PyTorch CPU index; the engine self-mocks via
  tests/conftest.py so no models are downloaded). Plus a Tauri-shell `cargo check`
  job, guarded to cleanly no-op on refs that don't have src-tauri/ yet.
- pyproject: [tool.pytest.ini_options] registers the `e2e` marker and pins
  testpaths/addopts.
- tests: mark the two `TestResult` accumulators `__test__ = False` so pytest no
  longer tries to collect them as test classes.

Clears all 3 collection warnings; full suite stays green (513 passed, 4 skipped).
… failure)

Installing only `torch` from the CPU index let `torchaudio` drift to a different
major (torch 2.12 vs torchaudio 2.11), which fails on import — the known cause of
the libcudart/test failures on CPU. Pin the known-good matched pair
torch==2.11.0 / torchaudio==2.11.0 (both +cpu). Verified by resolving the full
dependency tree in a fresh venv.
The test job failed at collection with `OSError: PortAudio library not found` —
`audio.capture` imports `sounddevice`, which dlopens libportaudio at import time,
and the GitHub runner doesn't ship it. Add an apt step to install libportaudio2
before the test run (the engine is already mocked, so no models are needed).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant