Skip to content

ci(cli-tri): a unique context, and one that always posts - #3387

Merged
gHashTag merged 1 commit into
masterfrom
s2-clitri
Sep 6, 2026
Merged

ci(cli-tri): a unique context, and one that always posts#3387
gHashTag merged 1 commit into
masterfrom
s2-clitri

Conversation

@gHashTag

@gHashTag gHashTag commented Sep 6, 2026

Copy link
Copy Markdown
Owner

Refs #3386

tri census pin --gate runs in this workflow, and it is not one of the four required contexts — so a red census cannot block a merge, and a squash-merge never runs the local hook either. 3429f9c6 merged red for both reasons at once.

"Make it required" would have broken the repository twice over, and both were measured before anything changed.

1. The context name was not unique

The job was displayed as build. So are the jobs in build-vivado-image.yml and coq-kernel.yml. GitHub matches a required check by context, so require: build names three workflows — satisfiable by the wrong one, or hanging on one that did not run.

Verified build is not among the four current required contexts, so nothing depended on the old name.

2. It was paths-filtered, so requiring it would hang most PRs

A required context that does not POST is not "passed" — it is pending forever.

Measured over the last 40 merged PRs: 15 (38%) touched none of the filtered paths, and every one would have hung.

Cost of the fix, measured rather than estimated

extra runs +38% of PRs
median run 2.9 min
health green 58 of 60 (43 of 45 on pull_request)

A gate that reddens rarely is one that can be required. The push: filter is kept — a master baseline only needs taking when the subject moves.

What this does not do

The ruleset is untouched. Adding cli-tri to the required set is a repository-settings change and the owner's alone. This turns it into one safe click instead of a change that hangs 38% of pull requests.

`tri census pin --gate` runs here, and this workflow is not one of the four
required contexts -- so a red census cannot block a merge, and a squash-merge
never runs the local hook that would otherwise catch it.

"Make it required" would have broken the repository twice over, and both were
measured before anything was changed.

The job was displayed as `build`. So are the jobs in `build-vivado-image.yml`
and `coq-kernel.yml`. GitHub matches a required check by CONTEXT, so requiring
`build` names three workflows: satisfiable by the wrong one, or hanging on one
that did not run. It is `cli-tri` now, and `build` is not among the four
current required contexts, so nothing depended on the old name.

And it was paths-filtered on `pull_request`. A required context that does not
POST is not passed -- it is pending forever. Over the last 40 merged PRs, 15
(38%) touched none of the filtered paths and every one would have hung.

Cost of running on every PR, measured rather than estimated: +38% of runs on a
job whose median is 2.9 minutes, green 58 of its last 60 (43 of 45 on
pull_request). A gate that reddens rarely is one that can be required. The
`push:` filter is kept: a master baseline only needs taking when the subject
moves.

The ruleset is NOT touched. That is a settings change and the owner's alone;
this turns it into one safe click instead of a change that hangs 38% of PRs.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@github-actions

github-actions Bot commented Sep 6, 2026

Copy link
Copy Markdown
Contributor

📓 NotebookLM Notebook linked to this PR

This notebook contains session context, decisions, and artifacts for this work.

@gHashTag
gHashTag enabled auto-merge September 6, 2026 17:56
@github-actions

github-actions Bot commented Sep 6, 2026

Copy link
Copy Markdown
Contributor

PR Dashboard

Generated at: 2026-09-06 17:56:16 UTC

Summary

Status Count
Total Open PRs 15
PRs with Failing Checks 10
PRs with All Checks Green 5
READY 4
FAILING 10
PENDING 0
NO CHECKS YET 0

These columns do not partition: 4 + 10 + 0 + 0 = 14, and there are 15 open PRs. A PR is being counted twice or not at all.

Seal Status

  • ⚠️ STALE -- sha256(compiler.rs)=745cf51f9c7e != manifest seal=87e5cbd3ad94.
    The committed NMSE numbers were certified against an older compiler.rs.
    Run scripts/reseal-check.sh locally for the two-step reseal command (advisory; not a merge gate).

@gHashTag
gHashTag merged commit 92a1960 into master Sep 6, 2026
28 checks passed
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