Skip to content

ci: reduce hosted-runner queue amplification - #328

Closed
blakinio wants to merge 8 commits into
mainfrom
ci/OTC-20260816-actions-concurrency-optimization
Closed

ci: reduce hosted-runner queue amplification#328
blakinio wants to merge 8 commits into
mainfrom
ci/OTC-20260816-actions-concurrency-optimization

Conversation

@blakinio

@blakinio blakinio commented Aug 16, 2026

Copy link
Copy Markdown
Owner

Objective

Reduce avoidable GitHub-hosted runner occupancy and queue amplification without weakening required CI.

Implemented

  • general CI classifies compile, fast, and lua scope before allocating reusable jobs;
  • documentation/task-only changes skip unrelated Fast Checks, Lua Syntax, and Windows builds;
  • CI / Required fails closed on scope/result mismatches and still requires Windows success for non-draft compile changes;
  • intentional cancelled CI conclusions are no longer automatically retried; timeout and proven startup-failure retry remain;
  • Windows build fanout is reduced from 5 hosted jobs to 3: CMake Release, CMake Tests, and one Solution job that builds Debug/OpenGL/DirectX after one VS/v145 + vcpkg setup;
  • existing Solution artifact names are preserved.

Live validation

Exact head b082c62fdd13896e27321a86e2bccf2d46c41abc:

  • Track A agent runtime governance: success;
  • Detect Build Scope: success;
  • Lua Syntax: success;
  • Fast Checks static analysis: success;
  • yamllint/actionlint/XML validation: success;
  • emitted Windows graph is exactly 3 hosted jobs, not 5: CMake Release, CMake Tests, Solution Debug + OpenGL + DirectX;
  • combined Solution job completed one VS 2026/v145 + vcpkg setup and is executing all three configurations sequentially;
  • all three Windows jobs must finish successfully before merge.

Safety

  • no build configuration or required compile gate is removed;
  • compile scope still implies both fast-check and Lua prerequisites;
  • merge queue/manual validation force full scope;
  • no self-hosted runner is made required while Synology availability remains unproven;
  • post-merge docs-only closeout must prove only scope detector + aggregate Required allocate general-CI runners;
  • no owner-funded AI/Codex/OpenAI quota is used.

Task: OTC-20260816-actions-concurrency-optimization.

@blakinio
blakinio marked this pull request as ready for review August 16, 2026 07:29
@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.
To continue using code reviews, you can upgrade your account or add credits to your account and enable them for code reviews in your settings.

@blakinio blakinio added the programme:infrastructure Infrastructure programme label Aug 16, 2026

Copy link
Copy Markdown
Owner Author

Superseded by the owner-authorized Linux-only hybrid CI change. The repository's ordinary CI/build/test lane will use GitHub-hosted Linux runners; Windows build gates are being removed. Dedicated Synology/self-hosted capacity remains reserved for real runtime/LAN/display/persistent-environment work and is intentionally kept separate. The useful queue-reduction ideas from this PR will be carried forward where they remain applicable, without preserving the Windows gate.

@blakinio blakinio closed this Aug 16, 2026

@blakinio blakinio left a comment

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

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

Superseded by #331. Converting this obsolete PR to draft solely to emit its existing converted_to_draft CI event in the same concurrency group, which cancels the orphaned Windows run without starting another Windows build. The PR will then be closed again.

@blakinio
blakinio marked this pull request as draft August 16, 2026 08:08
@blakinio blakinio closed this Aug 16, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

programme:infrastructure Infrastructure programme

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant