Skip to content

Add a CI passed gate for branch rules and leave one expected failure - #5

Merged
arthurfiorette merged 2 commits into
mainfrom
ci-gate
Oct 28, 2026
Merged

arthurfiorette merged 2 commits into
mainfrom
ci-gate

Conversation

@arthurfiorette

Copy link
Copy Markdown
Member

Adds one check for branch rules to require, and cuts the jobs that fail on purpose from two to one.

  • CI passed (gate) needs every job except the expected failure. It runs with always(), because GitHub counts a skipped required check as passed. It fails if any job it needs failed, was cancelled or was skipped, and lists which ones.
  • Logs without access to the jobs API no longer has a failing step. With a token the API refuses, the post step can't tell whether a step failed, so it uploads anyway. The job can therefore pass, and the artifacts job still checks the upload and the fallback name.
  • Failed test step is renamed to Expected failure: test step. It has to fail for real: with continue-on-error on the step, the jobs API reports the step as success (seen on "Failed start on ubuntu-latest"), and the action correctly uploads nothing. A run dispatched from CI wouldn't help either, since its checks attach to the same commit. The artifacts job needs this job and checks its logs, which is why the gate leaves it out.

After merging, require only CI passed in the branch rules.

#4 adds a lockfile job. Whichever of the two PRs merges second should add lockfile to the gate's needs. The unnamed change appears in both PRs and is identical, so it merges cleanly.

The unnamed job no longer fails a step: with a token the API refuses, the action uploads whether or not a step failed, so the job can pass. Failed test step must fail for real, since continue-on-error on the step makes the API report it as a success, so it is renamed to say the failure is expected. The gate needs every other job and is the one check branch rules require.
@mira-arthur

mira-arthur Bot commented Oct 28, 2026 •

Copy link
Copy Markdown

Mira PR Walkthrough

Adds a CI passed gate job to the CI workflow so branch rules can require a single check. The gate runs with always() and fails if any needed job failed, was cancelled, or was skipped. It also reduces intentionally failing jobs from two to one: the "Logs without access to the jobs API" job no longer has a failing step, and the failing test step is renamed to "Expected failure: test step".

Confidence: 4/5   ◉◉◉◉○   Safe with minor follow-up

1 file reviewed


Comment @mira-arthur help to get the list of available commands and usage tips.

@arthurfiorette
arthurfiorette merged commit fb73c83 into main Oct 28, 2026
22 of 23 checks passed
@arthurfiorette
arthurfiorette deleted the ci-gate branch October 28, 2026 14:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant