[no-ci] CI: avoid SIGPIPE when selecting core release tag - #2475
Open
rwgk wants to merge 1 commit into
Open
Conversation
Contributor
|
Auto-sync is disabled for draft pull requests in this repository. Workflows must be run manually. Contributors can view more details about this message here. |
rwgk
marked this pull request as ready for review
August 1, 2026 08:22
rwgk
enabled auto-merge (squash)
August 1, 2026 08:26
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.
Description
This extracts the API-check fix from #2470 so it can merge independently of the broader build-dependency work there. The regression can block CI for pull requests that modify
cuda_core, so landing the focused fix quickly prevents it from continuing to interfere with unrelated work.Root cause
The latest-release API check selected the newest
cuda-core-v*tag with:gh api ... --paginate | head -1The step runs under
bash -e -o pipefail. Onceheadreceived the first matching tag, it closed the pipe whileghwas still paginating.ghthen received SIGPIPE and exited with status 141, causing the step to fail even though it had successfully found a release tag.This slipped through because the API-check job is gated on changes under
cuda_core/. The job was introduced by #2300, whose own changes were confined to CI files, while #2393 only changedcuda_pathfinder; neither PR exercised the new path.Fix
Replace
head -1withsed -n '1p'.sedprints the first matching tag while continuing to consume the complete paginated stream, allowingghto finish normally. A genuinegh apifailure still propagates throughpipefail, and the existing explicit failure for an empty result remains unchanged.This also incorporates the review concern raised on #2462: unlike the current
|| trueimplementation there, it does not suppress producer failures. PR #2464 carries overlapping work as part of its broader selective-wheel-build stack.Why this is separate and
[no-ci]The exact commit was extracted unchanged from #2470, where the affected API check passed in multiple CI runs, including run 30650439462 and run 30688456702. It was also manually checked against live tag pagination and a simulated producer failure.
A standalone workflow-only PR does not set the
cuda_corechanged-path flag, so the affected API-check job would be skipped even without[no-ci]. Running the remaining matrix would therefore consume CI resources without exercising this fix. Splitting it out lets the blocker merge quickly while #2470 and #2464 continue their broader coordination.Validation
pre-commit run --all-filespasses on this extracted branch, including YAML validation and actionlint.Related: #2462, #2464, #2470.
Checklist