Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 5 additions & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -285,7 +285,11 @@ jobs:
# job so a run starts no extra runner.
release-readiness:
if: github.event.pull_request.draft != true
runs-on: ${{ vars.DISABLE_DEPOT_RUNNERS == 'true' && 'ubuntu-latest' || 'depot-ubuntu-24.04-4' }}
# GitHub-hosted, not Depot: a ~10 s job that gates coverage, e2e-build and
# most of the run, so a slow Depot boot here delays every job behind it
# (#1795). If hosted Linux backs up, set the repo variable
# RELEASE_READINESS_RUNNER (e.g. depot-ubuntu-24.04-4); no merge needed.
runs-on: ${{ vars.RELEASE_READINESS_RUNNER || 'ubuntu-latest' }}
timeout-minutes: 10
permissions:
contents: read
Expand Down
7 changes: 7 additions & 0 deletions scripts/tests/test_ci_scheduling.py
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,13 @@ def test_ci_ok_defaults_to_a_hosted_runner(self):
runs_on = [line for line in JOBS["ci-ok"] if line.startswith(" runs-on:")]
self.assertEqual(runs_on, [" runs-on: ${{ vars.CI_OK_RUNNER || 'ubuntu-latest' }}"])

def test_release_readiness_defaults_to_a_hosted_runner(self):
# A ~10 s gate in front of coverage and e2e-build must not pay a Depot
# host boot on the critical path (#1795); the variable is the escape hatch.
runs_on = [line for line in JOBS["release-readiness"] if line.startswith(" runs-on:")]
self.assertEqual(runs_on,
[" runs-on: ${{ vars.RELEASE_READINESS_RUNNER || 'ubuntu-latest' }}"])

def test_expensive_jobs_cannot_start_after_a_failed_preflight(self):
cheap = {"clippy", "lint-ecosystems", "release-readiness", "dispatch-tests", "ci-ok"}
# windows-compile-check is the lean queue's only Windows job and sits
Expand Down
Loading