Skip to content

chore(ci): fix load test scenario filter and add concurrency guard#340

Merged
FSM1 merged 1 commit into
mainfrom
chore/load-test-scenario-filter
Mar 23, 2026
Merged

chore(ci): fix load test scenario filter and add concurrency guard#340
FSM1 merged 1 commit into
mainfrom
chore/load-test-scenario-filter

Conversation

@FSM1

@FSM1 FSM1 commented Mar 23, 2026

Copy link
Copy Markdown
Owner

Summary

  • Fix scenario filtering: Call pnpm exec vitest run --no-coverage <scenario> directly instead of going through the npm script with --. pnpm's -- separator causes Vitest's CAC CLI parser to put the filter into options['--'] instead of treating it as a positional file filter — so all 5 scenarios ran instead of just the selected one.
  • Add concurrency group: load-test-<environment> ensures load tests queue instead of running simultaneously. Concurrent runs against the same staging API interfere with each other's latency measurements.
  • Bump timeout: 30 → 60 minutes for high client count runs.

Test plan

  • Trigger mixed-workload scenario and verify only mixed-workload.test.ts runs (not all 5)
  • Trigger two runs simultaneously and verify the second queues behind the first

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Chores
    • Enhanced internal load testing infrastructure with improved job concurrency handling and extended timeout limits for more reliable test execution.

- Call vitest directly instead of via npm script to fix scenario
  filtering — pnpm's `--` separator causes CAC to put the filter
  in a separate bucket instead of treating it as a file filter
- Add concurrency group per environment so load tests queue instead
  of running simultaneously (concurrent runs interfere with each
  other's latency measurements)
- Bump timeout from 30 to 60 minutes for high client count runs

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Entire-Checkpoint: f57ccfc83cff
@coderabbitai

coderabbitai Bot commented Mar 23, 2026

Copy link
Copy Markdown

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: daab76bb-1e37-49ed-98c7-d461b21cc91b

📥 Commits

Reviewing files that changed from the base of the PR and between c13c060 and 2293cb8.

📒 Files selected for processing (1)
  • .github/workflows/load-test.yml

Walkthrough

The load-test workflow was modified to add concurrency controls preventing in-progress runs from cancellation, increase the job timeout from 30 to 60 minutes, and change the test execution command from a filtered pnpm script to a direct vitest invocation with a different working directory.

Changes

Cohort / File(s) Summary
CI Workflow Configuration
.github/workflows/load-test.yml
Added concurrency group with cancel-in-progress: false to prevent cancellation of in-progress load tests. Increased job timeout from 30 to 60 minutes. Modified test execution to use pnpm exec vitest run --no-coverage from tests/load directory instead of the filtered pnpm script approach.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~8 minutes

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately and specifically describes the main changes: fixing the load test scenario filter and adding a concurrency guard to prevent concurrent runs.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch chore/load-test-scenario-filter

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@FSM1 FSM1 merged commit aefc3b4 into main Mar 23, 2026
25 checks passed
@FSM1 FSM1 deleted the chore/load-test-scenario-filter branch March 23, 2026 16:42
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.

1 participant