Skip to content

ci(runners): rebalance CI load for self-host reliability #1827

Description

@JSONbored

Parent: #1819

Context

Same-repo PRs and main validation can put heavy load on the self-hosted runner pool. Fork PRs already need a safer trust boundary and should not run untrusted code on secret-bearing self-hosted runners.

This issue evaluates runner routing and CI fanout so review checks finish predictably without weakening security.

Requirements

  • Map every workflow job to its current runner class for push, same-repo PR, and fork PR events.
  • Identify which jobs can safely run on GitHub-hosted runners to reduce self-host pressure.
  • Keep secret-bearing or environment-dependent jobs off untrusted fork code.
  • Preserve branch protection semantics around the aggregate validate check.
  • Review concurrency groups and cancellation behavior to avoid unnecessary restarts or stranded pending checks.
  • Measure whether self-host labels, runner count, or job partitioning cause internal PR queues to stall.

Deliverables

  • Runner routing matrix for all CI workflows.
  • Recommended split between GitHub-hosted and self-hosted jobs.
  • Proposed workflow changes, if any, with security rationale.
  • Guidance for runner capacity, labels, and autoscaling/future runner pools.
  • Regression tests or actionlint coverage where workflow logic changes.

Acceptance criteria

  • Fork PRs remain isolated from self-hosted secret-bearing infrastructure.
  • Internal PR CI has fewer avoidable queue stalls and restarts.
  • Required checks remain stable and do not strand PRs at pending due to path-filtered jobs.
  • Any workflow change is documented enough that future maintainers understand the trust boundary.

Validation

  • Run npm run actionlint after workflow changes.
  • Verify a same-repo PR and fork-shaped event route to the expected runner classes.
  • Confirm validate aggregates all required jobs correctly.

Ownership

Maintainer-only. No gittensor:* labels.

Metadata

Metadata

Assignees

Labels

maintainer-onlyOwner-only work — yields no Gittensor points.

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions