Repository navigation
Conversation
macOS runs committed scripts with /usr/bin/python3 3.9; CI runs newer Python. check-manifest.py, scan-pins.py and their two test modules died on import there (`No module named 'tomllib'`). tomllib is now guarded: it falls back to tomli and otherwise exits with a one-line "needs Python 3.11+ (tomllib) or the tomli package". next-layer-id.sh: drop STATUS_TYPE, assigned and never read; the baseline layer is chosen by its role annotation (SC2034). New script-portability job in check.yml: shellcheck 0.11.0 pinned by sha256 and called by path, and tools/check-py-floor.py under setup-python 3.9 after its self-test. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01G5qpB7zvxLvdrvn5YRyj4R
ubuntu-latest is now Ubuntu 26.04, and setup-python has no 3.9 build for it, so the job failed before checking anything. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01G5qpB7zvxLvdrvn5YRyj4R
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.
Why
Committed scripts get run on macOS, where
/usr/bin/python3is 3.9. CI runs newer Python, so nothing caught a script that only works there.What
Python
tools/check-manifest.py,tools/scan-pins.py,tools/test_check_manifest.pyandtools/test_scan_pins.py:tomllibis now guarded. It falls back totomliand otherwise exits withneeds Python 3.11+ (tomllib) or the tomli package, instead of a traceback.Shell
tools/next-layer-id.sh: dropSTATUS_TYPE(SC2034, the only-S warningfinding). It was assigned and never read; the baseline layer is picked by itseu.pulseengine.varve.roleannotation.CI: a new
script-portabilityjob-S warningover tracked*.sh.tools/check-py-floor.pyruns underactions/setup-python3.9, by interpreter path, after its own--self-test(26 fixtures, red and green).tomllib;X | Yannotations without__future__;zip(strict=),datetime.UTC(including aliased imports), and 3.10+/3.11 typing/enum names.from __future__ import annotationsand flags a guardedtomllibimport, so it reports fixed files as broken.Negative controls, run locally with the job's commands. Each injected violation turned the job red, and removing it by re-editing the file turned it green again:
.shimport tomllibint | Noneannotation in a file with no__future__importcheck.yml.mainhas no branch protection, so it is not a required check.Exit codes
"3.9+deps" is a 3.9 venv with
tomli.python3 -m unittest discover -s tools -p 'test_*.py'(as CI runs it)tools/check-manifest.pytools/scan-pins.py(no--apply)Before the fix, 3.9+deps also gave 1, because nothing tried
tomli. actionlint 1.7.12: clean oncheck.yml.🤖 Generated with Claude Code
https://claude.ai/code/session_01G5qpB7zvxLvdrvn5YRyj4R