Skip to content

Require the gate's check names on main once they exist #26

Description

@iderex

The ruleset on main today protects against deletion and force-push and requires
a pull request:

gh api repos/Flowfin/core/rulesets/20572113 --jq '{enforcement, bypass: .bypass_actors, required: [.rules[].type]}'
{"bypass":[],"enforcement":"active","required":["deletion","non_fast_forward","pull_request"]}

There is no required_status_checks entry, so a pull request whose every check
is red can be merged, and a run that never happened leaves the same trace as one
that was green.

This issue is last in the milestone on purpose. Requiring a check name before the
check exists blocks every merge, and requiring a name that later gets renamed
detaches the requirement without any signal.

#113 decides which platforms the gate runs on, and that decides the shape of the
names required here. One leg per check leaves the names in #15 and #16 as they
are written. More than one leg turns each of them into one check run per
platform, so the strings this issue writes into the ruleset come from #113's
answer rather than from the single names those issues assume.

Done when

The ruleset on main carries a required_status_checks rule naming build,
test, lint, format, dependencies, and the checks the repository already
runs on pull requests, each by the literal check-run name that
gh api repos/Flowfin/core/commits/main/check-runs --jq '.check_runs[].name'
reports. A pull request with any one of them red cannot be merged. Blocked on
#15, #16, #17, #18, #19 and #113.

Metadata

Metadata

Assignees

Labels

blocked-on-issueWaits on another open issue on this boardci

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions