Files
Igor SirotinandClaude Fable 5 294adeee6b ci: cut CI wall clock from ~17 to ~6 min (#73)
* ci: bump logoscore-py pin to pick up Attic-cached smoke image

logoscore-py a58573e adds the Logos Attic substituters to the smoke
image's build stage (logos-co/logos-logoscore-py#12). The CLI pin moves
to 665ac28 in lockstep — logoscore-py bumped its flake pin in #10.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* ci: run e2e-tests in parallel with build-and-test

The job builds everything it needs itself (Attic-cached), so waiting
for both build-and-test legs — including the slower macos one — only
added ~4 min of wall clock.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* ci: cache smoke image layers via buildx gha backend

The logoscore-py pin makes the docker build input-identical between
runs, so with mode=max every layer — including the ~5 min inner
nix build — replays from cache until the pin is bumped. Same pattern
as logoscore-py's own CI; build_smoke_image.sh forwards the env vars.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* ci: expose Actions runtime env so the buildx gha cache actually works

type=gha needs ACTIONS_RUNTIME_TOKEN/ACTIONS_CACHE_URL, which GitHub
injects into actions but not run steps — buildx called from
build_smoke_image.sh silently skipped the cache. (logoscore-py's own
CI has the same latent no-op.)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-07-29 14:00:20 +01:00
..