Skip to content

feat: GitHub REST API combined-status check for multi-suite CI aggregation #89

Description

@mdproctor

Context

devtown#86 implements webhook-only CI aggregation with pessimistic sticky-failure policy. This has two known limitations:

  1. Aggregation gap: We don't know the total expected suite count without the REST API. A 'passing' status may be premature if additional workflows have not reported.
  2. Atomicity race: Two concurrent check_suite webhooks can both read zero existing suites and both signal 'passing.'

What to do

Query the GitHub Checks API combined status for the HEAD SHA before signaling ci.status = 'passing'. This eliminates both the aggregation gap and the atomicity race.

Requires: GitHub REST client (REST client dependency, GitHub App or PAT auth).

Refs #86

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions