Skip to content

fix(ci): avoid SIGPIPE noise polluting semver-level JSON output#2157

Merged
gh-worker-dd-mergequeue-cf854d[bot] merged 2 commits into
mainfrom
igor/versioning/semver-level-fix
Jun 25, 2026
Merged

fix(ci): avoid SIGPIPE noise polluting semver-level JSON output#2157
gh-worker-dd-mergequeue-cf854d[bot] merged 2 commits into
mainfrom
igor/versioning/semver-level-fix

Conversation

@iunanua

@iunanua iunanua commented Jun 24, 2026

Copy link
Copy Markdown
Contributor

Problem

The semver-level CI step was failing with:

.../semver-level.sh: line 125: echo: write error: Broken pipe
.../semver-level.sh: line 142: echo: write error: Broken pipe
{ ...valid JSON... }
jq: parse error: Invalid numeric literal at line 1, column 57

The semver level was computed correctly (minor), but the downstream jq step crashed.

Root cause

scripts/semver-level.sh used echo "$VAR" | grep -q ... on large variables (the full cargo public-api diff). grep -q exits on the first match, closing the pipe before echo finishes writing, so bash emits echo: write error: Broken pipe to stderr.

The workflow captures the script's combined stdout+stderr and pipes it into jq. Those two stderr lines land on top of the JSON, and jq dies parsing .../semver-level.sh: line 125: at column 57 (right after the 56-char script path).

Fix

Replace every echo "$VAR" | grep pipeline with a here-string (grep ... <<< "$VAR"). Here-strings buffer the whole input, so an early grep -q/head exit no longer triggers SIGPIPE — no spurious stderr to pollute the workflow's captured stream.

🤖 Generated with Claude Code

@iunanua iunanua requested a review from a team as a code owner June 24, 2026 15:15
Replace 'echo "$VAR" | grep' pipelines with here-strings. With large
public-api diffs, 'grep -q' exits on first match and closes the pipe
before echo finishes, emitting 'echo: write error: Broken pipe' to
stderr. The workflow captures combined stdout+stderr and pipes it to
jq, which then chokes on the broken-pipe lines. Here-strings buffer the
input, so early grep exit no longer triggers SIGPIPE.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@iunanua iunanua force-pushed the igor/versioning/semver-level-fix branch from a09f74d to c5180e0 Compare June 24, 2026 15:17

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: a09f74daf8

ℹ️ About Codex in GitHub

Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

Comment thread scripts/semver-level.sh Outdated
@datadog-prod-us1-4

Copy link
Copy Markdown

🎯 Code Coverage (details)
Patch Coverage: 100.00%
Overall Coverage: 73.95% (-0.01%)

This comment will be updated automatically if new data arrives.
🔗 Commit SHA: c5180e0 | Docs | Datadog PR Page | Give us feedback!

@dd-octo-sts

dd-octo-sts Bot commented Jun 24, 2026

Copy link
Copy Markdown
Contributor

Artifact Size Benchmark Report

aarch64-alpine-linux-musl
Artifact Baseline Commit Change
/aarch64-alpine-linux-musl/lib/libdatadog_profiling.so 7.82 MB 7.82 MB 0% (0 B) 👌
/aarch64-alpine-linux-musl/lib/libdatadog_profiling.a 84.81 MB 84.81 MB 0% (0 B) 👌
aarch64-unknown-linux-gnu
Artifact Baseline Commit Change
/aarch64-unknown-linux-gnu/lib/libdatadog_profiling.a 95.94 MB 95.94 MB 0% (0 B) 👌
/aarch64-unknown-linux-gnu/lib/libdatadog_profiling.so 10.44 MB 10.44 MB 0% (0 B) 👌
libdatadog-x64-windows
Artifact Baseline Commit Change
/libdatadog-x64-windows/debug/dynamic/datadog_profiling_ffi.dll 25.05 MB 25.05 MB 0% (0 B) 👌
/libdatadog-x64-windows/debug/dynamic/datadog_profiling_ffi.lib 87.68 KB 87.68 KB 0% (0 B) 👌
/libdatadog-x64-windows/debug/dynamic/datadog_profiling_ffi.pdb 182.46 MB 182.46 MB 0% (0 B) 👌
/libdatadog-x64-windows/debug/static/datadog_profiling_ffi.lib 934.80 MB 934.80 MB 0% (0 B) 👌
/libdatadog-x64-windows/release/dynamic/datadog_profiling_ffi.dll 8.20 MB 8.20 MB 0% (0 B) 👌
/libdatadog-x64-windows/release/dynamic/datadog_profiling_ffi.lib 87.68 KB 87.68 KB 0% (0 B) 👌
/libdatadog-x64-windows/release/dynamic/datadog_profiling_ffi.pdb 24.22 MB 24.22 MB 0% (0 B) 👌
/libdatadog-x64-windows/release/static/datadog_profiling_ffi.lib 48.32 MB 48.32 MB 0% (0 B) 👌
libdatadog-x86-windows
Artifact Baseline Commit Change
/libdatadog-x86-windows/debug/dynamic/datadog_profiling_ffi.dll 21.71 MB 21.71 MB 0% (0 B) 👌
/libdatadog-x86-windows/debug/dynamic/datadog_profiling_ffi.lib 89.06 KB 89.06 KB 0% (0 B) 👌
/libdatadog-x86-windows/debug/dynamic/datadog_profiling_ffi.pdb 186.44 MB 186.45 MB +0% (+16.00 KB) 👌
/libdatadog-x86-windows/debug/static/datadog_profiling_ffi.lib 923.52 MB 923.52 MB 0% (0 B) 👌
/libdatadog-x86-windows/release/dynamic/datadog_profiling_ffi.dll 6.32 MB 6.32 MB 0% (0 B) 👌
/libdatadog-x86-windows/release/dynamic/datadog_profiling_ffi.lib 89.06 KB 89.06 KB 0% (0 B) 👌
/libdatadog-x86-windows/release/dynamic/datadog_profiling_ffi.pdb 25.98 MB 25.98 MB 0% (0 B) 👌
/libdatadog-x86-windows/release/static/datadog_profiling_ffi.lib 45.94 MB 45.94 MB 0% (0 B) 👌
x86_64-alpine-linux-musl
Artifact Baseline Commit Change
/x86_64-alpine-linux-musl/lib/libdatadog_profiling.a 75.58 MB 75.58 MB 0% (0 B) 👌
/x86_64-alpine-linux-musl/lib/libdatadog_profiling.so 8.68 MB 8.68 MB 0% (0 B) 👌
x86_64-unknown-linux-gnu
Artifact Baseline Commit Change
/x86_64-unknown-linux-gnu/lib/libdatadog_profiling.a 91.04 MB 91.04 MB 0% (0 B) 👌
/x86_64-unknown-linux-gnu/lib/libdatadog_profiling.so 10.56 MB 10.56 MB 0% (0 B) 👌

@iunanua

iunanua commented Jun 25, 2026

Copy link
Copy Markdown
Contributor Author

/merge

@gh-worker-devflow-routing-ef8351

gh-worker-devflow-routing-ef8351 Bot commented Jun 25, 2026

Copy link
Copy Markdown

View all feedbacks in Devflow UI.

2026-06-25 07:41:33 UTC ℹ️ Start processing command /merge


2026-06-25 07:41:38 UTC ℹ️ MergeQueue: pull request added to the queue

The expected merge time in main is approximately 60m (p90).


2026-06-25 09:42:03 UTCMergeQueue: The build pipeline has timeout

The merge request has been interrupted because the build 9187519122127437595 took longer than expected. The current limit for the base branch 'main' is 120 minutes.

@iunanua

iunanua commented Jun 25, 2026

Copy link
Copy Markdown
Contributor Author

/merge

@gh-worker-devflow-routing-ef8351

gh-worker-devflow-routing-ef8351 Bot commented Jun 25, 2026

Copy link
Copy Markdown

View all feedbacks in Devflow UI.

2026-06-25 10:11:52 UTC ℹ️ Start processing command /merge


2026-06-25 10:11:56 UTC ℹ️ MergeQueue: pull request added to the queue

The expected merge time in main is approximately 60m (p90).


2026-06-25 11:18:07 UTC ℹ️ MergeQueue: This merge request was merged

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants