Skip to content

ci: show the gate as CI Status and mirror it as ci-status - #177

Merged
kyle-sexton merged 1 commit into
mainfrom
ci/ci-status-alias
Nov 12, 2026
Merged

kyle-sexton merged 1 commit into
mainfrom
ci/ci-status-alias

Conversation

@kyle-sexton

Copy link
Copy Markdown
Member

No related issue: owner decision D3 (rename the required gate to CI Status), step A for this repository.

Summary

The ci-status job now displays as CI Status. A new report-ci-status job, named ci-status, reports its conclusion under the old name. Until the ci-gate org ruleset requires CI Status, both contexts are on every head.

Fix

Verification

  • actionlint is clean.
  • This PR's own checks report both CI Status and ci-status.

Related

🤖 Generated with Claude Code

https://claude.ai/code/session_01VQb9Q2ceZLXhTR4d1vkTCe

The ci-status job displays as `CI Status`, and a new report-ci-status
job reports its conclusion under the old name `ci-status`, the context
the ci-gate org ruleset requires today. aggregate-results moves to the
ci-workflows commit with the alias-jobs input and names the mirror, so
contract-only runs still read as contract-only.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VQb9Q2ceZLXhTR4d1vkTCe
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Nov 12, 2026 •

Copy link
Copy Markdown
Codex Review Summary: ✅ Completed

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-11-12T06:17:41.517995Z 53e5f6b PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@kyle-sexton
kyle-sexton enabled auto-merge (squash) November 12, 2026 06:14
@github-actions

Copy link
Copy Markdown

claude-review reviewed 53e5f6b2bea331d4ebf273fd4b85f7a9afc88ffd: 0 finding(s), 0 as inline comments.

Review of #177: CI Status rename and ci-status mirror

Findings: 0. The diff touches one file, .github/workflows/pr-require-checks.yml.

What I checked (read the diff and the surrounding workflow myself):

  • The job id ci-status is unchanged and only name: CI Status is added. report-ci-status is named ci-status, so both check contexts appear on each head, as the PR describes.
  • report-ci-status uses needs: [ci-status], if: always() and needs.ci-status.result. It fails on any result except success, including cancelled and skipped. permissions: {} is the least privilege it needs.
  • The alias-jobs: ci-status input sits beside the existing yield-to-full-run and rerun-contract-only-siblings inputs. That fits the stated purpose of keeping the mirror out of the run-shape reads.
  • Other references to ci-status in REVIEW.md, docs/ and the other workflows' comments name the gate generically. Nothing breaks while both contexts exist. A later doc rename can follow once the ruleset requires CI Status.
  • There is no closing issue: the body says No related issue: owner decision D3. So there are no acceptance criteria to check.
  • The one rule file, .claude/rules/pr-body-contract.md, is satisfied. The body has Summary, Fix, Verification and Related sections plus the no-issue line.

Not independently verified (author-claimed): the actionlint result and the claim that the PR's own checks show both contexts. I did not run actionlint or confirm the check runs.

Advisory, not counted: the new aggregate-results pin carries # ac4d878 2026-11-11 instead of the # vX.Y.Z tag the other pins use. The commit is not a tagged release, so a pin-comment convention or Dependabot grouping could treat it differently. I found no check in the repository that enforces it, and the PR explains the pin.

Skip gate: the PR is open and not a draft, and nothing excused the review. The security lane is out of scope here. The workflow change adds no new permissions.

@github-actions

Copy link
Copy Markdown

claude-security-review reviewed 53e5f6b2bea331d4ebf273fd4b85f7a9afc88ffd: 0 finding(s), 0 as inline comments.

Security review: PR #177 (head 53e5f6b)

No security findings. Nothing held.

The only file changed is .github/workflows/pr-require-checks.yml.

  • name: CI Status on the ci-status job: only the display name changes. No control moves.
  • New report-ci-status job (check name ci-status):
    • It runs with permissions: {}, so it holds no token scope.
    • The only input is needs.ci-status.result, which reaches the shell through env: RESULT, not through ${{ }} inside run:, so there is no expression injection.
    • [ "$RESULT" = success ] fails closed. A failure, skipped or cancelled result all make the mirror check fail, so it cannot pass a PR the gate stopped.
    • if: always() only ensures a result is always reported.
  • alias-jobs: ci-status input: it tells the aggregator to ignore the mirror job when reading run shape. It adds no new trust.
  • aggregate-results pin: it moves from the v0.39.8 tag to the full 40-hex commit ac4d8780… in the same org's ci-workflows, so it is still pinned by SHA. I could not inspect that commit's contents (the sandbox blocked the lookup), so whether the gate's semantics changed in the newer action is unverified here. Pin hygiene is zizmor's lane, so I did not report it.
    • The bump moves the pin to an untagged commit instead of a release tag.
    • The reviewer should confirm that the new commit still fails closed and that treat-skipped-as: fail is still honored.

Manifest lines: none. The diff touches no plugin or marketplace manifests, and it deletes or softens no standing instructions.

critical-findings: 0

@kyle-sexton
kyle-sexton merged commit 8e39c5e into main Nov 12, 2026
9 checks passed
@kyle-sexton
kyle-sexton deleted the ci/ci-status-alias branch November 12, 2026 06:16
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