ci: restore hosted required checks - #3190
Conversation
WSL migration removed all pr-fast self-hosted runners. Switch fast-tests and heavy-contract-tests from [self-hosted, Linux, X64, pr-fast] to ubuntu-latest. Fork guard, job names, and timeouts preserved. nightly-heavy self-hosted runner unchanged. Refs #3189
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 08b379dfec
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| needs.changes.outputs.run_heavy == 'true' && | ||
| (github.event_name != 'pull_request' || | ||
| github.event.pull_request.head.repo.full_name == github.repository) | ||
| runs-on: [self-hosted, Linux, X64, pr-fast] | ||
| runs-on: ubuntu-latest |
There was a problem hiding this comment.
Allow hosted PR gates on forked pull requests
Now that this job runs on GitHub-hosted ubuntu-latest, keeping the same-repository-only predicate means any fork PR that touches the risk paths skips the required fast-tests and heavy-contract-tests jobs instead of running make test/make test-contract. GitHub documents conditionally skipped jobs as successful for required checks (docs), so this can let forked PRs satisfy branch protection without these restored hosted checks executing; remove the fork guard or use an always-running aggregate check for the hosted jobs.
Useful? React with 👍 / 👎.
| ```bash | ||
| scripts/check_self_hosted_runner.sh # check both label groups | ||
| scripts/check_self_hosted_runner.sh --pr-only # check only pr-fast | ||
| scripts/check_self_hosted_runner.sh # check nightly-heavy label group |
There was a problem hiding this comment.
Keep runner health docs aligned with the script
After this edit, operators following the documented default command in an environment where the pr-fast runner has been retired will get a false failure: scripts/check_self_hosted_runner.sh still defaults to requiring both label groups and always checks pr-fast unless --pr-only is used, while this line says the default checks only nightly-heavy. Either update the script default to nightly-only or document the actual command/flag, otherwise the runbook cannot verify the single remaining self-hosted runner.
Useful? React with 👍 / 👎.
Remove contracts for retired surfaces and align remaining tests with current runtime APIs so hosted required checks can run from a clean checkout.
- Restore coverage_mode.py in src/runtime/services and telegram_bot/services/rag - Fix langchain conftest detection using find_spec instead of static import - Convert async test without await to sync (test_cmd_call_dispatch_includes_langfuse_trace_id) - Add @pytest.mark.requires_extras to ingestion flow integration test - Update optional surfaces contract to accept per-test markers for mixed files
Add behavioral contract tests for all public no-op scoring writers (score, write_crm_scores, write_history_scores, write_pipeline_scores, write_scores) — verify each returns None and never calls the client when invoked with typical arguments. Also assert compute_checkpointer_overhead_proxy_ms retains real computation (not a no-op). PR #3190 contract replacement — no production changes.
Runners were removed with WSL migration. This restores required checks using hosted runners. Baseline failures will be repaired here.
Commits: