pkgdeps/automerge-gate

Polls check_run results for a PR and reports the aggregate as either a commit status (gate-mode: private, via the legacy Commit Status API) or the gate job's own check_run conclusion (gate-mode: public, via the job's exit code). Single-job pattern; no race.

View on GitHub

Trust Signals

Scorecard Score
not yet scored
Maintenance Recency
Stale
License
None
namedescriptionrequireddefault
gate-modeGate variant. "private" = cost-optimized for repos with no external fork PRs (action writes the aggregated commit status via the legacy Commit Status API). "public" = simpler model for fork-accepting repos (the gate signal is the JOB exit code; the job name must match the required-check context).yes
contextAggregated commit status context (gate-mode: private only). Must match the required check in your ruleset. Ignored when gate-mode: public — the job name is the signal.noautomerge-gate/all-passed
poll-interval-secondsHow often (seconds) to re-fetch check status during the polling loopno30
ignore-checksJSONC array of rules to exclude check_runs from aggregation. Each rule is an object with optional fields: app (GitHub App slug), workflow (workflow file basename, e.g. ci.yaml), name (check_run name). Fields are AND-evaluated; glob (* / ?) supported on every field. Using `workflow` requires the workflow's token to have `actions: read` — the action resolves each run's workflow path via the Actions API, and without that scope the rule silently never matches. Example: '[{"name":"optional-*"},{"app":"dependabot"},{"app":"xcode-cloud","name":"Build *"},{"workflow":"ci-go.yaml","name":"lint"}]'.no[]
tokenGitHub token used to read checks and (when permitted) write the aggregated commit statusno${{ github.token }}
namedescription
stateFinal state: success, failure, or skipped
total-checksNumber of check_runs observed before filtering
evaluated-checksNumber of check_runs after filtering
completed-checksNumber of completed check_runs after filtering
polled-iterationsNumber of polling iterations performed