Yicong-Huang opened a new pull request, #7172: URL: https://github.com/apache/texera/pull/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) -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
