Skip to content

ci: implement notebook regression testing pipeline#4

Merged
JacksonFergusonDev merged 2 commits into
mainfrom
tests
Jan 30, 2026
Merged

ci: implement notebook regression testing pipeline#4
JacksonFergusonDev merged 2 commits into
mainfrom
tests

Conversation

@JacksonFergusonDev

@JacksonFergusonDev JacksonFergusonDev commented Jan 30, 2026

Copy link
Copy Markdown
Owner

Summary

Integrates nbmake into the CI pipeline to enforce execution validity on analysis-focused Jupyter notebooks.

Changes

  • pyproject.toml: Added nbmake to the dev dependency group.
  • .github/workflows/ci.yml: Added a Run Notebook Regression Tests step.

Implementation Details

The pipeline now executes the following notebooks:

  1. oscilloscope-rp2040/notebooks/02_instrument_analysis.ipynb
  2. oscilloscope-rp2040/notebooks/04_transfer_analysis.ipynb

Exclusions:
Acquisition notebooks (01_instrument_acquisition.ipynb, 03_transfer_acquisition.ipynb) are explicitly excluded. These require physical hardware (RP2040) and external triggers, which would cause the runner to hang or fail on I/O.

Injects `nbmake` into the `dev` dependency group in `pyproject.toml`. This is required to enable regression testing of Jupyter notebooks via the `pytest` plugin system within the `uv` environment.
- Updates `.github/workflows/ci.yml` to execute `pytest --nbmake` on specific targets.
- Targets: `02_instrument_analysis.ipynb` and `04_transfer_analysis.ipynb`.
- Excludes: Acquisition notebooks (01, 03) to prevent hanging on hardware triggers/IO.
- Sets a 600s timeout to accommodate heavier data processing in analysis cells.
@JacksonFergusonDev JacksonFergusonDev merged commit 41a09d6 into main Jan 30, 2026
2 checks passed
@JacksonFergusonDev JacksonFergusonDev deleted the tests branch January 30, 2026 02:47
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