Skip to content

Syntax-check every top-level module in the workflow - #64

Merged
dmccoystephenson merged 1 commit into
mainfrom
feature/py-compile-all-modules
Nov 10, 2026
Merged

dmccoystephenson merged 1 commit into
mainfrom
feature/py-compile-all-modules

Conversation

@dmccoystephenson

Copy link
Copy Markdown
Member

Summary

  • The Check syntax step in .github/workflows/tests.yml now runs python -m py_compile *.py instead of naming seven modules. The list had fallen behind text_renderer.py, console_view.py and viron_address.py; the glob covers all ten top-level modules and any module added later, so the step no longer needs editing per module.
  • The README's Running the tests section no longer names those three modules as exceptions.

The runner's default shell is bash, and the glob matches only files in the repository root, so tests/ and the unpopulated Viron/ directory are not compiled (as before).

Closes #61

Test plan

  • python3 -m py_compile *.py passes locally across all ten top-level modules
  • python3 -m unittest discover -s tests — 205 tests ran, OK
  • Tests workflow green on this PR

Merge note

This PR modifies .github/workflows/, which is on the dev loop's do-not-auto-merge list, so it is left open for a human to merge.

Deferred issues

This PR description was drafted during a Gardener session (https://github.com/Stephenson-Software/gardener).

🤖 Generated with Claude Code


drafted by Claude on behalf of Daniel Stephenson

The Check syntax step listed modules by name and had fallen behind
text_renderer.py, console_view.py and viron_address.py. A shell glob
covers them and any module added later.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@dmccoystephenson

Copy link
Copy Markdown
Member Author

Self-review rubric (scored against the PR head, after the Tests workflow went green):

  • Scope: PASS — two files changed: the workflow's Check syntax step and the matching README sentence, both named in The workflow's py_compile step omits text_renderer.py and console_view.py #61's acceptance criteria.
  • Tests-new: PASS (not applicable) — no new function or method was added.
  • Tests-fix: PASS (not applicable) — no production code changed. The step was checked empirically instead. Run 42460933172 shows Run python -m py_compile *.py under /usr/bin/bash -e. A glob with no match would be passed through as a literal *.py, and py_compile would then fail on a missing file, so the green step shows the glob matched.
  • Sibling structure: PASS — the new comment follows the style of the workflow's existing step comments.
  • Sibling renames: PASS (not applicable) — nothing was renamed.
  • Docs: PASS — README.md:261 no longer names exceptions. The commands in create_environments.bat, up.bat and down.bat are not affected.
  • Issue resolution: PASS — both acceptance criteria of The workflow's py_compile step omits text_renderer.py and console_view.py #61 are met: the step no longer needs a list, and the README exception is removed.
  • Manual validation: PASS — python3 -m py_compile *.py passes locally and python3 -m unittest discover -s tests ran 205 tests OK. CI also ran 205 tests OK. The pygame/Viron interactive check does not apply because no rendering code or service call was changed.

Judgment call: *.py matches only the repository root, so a module placed in a subpackage later would not be syntax-checked by this step. No such module exists today, and anything the suite imports is still covered by the test step.

Merge hold: .github/workflows/tests.yml is on the do-not-auto-merge list, so this PR is left for a human to merge.

This review was drafted during a Gardener session (https://github.com/Stephenson-Software/gardener).


drafted by Claude on behalf of Daniel Stephenson

@dmccoystephenson
dmccoystephenson merged commit 71c1303 into main Nov 10, 2026
1 check passed
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.

The workflow's py_compile step omits text_renderer.py and console_view.py

1 participant