Skip to content

ci(bench): do not fail benchmarks when Polar Signals setup fails - #9286

Open
joseph-isaacs wants to merge 1 commit into
developfrom
claude/parca-agent-download-failure-gha9fg
Open

ci(bench): do not fail benchmarks when Polar Signals setup fails#9286
joseph-isaacs wants to merge 1 commit into
developfrom
claude/parca-agent-download-failure-gha9fg

Conversation

@joseph-isaacs

Copy link
Copy Markdown
Contributor

Rationale for this change

The Setup Polar Signals step downloads the Parca Agent release binary over the network, and that download can fail transiently. In run 31181958893 it failed with socket hang up three times in a ~28s window (the action's own retries at 18s and 10s), which aborted the compression-bench job before the benchmark ran.

That failure was a flake, not a config problem: 15 other jobs in the same run executed the identical step — same pinned action, same parca_agent_version: "0.49.0" — and succeeded, two of them within seconds of the failure.

Profiling is supplementary to the benchmark results, so a dropped connection while fetching the agent should not cost us the whole benchmark job. The adjacent Pre-upload benchmark debuginfo to Polar Signals step is already continue-on-error: true; this makes the setup step consistent with it.

What changes are included in this PR?

Adds continue-on-error: true (with a one-line comment explaining why) to the Setup Polar Signals step in the three workflows that run it:

  • .github/workflows/pr-bench-runner.yml
  • .github/workflows/develop-bench.yml
  • .github/workflows/sql-bench-matrix.yml

When the step fails, the job now continues into Setup benchmark environment and runs the benchmark without profiling data, instead of failing outright. The step is still reported as failed in the job summary, so the flake stays visible.

Checks run: yamllint --strict -c .yamllint.yaml on all three changed workflows. No Rust or other code is touched, so no cargo checks were run.

What APIs are changed? Are there any user-facing changes?

None. CI configuration only.


Generated by Claude Code

The Parca Agent release download in the Polar Signals setup step is a
network operation that can fail transiently ("socket hang up"), which
currently aborts the whole benchmark job before it runs. Profiling is
supplementary to the benchmark results, and the debuginfo pre-upload step
is already continue-on-error, so let the benchmark proceed without it.

Signed-off-by: Joe Isaacs <joe.isaacs@live.co.uk>
@codspeed-hq

codspeed-hq Bot commented Aug 7, 2026

Copy link
Copy Markdown

Merging this PR will degrade performance by 0.11%

⚡ 2 improved benchmarks
❌ 2 regressed benchmarks
✅ 1933 untouched benchmarks
⏩ 51 skipped benchmarks1

Warning

Please fix the performance issues or acknowledge them on CodSpeed.

Performance Changes

Mode Benchmark BASE HEAD Efficiency
Simulation decode_varbin[(1000, 2)] 62.1 µs 78.6 µs -21.03%
Simulation decompress[u64, (1000, 16)] 65.1 µs 73.1 µs -10.92%
Simulation decompress[u32, (10000, 256)] 100.4 µs 83.6 µs +20.11%
Simulation cold_misaligned[(64, 256)] 5.1 ms 4.4 ms +17.85%

Tip

Investigate this regression by commenting @codspeedbot fix this regression on this PR, or directly use the CodSpeed MCP with your agent.


Comparing claude/parca-agent-download-failure-gha9fg (9c75ddd) with develop (66c447e)

Open in CodSpeed

Footnotes

  1. 51 benchmarks were skipped, so the baseline results were used instead. If they were deleted from the codebase, click here and archive them to remove them from the performance reports.

Sign up for free to 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.

2 participants