[WRONG BRANCH] ci: keep Windows jobs on hosted runners - #52
Conversation
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
⏳ DRAFT
What to do
Its title has been prefixed with |
|
✅ Deterministic PR hygiene checks passed. |
📝 WalkthroughWalkthroughThe CI workflow removes self-hosted Windows runner selection, runs Windows jobs on ChangesCI runner policy
Estimated code review effort: 2 (Simple) | ~10 minutes Suggested reviewers: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches 💡 1🛠️ Fix failing CI checks 💡
🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
.github/workflows/ci.yml (1)
320-336: 🎯 Functional Correctness | 🟠 Major | ⚡ Quick winUpdate the CI workflow contract test.
tests/ci-workflows.test.ts:63-202still requiresselect-windows-runnerto have a two-minute timeout. It also requires a Windows step that runsgit clean -xffdon a self-hosted runner.This workflow removes both behaviors. The test will fail when it reads
undefinedfor the removed job and finds no cleanup step.Remove the obsolete assertions. Add an assertion that
platform-windows.runs-oniswindows-latest. Add an assertion that the Windows job has no self-hosted cleanup condition.Proposed test update
- expect(ci.jobs?.["select-windows-runner"]?.["timeout-minutes"]).toBe(2); + expect(ci.jobs?.["platform-windows"]?.["runs-on"]).toBe("windows-latest"); - expect(winSteps.some(step => step.if === "runner.environment == 'self-hosted'" - && step.run?.includes("git clean -xffd"))).toBe(true); + expect(winSteps.some(step => step.if === "runner.environment == 'self-hosted'" + || step.run?.includes("git clean -xffd"))).toBe(false);🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In @.github/workflows/ci.yml around lines 320 - 336, Update the CI workflow contract test in tests/ci-workflows.test.ts to remove assertions for the deleted select-windows-runner timeout and self-hosted git clean step. Add assertions verifying platform-windows.runs-on is windows-latest and that its Windows job contains no self-hosted cleanup condition.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Outside diff comments:
In @.github/workflows/ci.yml:
- Around line 320-336: Update the CI workflow contract test in
tests/ci-workflows.test.ts to remove assertions for the deleted
select-windows-runner timeout and self-hosted git clean step. Add assertions
verifying platform-windows.runs-on is windows-latest and that its Windows job
contains no self-hosted cleanup condition.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: ASSERTIVE
Plan: Pro Plus
Run ID: 3945466e-d26b-46eb-99dc-e1c2693053f8
📒 Files selected for processing (1)
.github/workflows/ci.yml
Motivation
Description
select-windows-runnerjob and all logic that emittedself-hostedrunner labels from.github/workflows/ci.yml.platform-windows) toruns-on: windows-latestand remove the dependency on selector outputs.if: runner.environment == 'self-hosted'steps that were tied to the mutable selector.cijobneedslist and small workflow comment/text cleanups to match the removed job and preserve other platform/job behavior.Testing
ruby -e "require 'yaml'; YAML.load_file('.github/workflows/ci.yml', aliases: true)".rg -n 'self-hosted|ocx-home|select-windows-runner|OCX_SELF_HOSTED_WINDOWS' .github/workflows/ci.yml.bun run prepush;bun x tsc --noEmitand GUI lint passed, but the full test suite exhibited unrelated existing failures and timeouts (for example: OAuth live-update, API-key attribution, provider outbound GET/proxy, and several Grok discovery tests), so the long-running suite was not fully green.git diff --check, YAML parse, and the grep above) succeeded for the workflow remediation.Codex Task
Summary by CodeRabbit