fix(ci): gate ci-status on detect-changes result#6344
Merged
Conversation
The ci-status gate job never depended on detect-changes and never checked its result. GitHub Actions marks every downstream job with needs: detect-changes as skipped (not failure) when detect-changes itself fails, and ci-status already treated skipped as acceptable — so a hard failure in detect-changes cascaded into an all-skipped downstream that ci-status reported as passing, letting PRs merge without actually running CI.
bug-ops
force-pushed
the
fix/ci-status-detect-changes-gate
branch
from
July 17, 2026 00:03
145c310 to
a679219
Compare
bug-ops
enabled auto-merge (squash)
July 17, 2026 00:03
k256's elliptic-curve dependency deprecated ToEncodedPoint in favor of ToSec1Point in 0.14, and build.warnings denies the resulting deprecation warning, breaking the gonka-gated full/postgres builds.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
ci-status, the final required merge-gate job, never listeddetect-changesin itsneeds:and never checked its result.detect-changes, so a failure indetect-changescascades toskippedon all of them via GitHub Actions' default dependency-skip behavior.ci-statusalready treatsskippedas an acceptable result, so a hard failure indetect-changesproduced an all-skippeddownstream that was reported as passing — PRs could merge with no CI having actually run.detect-changestoci-status'sneeds:array and its result to the checkedresultsarray.detect-changeshas noif:of its own, so it can only resolve tosuccess/failure/cancelled— both failure modes are already correctly rejected by the existing success-or-skipped check, no further special-casing needed.Test plan
fy lint .github/workflows/ci.yml— no new errorsactionlint— cleangitleaks protect --staged— no leaksci-statusjob end-to-end