Skip to content

ci: add required-ci gate job - #209

Merged
MarshallOfSound merged 1 commit into
mainfrom
ci/required-ci-gate
Oct 6, 2026
Merged

MarshallOfSound merged 1 commit into
mainfrom
ci/required-ci-gate

Conversation

@claude

@claude claude Bot commented Sep 27, 2026

Copy link
Copy Markdown
Contributor

Requested by Samuel Attard · Slack thread

This adds a single required-ci job to the Test workflow that depends on the test job and fails if it failed or was cancelled, so branch protection can require one stable check name instead of each matrix leg, matching electron/forge. Branch protection or the ruleset needs updating separately to require it.

🤖 Generated with Claude Code

https://claude.ai/code/session_01Rx13DJRnFBvVNh1ioMMXsQ


Generated by Claude Code

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Rx13DJRnFBvVNh1ioMMXsQ
@claude
claude Bot requested a review from a team as a code owner September 27, 2026 07:16

@claude claude Bot left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good, straightforward CI config change.

What was reviewed: the new required-ci job's needs/if: always() logic and its failure condition (contains(needs.*.result, 'failure' | 'cancelled')); confirmed it only fails when the test job itself failed or was cancelled, so it adds no new failure mode when reused via workflow_call from release.yml. Checked release.yml's uses: ./.github/workflows/test.yml call — required-ci becomes part of that reusable workflow but only fails release when test itself would already have failed it, so this is not an added risk.

Extended reasoning...

Single-commit, single-file change adding a required-ci aggregator job to test.yml, a common branch-protection pattern (mirrors electron/forge per the PR description). No security-sensitive surface (no secrets, permissions stay contents: read, no new external actions). Verified the one candidate concern already flagged (required-ci also gating the release.yml reusable-workflow call) is logically inert since required-ci's failure condition is a strict subset of the underlying test job's own failure, so it does not add a new blocking path. CODEOWNERS is a repo-wide team wildcard, not a named individual gate. Change is small, mechanical, and follows an established pattern with no ambiguity.

@MarshallOfSound
MarshallOfSound enabled auto-merge (squash) October 6, 2026 16:44
@MarshallOfSound
MarshallOfSound merged commit a28e58d into main Oct 6, 2026
11 checks passed
@MarshallOfSound
MarshallOfSound deleted the ci/required-ci-gate branch October 6, 2026 16:45
@electron-npm-package-publisher

Copy link
Copy Markdown

🎉 This PR is included in version 3.0.3 🎉

The release is available on:

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants