fix(ci): prevent transitive skip propagation in release pipeline#266
Merged
fix(ci): prevent transitive skip propagation in release pipeline#266
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
There was a problem hiding this comment.
Pull request overview
Updates the GitHub Actions CI/CD workflow to prevent “skipped” status from propagating transitively through the needs chain and blocking the release pipeline on push events.
Changes:
- Make
review-thread-gatealways run, with an early exit that setsallow_heavy=truefor non-PR events. - Simplify
docker-buildgating logic to rely only on theallow_heavyoutput. - Remove the prior
!cancelled()-based workaround introduced in the earlier follow-up.
- Delete separate gate job that broke needs chain on push to main - Add gate step as first step of docker-build (runs on pull requests only) - docker-build now depends only on quality-checks - Simplify summary job status reporting Fixes #265
- Fail with exit 1 on inconsistent pagination (empty page or missing cursor with hasNextPage=true) instead of silently breaking the loop - Rename quality-checks display name to "Quality Checks" to avoid collision with legacy "Lint, Test & Build" expected-status job
- Only fail on MAX_PAGES when hasNextPage is still true (avoids false positive when scan completes exactly on the last page) - Remove unused image-built output from docker-build job - Add comment explaining intentional fail-on-unresolved design
- Set 30-minute timeout for docker-build (multi-arch build ~8min + margin for cache misses and gate check)
- Add comment explaining why needs lists all jobs (output access) and why always() guarantees execution despite skipped dependencies
sw-release-bot bot
pushed a commit
that referenced
this pull request
Feb 2, 2026
## [6.51.0](v6.50.0...v6.51.0) (2026-02-02) ### Features * **docs:** consent banner + vue-privacy 1.2.2 with gtag fix ([#255](#255)) ([75eb54b](75eb54b)) ### Bug Fixes * **ci:** prevent transitive skip propagation in release pipeline ([#266](#266)) ([f809a7a](f809a7a)), closes [#264](#264) [#265](#265) [#265](#265) * **ci:** replace heredoc with quoted strings in thread-gate job ([#246](#246)) ([9470b50](9470b50)), closes [#243](#243) [#245](#245) * **ci:** unblock release pipeline on push to main ([#264](#264)) ([59b8cbe](59b8cbe)), closes [#263](#263) * **deps:** update hono from 4.11.5 to 4.11.7 ([#248](#248)) ([71cc831](71cc831)), closes [#247](#247) * **docs:** resolve SEO issues in VitePress documentation ([#249](#249)) ([#250](#250)) ([3e05717](3e05717)) * **docs:** use canonical URL for TOOLS reference in README ([#252](#252)) ([5ac56cc](5ac56cc)), closes [#251](#251) * **pipelines:** serialize array query params as key[] for GitLab Rails API ([#262](#262)) ([955a3c1](955a3c1)), closes [#261](#261)
|
🎉 This PR is included in version 6.51.0 🎉 The release is available on: Your semantic-release bot 📦🚀 |
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
Follow-up to #264. The
!cancelled()approach was insufficient — GitHub Actions propagates skipped status transitively through the entireneedschain, blockingsemantic-releaseeven whendocker-buildsucceeded.Root cause:
review-thread-gatewas a separate job withif: github.event_name == 'pull_request'. On push to main it was skipped, causing ALL downstream jobs in theneedschain to be skipped too (docker-build->semantic-release-> publish jobs).Solution: Delete the standalone gate job entirely. Move the gate check into
docker-buildas its first step withif: github.event_name == 'pull_request'. On push to main, the step is simply skipped — no separate job, noneedschain issues, no wasted runner.Changes:
review-thread-gatejob (was ~110 lines + separate runner)docker-build(PR-only via step-levelif)docker-buildnow depends only onquality-checkssummaryjob — remove gate-specific status branchesTest plan
Fixes #265