utils/.github/workflows
Krzysztof kuhy Rudnicki 08a4010a16
Some checks failed
dependency freshness / dependencies on newest stable (push) Has been cancelled
file length / file-length (push) Has been cancelled
md-naming / markdown naming convention (push) Has been cancelled
palette drift / palette (push) Has been cancelled
repo-contract / repo contract (push) Has been cancelled
shared gate tests / gate unit tests (push) Has been cancelled
dep_freshness: Python's latest is python.org's newest release, not the interpreter
toolchain:python's "latest" was platform.python_version(), so the verdict
depended on the machine running the gate: setup-python "3.x" gave kuhyx/spellcode
3.15.0 on one runner and 3.14.8 on another, making its transitive:pyodide
allowlist entry dead (exit 2) on one and required (exit 1) on the other.

Now registries/toolchain.python_latest() reads python.org's release API
(is_published, pre_release=false), keeps only exact "Python X.Y.Z" names (the
feed also lists "Python install manager 26.4"), and takes the newest stable.

The never_cached() carve-out is gone: it existed because a cached
*interpreter* version from an older runner image (3.13.15) was served to a
3.14.7 job in screen-locker's CI. A registry answer is safe to cache, so
python now goes through the normal TTL cache, prefetch, and offline fallback
(expired cache -> DEGRADED; no cache -> unavailable), never the local
interpreter.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01A4VrLZn9YjhPuoxTj54WKk
2026-10-20 22:39:25 +02:00
..
crdt-sync-dart-tests.yml crdt_sync_dart: latest stable + exact pins, 100% coverage, CI for both crdt_sync packages 2026-08-28 12:32:24 +02:00
crdt-sync-flutter-tests.yml crdt_sync_dart: latest stable + exact pins, 100% coverage, CI for both crdt_sync packages 2026-08-28 12:32:24 +02:00
crdt-sync-precommit.yml Cache .mypy_cache so mypy stops re-analysing the stdlib every run 2026-09-12 18:28:58 +02:00
crdt-sync-tests.yml Cache pre-commit hooks per package, and pip, so CI stops reinstalling 2026-09-12 18:16:51 +02:00
dependency-freshness.yml dep_freshness: Python's latest is python.org's newest release, not the interpreter 2026-10-20 22:39:25 +02:00
design-system-tests.yml Wire design_system into CI, and drop EmptyState's speculative action slot 2026-08-14 23:08:59 +02:00
earned-time-precommit.yml earned_time 0.1.0: one penalty-then-reward registry for gaming and shutdown time 2026-10-04 18:44:30 +02:00
earned-time-tests.yml earned_time 0.1.0: one penalty-then-reward registry for gaming and shutdown time 2026-10-04 18:44:30 +02:00
file-length.yml One Python per repo, always the newest, and the gate that enforces it 2026-08-28 20:58:19 +02:00
freedays-precommit.yml Cache .mypy_cache so mypy stops re-analysing the stdlib every run 2026-09-12 18:28:58 +02:00
freedays-tests.yml Cache pre-commit hooks per package, and pip, so CI stops reinstalling 2026-09-12 18:16:51 +02:00
gatelock-precommit.yml Cache .mypy_cache so mypy stops re-analysing the stdlib every run 2026-09-12 18:28:58 +02:00
gatelock-tests.yml Cache pre-commit hooks per package, and pip, so CI stops reinstalling 2026-09-12 18:16:51 +02:00
github-device-auth-tests.yml github_device_auth: extract the GitHub device flow from four apps 2026-08-15 15:57:19 +02:00
md-naming.yml Add the shared markdown-naming gate and migrate utils' own docs 2026-08-24 15:53:12 +02:00
music-theory-tests.yml music_theory: music theory from first principles, as code you can hear 2026-09-11 18:29:13 +02:00
palette-drift.yml One Python per repo, always the newest, and the gate that enforces it 2026-08-28 20:58:19 +02:00
repo-contract.yml repo contract + coverage_gaps gates, test_changed, dependency bumps 2026-10-04 16:27:28 +02:00
shared-gates-tests.yml ci: run gate_stamp's tests (scripts/tests) in shared-gates CI 2026-10-17 16:46:59 +02:00
sickdays-precommit.yml sickdays 0.1.0 + earned_time 0.11.0: uncapped sick-day pool, 20:00 sick shutdown floor 2026-10-16 08:23:00 +02:00
sickdays-tests.yml sickdays 0.3.0: desktop sick-day picker and embeddable KeepPanel 2026-10-17 13:47:26 +02:00
sync-settings-ui-tests.yml Add sync_settings_ui: shared Firebase-only sync settings screen 2026-08-12 23:10:17 +02:00
ts-config-tests.yml gatelock: annotate a fixture param ruff 0.16.8 now flags; TS workflows dispatchable 2026-09-16 21:53:47 +02:00
ts-core-tests.yml gatelock: annotate a fixture param ruff 0.16.8 now flags; TS workflows dispatchable 2026-09-16 21:53:47 +02:00
web-ui-tests.yml gatelock: annotate a fixture param ruff 0.16.8 now flags; TS workflows dispatchable 2026-09-16 21:53:47 +02:00