Start e2e alongside build rather than after it #121

Merged
cruelacid merged 1 commit from worktree-e2e-alongside-build into main 2026-09-23 17:03:27 +01:00
Owner

Part of #77.

Today's action_run_job data shows build and e2e each take about 4.7 min. e2e waited for build (needs: build) even though the suite builds from source and never uses the images, so every PR's gate was a chain of about 10 min.

  • e2e has no needs now, so it starts immediately on PRs and on main.
  • promote has needs: [build, e2e]. It's the only step that uses the published :<sha>, so the guarantee that the image exists before it's retagged is kept where it matters.
  • On main this also brings :stable forward by about 5 min.

The cost: a PR whose build fails (on lint, for example) still spends a runner slot on e2e. Check names are unchanged, so the protection rule is unaffected.

This PR's own run should show e2e starting at the same time as build.

Changelog

NONE

🤖 Generated with Claude Code

https://claude.ai/code/session_01StURdiv33xnMfE2XRyg8Lt

Part of #77. Today's `action_run_job` data shows `build` and `e2e` each take about 4.7 min. `e2e` waited for `build` (`needs: build`) even though the suite builds from source and never uses the images, so every PR's gate was a chain of about 10 min. - `e2e` has no `needs` now, so it starts immediately on PRs and on `main`. - `promote` has `needs: [build, e2e]`. It's the only step that uses the published `:<sha>`, so the guarantee that the image exists before it's retagged is kept where it matters. - On `main` this also brings `:stable` forward by about 5 min. The cost: a PR whose build fails (on lint, for example) still spends a runner slot on e2e. Check names are unchanged, so the protection rule is unaffected. This PR's own run should show `e2e` starting at the same time as `build`. ## Changelog NONE 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_01StURdiv33xnMfE2XRyg8Lt
Start e2e alongside build rather than after it
All checks were successful
Release note / release-note (pull_request) Successful in 12s
CI / build (pull_request) Successful in 4m54s
CI / e2e (pull_request) Successful in 5m24s
CI / promote (pull_request) Has been skipped
CI / build (push) Successful in 4m42s
CI / e2e (push) Successful in 4m49s
CI / promote (push) Successful in 30s
6fb83d0439
e2e waited on build for images it never uses — the suite builds from
source — so every pull request's gate was a ~10 minute chain of two ~4.7
minute jobs (measured from action_run_job on 23 September). e2e now starts
at once; promote, the only step that needs the published :<sha>, needs both
jobs. On main that brings promote forward by the same five minutes.

The cost is a runner slot spent on e2e when build fails, e.g. on lint.
Check names are unchanged, so branch protection is unaffected.

Part of #77.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01StURdiv33xnMfE2XRyg8Lt
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
Nectenda/nectenda!121
No description provided.