Skip to content

ci: move the final PR report off the busy runner pool - #29337

Merged
OrcaWin merged 2 commits into
mainfrom
OrcaWin/ci-final-check-capacity
Oct 16, 2026
Merged

OrcaWin merged 2 commits into
mainfrom
OrcaWin/ci-final-check-capacity

Conversation

@OrcaWin

@OrcaWin OrcaWin commented Oct 16, 2026 •

Copy link
Copy Markdown
Collaborator
Files Added Deleted Net
Test 0 0 0 0
Prod 2 $\color{#1a7f37}{\Huge{\mathbf{+}}}$​4 $\color{#cf222e}{\Huge{\mathbf{−}}}$​1 $\color{#1a7f37}{\Huge{\mathbf{+}}}$​3

ELI5

PRs can finish their tests and then wait many more minutes just to report success. Move that final report to Orca’s existing Blacksmith Linux runner pool.

What Changed

Run only pr.yml:verify on blacksmith-2vcpu-ubuntu-2204. Its explicit pass/fail result, required dependencies and failure handling are unchanged.

Also retain the existing test mock allowance for the exact React Native fixture extracted by #29368. That split on main moved the mocks outside the test-file pattern and broke the full preflight audit. No test or application code changes.

Why

Today’s sampled ARM jobs waited a median 22 minutes, and finished PRs also queued their final report. The existing Blacksmith pool had a sampled prior-day queue p95 of 0.3 minutes; a production job today started in 11 seconds.

This preserves an explicit green gate instead of restoring #29136’s skipped-success approach. It uses the existing paid pool for a tiny reporting job; the larger test queue still needs capacity.

Linked Issue

Follow-up to #29228; maintainer CI maintenance.

Visual Proof

N/A — one workflow runner change.

Testing

  • I manually tested these changes locally
  • Automated tests added/updated, or explained why not below

On head fcaf3ebdaba8c315489a88644c4f2aea8c46a163, based on a49295f024:

  • All 27 aggregate/readiness/required-check cases passed under pinned Bun 1.4.3 through the standard launcher. They exercise failed or incorrectly skipped dependencies, malformed routing, cancellation and check ownership.
  • Parsed workflow comparison proves the runner label is the only functional YAML change.
  • Full pnpm tc, root Oxlint, required-context validation, formatting and git diff --check passed.
  • The full anti-slop audit reproduced 12 mock-classification errors before the exact fixture allowance and passed afterward. All six fixture callers are tests; all 36 cases using it passed.

All required jobs passed for this exact head in PR Checks run 38844246974, from .github/workflows/pr.yml. All five unit shards, relay integration, compatibility checks, both package jobs and both selected layout checks passed. The explicit verify job succeeded on blacksmith-2vcpu-ubuntu-2204: 11 seconds queued and six seconds running. The optional unit-selection evidence report is still queued and is excluded from the required gate.

Review

The final job’s shell, environment, dependencies, permissions, timeout, condition and required check name remain unchanged. No checkout or third-party action runs in that job.

Agent skill upstream boundary

  • Not applicable; no upstream skill source is copied.

Notes

Uses an existing runner pool and its allowance. No application, platform, SSH, mobile or wire behavior changes.

Checklist

  • This PR is focused on the final-report queue
  • I explained the before/after, mechanism and choice over alternatives
  • N/A visual proof explained
  • Self-reviewed for correctness, security and performance
  • Cross-platform, SSH/remote and compatibility impact considered
  • Every required PR workflow job and the explicit final gate passed at the exact final head

@coderabbitai

coderabbitai Bot commented Oct 16, 2026 •

Copy link
Copy Markdown
Contributor

Review in Change Stack →

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration
  • Configuration used: Repository UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 92f872bf-0f2b-46f3-af4f-57c7ab93f986
📥 Commits

Reviewing files that changed from the base of the PR and between fb15233 and fcaf3eb.

📒 Files selected for processing: 1
  • config/oxlint-anti-slop.json

Included review availability: This review used your included allowance. Your plan provides up to 10 included reviews per hour; 4 remain after this review.

📝 Walkthrough

The verify job now uses the blacksmith-2vcpu-ubuntu-2204 runner. The anti-slop test override now includes the MobileNativeChatView harness fixture and identifies it as test-only.

Priority: ⬇️ Low

Merge Risk: ⚪ Minimal · up to fcaf3

The final report moves to the Blacksmith runner, and the mock exemption remains scoped to the test fixture. The reviewed changes establish no actionable regression in repository-defined validation.

Pre-merge checks: Passed 4 · Failed 1

Failed Failed checks: 1 warning

Check name Status Explanation Resolution
Docstring Coverage Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 2 functions across 3 files. (1 skipped: 1 … Write docstrings for the functions missing them to satisfy the coverage threshold.
Passed Passed checks: 4 passed
Check name Status Explanation
Linked Issues check Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check Passed Check skipped because no linked issues were found for this pull request.
Title check Passed The title clearly and concisely describes the primary change: moving the final PR report to a less busy runner pool.
Description check Passed The description is complete and focused. It explains the change, motivation, linked issue, testing, review details, scope, and checklist status. It also documents the React Native fixture allowance an…
Full details: Docstring Coverage

Explanation

Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 2 functions across 3 files. (1 skipped: 1 unsupported.)

  • Fix all pre-merge checks with AI
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1


ℹ️ Review info
⚙️ Run configuration
  • Configuration used: Repository UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: c29c334b-4ffa-4dd9-bd22-4fa1aef05ba5
📥 Commits

Reviewing files that changed from the base of the PR and between fb09949 and a5caa70.

📒 Files selected for processing: 1
  • .github/workflows/pr.yml

Included review availability: This review used your included allowance. Your plan provides up to 10 included reviews per hour; 5 remain after this review.

Comment thread .github/workflows/pr.yml
- layout_oracle
runs-on: ubuntu-slim
# Report settled results without competing with the GitHub-hosted test queue.
runs-on: blacksmith-2vcpu-ubuntu-2204

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

✅ Runtime observed

🏁 Script executed:

#!/usr/bin/env bash
set -euo pipefail

printf '%s\n' '--- actionlint-related files ---'
fd -a -g '*actionlint*' . || true

printf '%s\n' '--- actionlint configuration, invocations, and runner labels ---'
rg -n -C 2 'actionlint|blacksmith-2vcpu-ubuntu-2204' . || true

Repository: stablyai/orca

Length of output: 249


🏁 Script executed:

set -euo pipefail
printf '%s\n' '--- diff for the reviewed change ---'
git diff --no-ext-diff --unified=25 e9c77360f545986a1eb2eac6cdc0d05fe116435e a5caa701c49e725de3c2863fac0ed9bbab1ad8fb -- .github/workflows/pr.yml

printf '%s\n' '--- actionlint references and configuration, including hidden files ---'
rg --hidden -n -C 3 --glob '!.git/**' -e 'actionlint' -e 'blacksmith-2vcpu-ubuntu-2204' . || test "$?" -eq 1

printf '%s\n' '--- relevant repository metadata and workflow files ---'
rg --files --hidden -g '!.git/**' | rg '(^|/)(package\.json|Makefile|Taskfile[^/]*|actionlint[^/]*|\.github/.*|\.config/.*|scripts?/.*)$' | sort

Repository: stablyai/orca

Length of output: 41133


🏁 Script executed:

set -u
printf '%s\n' '--- actionlint availability ---'
if command -v actionlint >/dev/null 2>&1; then
  actionlint --version
  printf '%s\n' '--- actionlint output for changed workflow ---'
  actionlint .github/workflows/pr.yml
else
  printf '%s\n' 'actionlint is not installed'
fi

printf '%s\n' '--- exact repository references ---'
git grep -n -I -e 'actionlint' -- ':!*.lock' ':!.git' || true

Repository: stablyai/orca

Length of output: 9063


Configure actionlint for the Blacksmith runner label if CI uses it.

actionlint 1.7.12 reports blacksmith-2vcpu-ubuntu-2204 as an unknown label at .github/workflows/pr.yml:1520. If CI or another required check runs actionlint on this workflow, add the label to actionlint.yaml. The repository contains no actionlint invocation, so the impact depends on external validation.

🧰 Tools
🪛 actionlint (1.7.12)

[error] 1520-1520: label "blacksmith-2vcpu-ubuntu-2204" is unknown. available labels are "windows-latest", "windows-latest-8-cores", "windows-2025", "windows-2025-vs2026", "windows-2022", "windows-11-arm", "ubuntu-slim", "ubuntu-latest", "ubuntu-latest-4-cores", "ubuntu-latest-8-cores", "ubuntu-latest-16-cores", "ubuntu-24.04", "ubuntu-24.04-arm", "ubuntu-22.04", "ubuntu-22.04-arm", "macos-latest", "macos-latest-xlarge", "macos-latest-large", "macos-26-intel", "macos-26-xlarge", "macos-26-large", "macos-26", "macos-15-intel", "macos-15-xlarge", "macos-15-large", "macos-15", "macos-14-xlarge", "macos-14-large", "macos-14", "self-hosted", "x64", "arm", "arm64", "linux", "macos", "windows". if it is a custom label for self-hosted runner, set list of labels in actionlint.yaml config file

(runner-label)

Source: Linters/SAST tools

@OrcaWin OrcaWin changed the title ci: report final PR checks outside the shared runner queue ci: unblock required checks and move final reports off busy runners Oct 16, 2026
@OrcaWin
OrcaWin force-pushed the OrcaWin/ci-final-check-capacity branch 2 times, most recently from bf43131 to 63018fc Compare October 16, 2026 02:31
@OrcaWin
OrcaWin force-pushed the OrcaWin/ci-final-check-capacity branch from 63018fc to fb15233 Compare October 16, 2026 02:53
@OrcaWin OrcaWin changed the title ci: unblock required checks and move final reports off busy runners ci: move the final PR report off the busy runner pool Oct 16, 2026
@OrcaWin
OrcaWin merged commit 79d131d into main Oct 16, 2026
36 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant