The GitHub Actions job "Required Checks" on 
texera.git/gh-readonly-queue/main/pr-7172-5de9bf94766d441e7d1655bf326a9208dc6769a5
 has failed.
Run started by GitHub user Yicong-Huang (triggered by Yicong-Huang).

Head commit for run:
092a02c46eae42305f18cd1025ae34a33b41c1d7 / Yicong Huang 
<[email protected]>
ci: route merge-queue builds to self-hosted runner tiers with hosted fallback 
(#7172)

### What changes were proposed in this PR?

Merge-queue builds default to four self-hosted runner tiers; PR runs opt
in via a `ci:self-hosted` label, and push/scheduled runs stay
GitHub-hosted.

- `arc-heavy-linux`: amber, amber-integration, frontend
- `arc-medium-linux`: platform, pyamber
- `arc-light-linux`: service jobs and the precheck/aggregator control
plane
- `arc-bench-linux`: dedicated bench box, so bench numbers stay
comparable

A `runner-heartbeat` workflow proves every 15 minutes that the fleet is
usable, not just reachable: disk and inode headroom, a live docker
daemon, the tools builds assume. A stale or failed beat routes precheck
back to `ubuntu-latest` and flips `ARC_AVAILABLE`, consulted by
first-hop `runs-on` expressions and usable as a manual kill switch.
`ARC_STATUS_TOKEN` optionally adds per-tier congestion probing.

These runners are not ephemeral, so every self-hosted job ends with an
`if: always()` step dropping what it produced: the workspace, its own
`/tmp` scratch, and the containers it started with `docker run -d`,
which `services:` never removes and which would block the next job's
containers. Entry points clear their own leftovers first, since a killed
job never reaches cleanup.

Step conditions become `runner.os == 'Linux'`, so the matrices are
label-agnostic. 25 runners are registered; no new credentials needed.

### Any related issues, documentation, discussions?

Closes #7171
Discussion: #6973

### How was this PR tested?

- Repeated full CI rounds on a fork against a live 25-runner fleet
([Yicong-Huang#25](https://github.com/Yicong-Huang/texera/pull/25)),
every job landing on its intended tier.
- Fallback verified per tier: with a scale set offline, precheck routed
that tier back to `ubuntu-latest`.
- This PR carries `ci:self-hosted`, so its own rounds exercise the
cleanup and self-healing paths on the real fleet.
- Label-free rounds confirmed hosted behavior is unchanged.

### Was this PR authored or co-authored using generative AI tooling?

Generated-by: Claude Code (Claude Fable 5, Claude Opus 5)

---------

Co-authored-by: Claude Fable 5 <[email protected]>

Report URL: https://github.com/apache/texera/actions/runs/32943205762

With regards,
GitHub Actions via GitBox

Reply via email to