Skip to content

v1.4.1

Latest

Choose a tag to compare

@github-actions github-actions released this 13 Aug 17:16
3696a77

A patch release fixing a VCS polling defect that could exhaust a GitHub API rate-limit budget and stall pull-request runs.

Bug Fixes

  • A pull request filtered out by trigger-prefixes / working-directory is now decided once, not re-decided every poll cycle — the poller treated "a run row exists" as the only evidence that a pull request had been handled. Every other outcome creates a run, so the trigger-prefix filter was the one path that legitimately created none, making a deliberate "nothing under this prefix changed" skip indistinguishable from "never processed". Each such pull request therefore cost one GitHub compare call every poll cycle, forever. On an instance with a few dozen filtered pull requests that is thousands of redundant calls per hour, enough to keep the 5,000/hour primary quota continuously exhausted — at which point every workspace on that connection stops getting runs, including ones that have nothing to do with the filtered repository. The decision is now remembered per (workspace, pull request, head commit), so a filtered pull request costs one call and then nothing until it is pushed to again. Only workspaces that set trigger-prefixes or a working-directory were affected, which inverted the intent of the feature: the filter that exists to do less work was the sole source of sustained load. (#1330)

    The decision is scoped to the pull request head and the resolved prefixes, so editing trigger-prefixes or working-directory re-evaluates every open pull request on the next cycle — you don't wait out a cache to see the effect of a filter change. The key is documented in VCS integration and the Redis table, and is safe to delete by hand if you ever need to force a re-evaluation. (#1332)

Maintenance

  • Dependency and pinned-action updates: uvicorn upper bound raised to <0.53, codeql-action and docker/login-action SHAs refreshed, and web type-definition bumps.

Status

Stable — 1.x, under the SemVer compatibility contract enforced in CI across every public surface. This release changes no route, response attribute, wire-protocol field, config key, Helm value, or database column.

Full Changelog: v1.4.0...v1.4.1