Add a CI workflow running py_compile and the test suite - #18
Merged
Conversation
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Member
Author
Self-reviewA structured rubric was applied to the diff at
Findings folded in from inline notes
One rubric item required a fix during review (the This review was drafted during a Gardener session (https://github.com/Stephenson-Software/gardener). drafted by Claude on behalf of Daniel Stephenson |
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
.github/workflows/tests.yml. It runs on every push tomainand on every pull request, and performs three steps:python -m py_compileover both modules,python -m unittest discover -s tests -v, and one full run of the program with a 15-line fixture redirected onto stdin.README.mdactually documents. The step asserts that exactly five lines were written toideas/ideas-<timestamp>.txt— one per pair.README.md) and 3.13 (a current release).fail-fastis disabled so a failure on one version does not hide the other's result.actions/checkout@v5andactions/setup-python@v6are used rather than the previous major versions, which are annotated by the runner as targeting a deprecated Node runtime. No other action, and no dependency, is installed.README.md's Tests section is extended with a sentence recording what CI runs, so the workflow and the documentation cannot drift apart silently.['keyword', 'keyword']: ideaoutput line, theideas/ideas-<timestamp>.txtfilename, and thecamelCasehouse style are all unchanged.This completes the last outstanding part of #13. The
__main__guard and theunittestsuite were landed in #17, and the Python floor was declared inREADME.mdin #16; the CI workflow was the remaining item.Closes #13
Test plan
Locally, from the repository root, on Python 3.8.10
python3 --version→Python 3.8.10python3 -m py_compile src/collide.py src/ideaCollisionGenerator.py→compile OKpython3 -m unittest discover -s tests→Ran 16 tests in 0.005s/OKpython3 src/collide.py < collide-ci-workflow-and-debugpy-stdin.txt(a 15-line fixture: 10 keywords then 5 ideas) completed without error and printed:wc -l ideas/ideas-2026-08-30_01.13.03.txt→5, one line per pair, in the committed format:git status --porcelainshows no__pycache__, no generatedideas/ideas-*.txt, and no editor or harness state staged.In CI, on this pull request
The workflow's
pull_requesttrigger runs it from this branch, so it was observed green here rather than only after merge. Run 33298802589 succeeded on both matrix entries with all three steps passing, and the two earlier runs on this branch recordedRan 16 testson both 3.8 and 3.13.Protected path — human merge required
.github/workflows/*is a do-not-auto-merge path, so this pull request is left open for review rather than merged. Merging was also not authorized for the session that produced it.Backlog deferred this cycle
.vscode/launch.jsondeprecated"python"debugger type) was selected as a companion change and then dropped: editing.vscode/launch.jsonis refused as a sensitive path by the harness that produced this pull request. The one-line change of"type"to"debugpy"remains unmade and is left for a session with permission to edit that file.COPYRIGHT.mdcontradictsLICENSE) is deliberately untouched — which license governs is the repository owner's decision, not an autonomous one.This PR description was drafted during a Gardener session (https://github.com/Stephenson-Software/gardener).
drafted by Claude on behalf of Daniel Stephenson