mirror of
https://github.com/openclaw/openclaw.git
synced 2026-08-28 05:16:23 -06:00
7c6040550a
* ci(macos): budget macos-swift by runner so fork PRs finish runs-on falls back to hosted macos-26 for several cases: workflow_dispatch, run_attempt > 1, fork pull requests, and (as of the runner-backend circuit breaker landed on main the same day this PR was authored) breaker-routed GitHub-hosted fallback. timeout-minutes did not cover the fork-PR case, so fork PRs ran on the slow hosted runner with the Blacksmith-tuned 20-minute budget. Measured on PR #118989 (a fork PR): macos-swift was cancelled after 20m25s, killed mid-compile at step 1365/1416. No test executed, and the log has no swift compile error - only 'The operation was canceled.' ci-gate then fails because it lists macos-swift as required, so the PR reads red for a reason unrelated to its diff, and a contributor cannot rerun it. Make the budget follow the runner instead of the trigger: every hosted path gets 30 (folded into the same budget the circuit breaker's own hosted-fallback timeout extension already established for this job), so this doesn't reintroduce a second, competing hosted-timeout value. Blacksmith paths keep 20 unchanged. Replaces the single pinned-string guard with a table-driven test covering runs-on and timeout-minutes together across every trigger context that can route to a hosted runner. * chore: refresh PR head (keep open for maintainer review) * ci(macos): track main's author-association runner routing Main now routes macos-swift by pull_request author_association rather than fork-ness, so the timeout predicate and its guard scenarios follow it. * ci(macos): tighten hosted runner budget coverage Co-authored-by: harjoth <harjoth.khara@gmail.com> * docs(ci): document hosted macOS budgets without merge conflicts Co-authored-by: harjoth <harjoth.khara@gmail.com> --------- Co-authored-by: Peter Steinberger <steipete@gmail.com>