Skip to content

fix(ci): make the codeanalyzer-JAR release guard pipe-safe (#284) - #287

Merged
rahlk merged 1 commit into
mainfrom
fix/ci-jar-guard-sigpipe
Jul 22, 2026
Merged

fix(ci): make the codeanalyzer-JAR release guard pipe-safe (#284)#287
rahlk merged 1 commit into
mainfrom
fix/ci-jar-guard-sigpipe

Conversation

@rahlk

Copy link
Copy Markdown
Collaborator

Follow-up to #285. The v1.4.4 release (run 29934029805) failed at the new JAR guard with a falsedist/cldk-1.4.4.tar.gz is missing the codeanalyzer JAR — the tar: stdout: write error in the log is the tell.

Cause

tar tzf "$f" | grep -qE … under set -o pipefail: grep -q exits on first match and closes the pipe, SIGPIPE-killing tar (still decompressing the 32MB sdist). pipefail then reports the pipeline as failed even though the JAR was found. The wheel check passed because unzip -l reads the zip central directory (small/fast) and finishes before grep closes.

The artifacts fix from #285 works — the JAR is in both the wheel and the sdist. Only the guard was buggy.

Fix

Capture each listing via command substitution, then grep a here-string — no live pipeline, so nothing to SIGPIPE. Verified locally: passes on jar-bundled wheel+sdist, still fails (with a diagnostic dump) on a jarless wheel.

The guard piped `tar tzf` (which decompresses the whole ~32MB sdist) straight
into `grep -q`; grep closes the pipe on first match, SIGPIPE-killing tar, and
under `set -o pipefail` that surfaced as a false "missing JAR" — failing the
v1.4.4 release even though the JAR was present in both wheel and sdist. Capture
each listing with command substitution and grep a here-string instead, so no
producer is still writing when grep short-circuits. (#284)
Sign up for freeto 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

@rahlk