Skip to content

A burst of pull requests here starves the organization's runners and delayed a production deploy by an hour #475

Description

@devantler

🤖 Generated by the Agentic Engineer

Evidence

On Monday 2026-10-05 between about 08:20Z and 09:30Z, six pull requests were open in this repository at once (four Dependabot updates plus two agent drafts). Each pull request in this repository starts roughly 260–275 check jobs. Together they filled the organization's shared pool of hosted runners:

  • 167 workflow runs were created in this repository after 08:00Z.
  • In platform, the merge-queue run that deploys to production (run 37281958629, for platform#4506) was created at 08:10:10Z and finished at 09:14:36Z — 64 minutes. Its deploy job did not get a runner until 08:42Z, and its last two short jobs waited from 08:54Z until about 09:14Z. Three more pull requests sat queued behind it the whole time.
  • Pull-request CI in platform, world-at-ruin and this repository showed jobs queued for 30–50 minutes with nothing running.

Nothing failed. Every job was simply waiting for a runner.

Problem and audience

Every repository in the organization shares one runner allowance, so a burst here delays everything else, including production deploys through the platform's merge queue, which has a time limit (platform#3097). Dependabot runs with no cooldown for our own actions, so each release of this repository opens several updates here at once and each one runs the full job set. The audience is the maintainer and both agent lanes, who wait an hour for feedback that normally takes minutes.

Hypothesis

Most of the ~270 jobs are self-tests of individual actions and workflows that a given pull request does not touch. Running only the tests affected by the changed paths (as platform and the monorepo already do), or giving merge-queue deploys priority over pull-request self-tests, would keep a burst from starving the rest of the organization.

Acceptance criteria

  • Measure first: for the last 20 pull requests, how many jobs ran and how many tested something the pull request changed.
  • A pull request that changes one action or one workflow runs the tests for that surface and the always-on gates, not the whole catalogue; the required check still reports and cannot be skipped by a path filter.
  • A change to shared test machinery or to the CI workflow itself still runs everything.
  • After the change, a burst of five simultaneous dependency updates here does not delay a platform merge-queue run by more than a few minutes (measured on a real burst).

Success signal

Median job count per pull request in this repository, and the wall-clock time of platform merge-queue runs on days with a dependency burst.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions