Skip to content

Run release-readiness on a hosted runner - #1797

Merged
Mikola Lysenko (mikolalysenko) merged 1 commit into
mainfrom
ci-perf/1795-hosted-release-readiness
Oct 28, 2026
Merged

Mikola Lysenko (mikolalysenko) merged 1 commit into
mainfrom
ci-perf/1795-hosted-release-readiness

Conversation

@mikolalysenko

@mikolalysenko Mikola Lysenko (mikolalysenko) commented Oct 28, 2026 •

Copy link
Copy Markdown
Collaborator

Fixes #1795

Problem

release-readiness is a ~10 s job (checkout, two ci-reuse-*.py probes, release-lint.sh) on depot-ubuntu-24.04-4, and coverage, e2e-build (and through it the e2e fan-out), test, node-addon, docker-base and the cargo/yarn legs all needs: it. In Depot slow-start episodes (#1512) its boot sits at the head of the critical path. From the issue (16:18–20:16 UTC, 20 runs): boot p50 31 s, p90 126 s, max 307 s; merge_group run for #1748 reached ci-ok at 11.48 min, with release-readiness alone finishing at 5.32 min.

Change

release-readiness runs on ${{ vars.RELEASE_READINESS_RUNNER || 'ubuntu-latest' }}, mirroring what #1747 did for ci-ok. The job only needs git, python3, bash and gh — all on the hosted image. Setting the repo variable RELEASE_READINESS_RUNNER (e.g. depot-ubuntu-24.04-4) moves it back with no merge. No needs: edge, output or step changes. scripts/tests/test_ci_scheduling.py gets a test pinning the runner, alongside the existing ci-ok one.

Expected saving

From the issue's replay: merge_group #1748 11.48 → ~8.7 min; across 19 runs p90 −1.1 min, max −2.8 min; nothing in fast-host periods. ~0.1k Depot Linux job-min/day moves to free hosted minutes. No macOS/Windows change.

Measured result

This PR's run 40764064008 (pull_request, all 51 checks green):

baseline (issue, 20 runs on Depot) this PR (`ubuntu-latest`)
`release-readiness` queue (created → started) — 2 s
boot (started → first step) p50 31 s, p90 126 s, max 307 s 1 s
work 5–23 s 7 s
finished at (min after run start) p50 0.93, p90 2.80, max 5.32 0.17

`coverage` and `e2e-build` started right after it (e2e-build done at 1.40 min, coverage (2) at 4.83); `ci-ok` at 5.02 min. Total 44.7 job-min over 44 jobs. Depot was fast during this run (clippy boot 6 s), so this run shows the gate's floor rather than a slow-start saving; the saving shows in slow-start periods and in the merge queue, which the profiler will verify after merge.

Where each test runs

Unchanged. No job, step or test moved or skipped; only the host of one gate job changed. Required checks ci-ok and clippy keep their names and ci-ok still needs every job (test_required_verdict_includes_every_job).

Validation

  • python3 -B -m unittest discover -s scripts/tests: 376 tests OK.
  • actionlint 1.7.7 and zizmor --offline on ci.yml: same findings as origin/main (37 / 59, all pre-existing), none new.

Risk

If the hosted Ubuntu queue backs up as in #1372, this gate waits too; since #1747 the hosted queue for ci-ok has stayed at 1–7 s. Escape hatch: the RELEASE_READINESS_RUNNER variable. The previous DISABLE_DEPOT_RUNNERS switch is moot for this job (it already selected ubuntu-latest).

https://claude.ai/code/session_011f9aeRFXYtAsVJCfxwhyiz


Generated by Claude Code

release-readiness is a ~10 s job (checkout, two reuse probes,
release-lint.sh) that gates coverage, e2e-build and most of the run.
On Depot it pays a host boot before any real work starts; in the
slow-start episodes of #1512 that boot reached 307 s and pushed a
merge_group run's ci-ok from ~8.7 to 11.5 min.

Move it to ubuntu-latest, as #1747 did for ci-ok. The job needs only
git, python3, bash and gh, all on the hosted image. The repo variable
RELEASE_READINESS_RUNNER is the escape hatch if hosted Linux backs up.
All needs: edges stay as they are. A scheduling test pins the runner.

Fixes #1795

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011f9aeRFXYtAsVJCfxwhyiz
@mikolalysenko Mikola Lysenko (mikolalysenko) added the ci-perf CI / merge-queue performance finding (profiler routine) label Oct 28, 2026
@mikolalysenko

Copy link
Copy Markdown
Collaborator Author

bugbot run


Generated by Claude Code

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ Bugbot reviewed your changes and found no new issues!

Comment @cursor review or bugbot run to trigger another review on this PR

Reviewed by Cursor Bugbot for commit 0e49c68. Configure here.

@mikolalysenko Mikola Lysenko (mikolalysenko) added the Ready for review Agent-verified: mergeable, CI green, Bugbot clean — awaiting human review label Oct 28, 2026
@mikolalysenko

Copy link
Copy Markdown
Collaborator Author

Ready for review at 0e49c686 (burn-down agent).

  • CI: 51/51 (32 success, 19 skipped) check runs green or skipped on 0e49c686; no main-wide failures.
  • Bugbot: reviewed 0e49c686, no findings; no open review threads.
  • Mergeable, no CHANGELOG.md change.
  • Slack announcement not sent this run (Slack send unavailable); the next run retries.

Generated by Claude Code

Merged via the queue into main with commit e4eb1c7 Oct 28, 2026
51 checks passed
@mikolalysenko
Mikola Lysenko (mikolalysenko) deleted the ci-perf/1795-hosted-release-readiness branch October 28, 2026 21:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci-perf CI / merge-queue performance finding (profiler routine) Ready for review Agent-verified: mergeable, CI green, Bugbot clean — awaiting human review

Projects

None yet

Development

Successfully merging this pull request may close these issues.

CI perf: release-readiness — 10-second gate waits up to 5 min for a Depot boot in front of coverage and e2e (~1–3 min per run in slow-start periods)

3 participants