Repository navigation
ci: tests, docs build and the optimizer extras on GitHub Actions - #16
Draft
haizhongzheng wants to merge 3 commits into
Draft
haizhongzheng wants to merge 3 commits into
haizhongzheng wants to merge 3 commits into
Conversation
Every pull request and push to main installs the package in a clean environment on Python 3.11 and 3.12, checks that it imports and the console script runs, and runs the test suite with bubblewrap installed (its tests skip where the runner cannot make namespaces). The documentation builds with warnings as errors. The gepa and skillopt extras, which install from git, are tested in a separate job on pushes to main and on request, not on every pull request. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…n 2026-10-19) Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
haizhongzheng
marked this pull request as draft
October 18, 2026 18:31
haizhongzheng
force-pushed
the
main
branch
2 times, most recently
from
October 19, 2026 20:58
15884ff to
7124bb5
Compare
This branch has not been deployed
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.
The repository had no CI: the 96 tests were run by hand before each merge. This adds
.github/workflows/test.yml.What runs
tests(Python 3.11, 3.12)pip install -e '.[test]'in a clean environment;import harnessadapter,harnessadapter --help,harnessadapter backends list;pytest tests -q -rswith bubblewrap installed (a probe step reports whether the runner can make namespaces; the sandbox tests skip if not)docssphinx -W --keep-going -b html docsextraspip install -e '.[test,gepa,skillopt]'andtests/test_optimizer_evolvers.py(the extras install from git and take minutes)Nothing here calls a model, needs a key, a GPU or a CLI agent; those paths keep their manual entry points (the examples' launchers).
Verified locally
pytest tests: 90 passed, 6 skipped (the extras).sphinx -Wbuilds the docs without warnings.Found on the way, not changed here
The learner sandbox binds the resolved path of every visible directory, not the path by which it is reached. On a machine where
~/.cacheis a symlink to another filesystem, a venv under~/.cacheis bound at its real path only,/usr/bin/env python3follows PATH to the symlinked path, and the mwm Evolver's fake codex fails to start (6 of 7test_mwm_evolver.pytests). The same venv at its real path passes. The repository's own.venvsits inside the checkout, which is bound whole, so this never showed. GitHub's runners keep Python under a real directory.🤖 Generated with Claude Code