fix(ci): switch workflows to self-hosted runner#138
Conversation
GitHub org account is locked due to a billing issue, blocking all ubuntu-latest runner jobs. Switch all workflows to [self-hosted, Linux, X64, wsl, arbiter]. Operator-approved direct commit: CI infrastructure repair.
|
Warning Review limit reached
Next review available in: 12 minutes Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Pro Plus Run ID: 📒 Files selected for processing (6)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
ProblemThe self-hosted-runner migration is currently a failing PR, not a verified CI restoration. The only connector-visible workflow run on the current head failed: one Python matrix job failed its test step, the remaining matrix jobs were cancelled, and the self-grade job failed while uploading its report artifact. The exact underlying test and artifact errors are not yet independently classified. Evidence
Proposed Work
Acceptance Criteria
Agent Notesci_incident_card:
severity: P1
factory_line: arbiter
failed_station: workflow
current_state: failing
owner_lane: ci-remediation
repro_command: PYTHONPATH=src python -m pytest tests/ -v --ignore=tests/test_api.py
expected_evidence: terminal green matrix plus preserved self-grade artifact on the repaired head
close_condition: all required jobs pass without cancelled matrix members and report artifact is retrievable
not_authorized:
- workflow_dispatch
- branch_rewrite
- merge
- release
- package_publication
- repository_settings_changeKeep the PR unmerged until the two failure classes are independently resolved. This audit did not dispatch or rerun any workflow. Automation Receiptreceipt:
schema: repo_hygiene_push.v0.2
run_date: 2026-07-14
finding_id: RH-20260714-02
severity: P1
repository: hummbl-dev/arbiter
accountable_artifact: pull/138
root_cause_class: self_hosted_migration_has_test_and_artifact_failures
verified_evidence:
head_sha: 4bec41031d61d23a73717ad65003388bd03cbdbf
workflow_run: 29270241661
workflow_conclusion: failure
failed_jobs:
- test (3.11)
- self-grade
cancelled_jobs:
- test (3.12)
- test (3.13)
- test (3.14)
hypotheses:
- exact pytest root cause not yet classified
- exact artifact service failure not yet classified
authority: comment_existing_pr_only
writes_used: 1
not_authorized:
- workflow_rerun
- merge
- release
- publish |
2026-07-14 CI triage — P1 incomplete self-hosted migration evidenceLive connector evidence on head
The connector exposed the job and step states but truncated the terminal pytest and artifact-upload error text. Root cause therefore remains unknown. The branch workflow currently installs only severity: P1
factory_line: arbiter
failed_station: CI / Python test matrix and report-artifact preservation
current_state: failing
owner_lane: ci_reliability
repro_command: >-
On a clean self-hosted Linux runner at 4bec41031d61d23a73717ad65003388bd03cbdbf,
run `python -m pip install pytest` followed by
`PYTHONPATH=src python -m pytest tests/ -v --ignore=tests/test_api.py`,
preserve the complete terminal failure, and separately exercise the
actions/upload-artifact@v4 step with the generated report files.
expected_evidence: >-
Complete non-truncated error evidence for the first failed step, followed by
one exact-head CI run where Python 3.11-3.14, CI Incident Card validation,
self-grade, and report artifact upload all reach terminal success.
close_condition: >-
The verified root cause is recorded, the workflow installs every dependency
required by tests and artifact production, all matrix jobs complete rather
than being cancelled, and exact-head green evidence is connector-visible.
not_authorized:
- workflow rerun or dispatch
- PR merge
- branch rewrite
- runner or network configuration mutation
- repository or organization settings change
- secret or credential accessNo workflow was rerun and no branch, runner, or settings mutation was performed by this triage run. |
SECURITY HOLD — DO NOT MERGE AS WRITTENGoverned by Critical finding
GitHub's current security guidance states that self-hosted runners do not guarantee clean ephemeral environments, can be persistently compromised by untrusted workflow code, and should almost never be used for public repositories because any user can open a pull request and compromise the environment: https://docs.github.com/en/actions/reference/security/secure-use#hardening-for-self-hosted-runners The risk is not limited to the individual CI run. This PR also routes reusable quality-gate, Dependabot auto-merge, scheduled leaderboard, development publishing, and release publishing jobs to the same runner label. A compromised PR job can leave persistent state that affects later privileged jobs, local credentials, the host, or network-accessible services. Additional evidence gaps
Required redesign
Disposition
The billing outage is not sufficient justification to replace isolated hosted execution with a persistent public-PR execution surface. |
Summary
ubuntu-latestto[self-hosted, Linux, X64, wsl, <repo>]Why
GitHub org account is locked due to a billing issue, blocking all
ubuntu-latest(GitHub-hosted) runner jobs. Self-hosted runner is online and unaffected.Test plan