fix(ci): raise the capture job ceiling so long captures survive - #173
Conversation
The fixed 45m ceiling killed both 5h v5 capture attempts at exactly 45m46s; the successful 4h v4 only survived via a never-merged branch tweak (da1f41d). Compute timeout-minutes from duration_seconds plus 75m headroom; the 6h hosted cap still bounds hung runs. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
@coderabbitai review |
✅ Action performedReview finished.
|
📝 WalkthroughWalkthroughThe workflow job timeout for the OpenTelemetry demo corpus capture is made dynamic. Instead of a fixed 45-minute timeout, the timeout now scales proportionally with the requested capture duration ( ChangesJob Timeout Scaling
Estimated code review effort🎯 2 (Simple) | ⏱️ ~5 minutes Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Pull request overview
Adjusts the capture-otel-demo-corpus GitHub Actions workflow so long-running corpus captures don’t get terminated by an undersized fixed job timeout, aligning CI behavior with the workflow’s configurable capture window.
Changes:
- Replaces the fixed
timeout-minutes: 45with a computed timeout derived frominputs.duration_seconds. - Updates the inline rationale comment to document why the timeout must scale with longer captures.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In @.github/workflows/capture-otel-demo-corpus.yml:
- Line 75: The timeout-minutes expression uses unsupported arithmetic; change to
compute the scaled timeout in a prior step (e.g., a step named compute-timeout)
that reads inputs.duration_seconds (default 600), computes timeout_minutes =
floor(duration_seconds/60) + 75, and exposes it as an output or env (use echo
"timeout_minutes=..." >> $GITHUB_OUTPUT or set-output equivalent). Then replace
the inline expression for timeout-minutes with the numeric output reference
(e.g., use ${{ steps.compute-timeout.outputs.timeout_minutes }}) so the job's
timeout-minutes receives a plain number.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro Plus
Run ID: 22c77ec9-cc66-4934-971e-0d5594a1e336
📒 Files selected for processing (1)
.github/workflows/capture-otel-demo-corpus.yml
…thmetic The scaled expression was invalid (no / or + in GH expressions, per CodeRabbit) and would also exceed the 360m hosted cap for a 5h window (per Copilot). A fixed near-cap ceiling is the robust trade on this rare manual workflow: no more silently killed long captures. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Both corpus/otel-demo-v5 capture attempts (runs 27293201562, 27300579008) were cancelled at exactly 45m46s — the job's fixed
timeout-minutes: 45, sized for the short default capture, kills any long window dispatched from main. The successful 4h v4 capture only survived because it was dispatched fromfeat/bench-scale-series, whose timeout bump (da1f41d) never merged.Fix: a fixed
timeout-minutes: 355(just under GitHub's hard 6h job cap). A duration-scaled expression is NOT possible — GitHub Actions expressions have no arithmetic operators (caught by CodeRabbit), and 5h + headroom would exceed the 360m hosted cap anyway (caught by Copilot). On this rare, manual-dispatch-only workflow, a hung run burning toward the platform cap is the cheaper failure mode than another silently killed capture; the comment on the line records why it cannot scale.Unblocks re-dispatching v5 (B2 corpus mass) and the flagged v6 (B1 error band, #172).
Co-Authored-By: Claude Fable 5 noreply@anthropic.com