Build the code under review in the pyinstaller workflow - #332
Open
happyarts wants to merge 1 commit into
Open
Conversation
The build smoke test never ran against a pull request. A `workflow_run` job checks out the repository's default branch rather than the commit that triggered it, so every run built main again -- on 2026-07-26 eight runs triggered by pushes to five different PR branches all built the same main commit and all reported success, while none of those PRs showed a pyinstaller check at all. Trigger it directly, like the pytest workflow, so a pull request that breaks `pyinstaller` or the packaged startup is caught before merge. The cost is one build on a PR whose tests fail; the previous "only after pytest succeeded" ordering cannot be expressed across workflows without giving up the correct checkout. Co-Authored-By: Claude Opus 5 <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.
The problem
The pyinstaller build smoke test has never run against a pull request.
on: workflow_runstarts a job whoseactions/checkoutresolves to therepository's default branch, not the commit that triggered the run. So the
workflow has been re-building
mainevery time and reporting success.Evidence from 2026-07-26 — eight runs, all triggered by pushes to five
different PR branches:
Same commit every time, and
gh pr checkson those PRs lists onlypytest (3.10)andpytest (3.13)— no pyinstaller check to gate on.Why it matters right now
#330 makes
noScribe.mainload lazily, which PyInstaller's static analysiscannot follow. Without a hidden import the packaged app dies at startup with
ModuleNotFoundErrorwhile the whole test suite stays green. The./dist/noScribe/noScribe -hstep in this workflow is exactly the check thatcatches that class of breakage — it just never saw the branch.
(#330 declares the hidden import, so it is fine; the point is that CI would
not have told either of us.)
The change
Trigger the workflow directly, the same way
pytest.ymldoes. One line, plusa comment recording why it must not go back to
workflow_run.The trade-off is a build on a PR whose tests are failing. The
"only after pytest succeeded" ordering in the old comment cannot be expressed
across two workflows without giving up the correct checkout — if the build
minutes matter more than the isolation, the alternative is moving the job into
pytest.ymlwithneeds: pytest, which keeps both. Happy to switch to thatif you prefer it.
🤖 Generated with Claude Code