Skip to content

ci: cover the entry points in the runtime contract - #382

Merged
abrignoni merged 1 commit into
mainfrom
ci/cover-entry-points
Jul 26, 2026
Merged

ci: cover the entry points in the runtime contract#382
abrignoni merged 1 commit into
mainfrom
ci/cover-entry-points

Conversation

@abrignoni

Copy link
Copy Markdown
Owner

Levels the entry-point coverage from iLEAPP #1770.

Problem

The runtime contract triggers on scripts/** and admin/test/scripts/**, but not on the entry points themselves. A change breaking either on the oldest supported Python would only surface when a user ran the tool.

Why the filter alone is not enough

Adding the paths without a test would make the job run and go green while testing nothing about the entry points. So the test comes with it.

Two files, two techniques

File Check Why
CLI imported Guards startup with if __name__, so importing is safe and catches import-time errors as well as syntax
GUI compiled Builds its window at module level, so importing needs a display CI does not have. Compiling still catches the syntax-level breakage this guards against

Verification on Python 3.10

  • Passes today with the repo's own requirements installed
  • Injecting a multi-line f-string into the GUI fails with the offending line

The GUI file was restored afterwards.

🤖 Generated with Claude Code

The runtime contract watches scripts/ and admin/test/scripts/, but not
rleapp.py or rleappGUI.py, so a change to either could break on the oldest
supported Python and only surface when a user ran it.

The two are checked differently. rleapp.py guards startup with '__main__',
so it is imported outright, catching import-time errors as well as syntax.
rleappGUI.py builds its window at module level and cannot be imported
without a display, so it is compiled instead, which still catches the
syntax-level breakage this guards against.

Levelled from iLEAPP #1770. Verified on Python 3.10: passes today, and a
multi-line f-string in the GUI fails with the offending line.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@abrignoni abrignoni added the Needs Cross Core Leveling for a PR that needs to be applied across other cores. remove once leveled to all. label Jul 26, 2026
@abrignoni
abrignoni merged commit 6e93bb9 into main Jul 26, 2026
4 checks passed
@abrignoni
abrignoni deleted the ci/cover-entry-points branch July 26, 2026 04:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Needs Cross Core Leveling for a PR that needs to be applied across other cores. remove once leveled to all.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant