feat: add notebook smoke tests - #46
Merged
Merged
Conversation
Extend run_smoke.py to also execute notebooks listed in smoke_notebooks.txt via jupyter nbconvert. Executed copies are written to /tmp so the checked-in notebooks/ tree stays clean. On execution failure the runner regenerates the single failing notebook from its source .py script via PyAutoBuild's py_to_notebook and retries once, catching stale notebooks where the on-disk .ipynb wasn't refreshed by /pre_build's generate.py. The workflow now also checks out PyAutoBuild and installs jupyter + nbconvert + ipynb-py-convert, with PyAutoBuild/autobuild on PYTHONPATH for the runner step. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds notebook-based smoke tests to the autofit_workspace CI. The existing script smoke loop now runs a second pass over Jupyter notebooks listed in
smoke_notebooks.txt, executed viajupyter nbconvert. If a notebook fails to execute the runner regenerates it from its source.pyscript via PyAutoBuild'spy_to_notebookand retries once — catching stale notebooks without needing a fullgenerate.pypass. Whole-workspace regeneration stays the responsibility ofgenerate.py; smoke only regenerates the single failing notebook so the recovery is cheap.Scripts Changed
.github/scripts/run_smoke.py— extended with notebook execution loop, temp-dir output (so checked-in notebooks aren't dirtied), and regen-on-failure.github/workflows/smoke_tests.yml— added PyAutoBuild checkout,jupyter/nbconvert/ipynb-py-convertinstall, andPYTHONPATH=PyAutoBuild/autobuildfor the runner stepsmoke_notebooks.txt(new) —overview/overview_1_the_basics.ipynb,searches/mcmc.ipynbRefs PyAutoLabs/autolens_workspace#110
Test Plan
🤖 Generated with Claude Code