-
Notifications
You must be signed in to change notification settings - Fork 232
Add scheduled stress test workflow #762
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
Signed-off-by: Casper Beyer <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This pull request adds stress testing capabilities to the project by introducing the pytest-repeat plugin and a new GitHub Actions workflow for automated stress testing.
Key Changes:
- Added
pytest-repeat>=0.9.0as a development dependency to enable test repetition - Created a new
.github/workflows/stress.ymlworkflow for scheduled and manual stress testing - Configured the workflow to run tests 100 times by default with parallelization support
Reviewed Changes
Copilot reviewed 2 out of 3 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
pyproject.toml |
Added pytest-repeat to dev dependencies for test repetition functionality |
uv.lock |
Lock file updated with pytest-repeat 0.9.4 package metadata and dependencies |
.github/workflows/stress.yml |
New workflow for running stress tests with configurable repeat count and parallel workers, supporting multiple Python versions and operating systems |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| name: stress | ||
| on: | ||
| schedule: | ||
| - cron: "* * * * *" |
Copilot
AI
Nov 7, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The cron schedule "* * * * *" will run every minute, which is likely not intended for a stress test workflow. This could lead to excessive resource usage and GitHub Actions quota consumption. Consider using a more reasonable schedule, such as:
- Daily:
"0 0 * * *"(midnight UTC) - Weekly:
"0 0 * * 0"(Sunday midnight UTC) - Or disable the schedule entirely if manual triggers are preferred
| - cron: "* * * * *" | |
| - cron: "0 0 * * *" |
| jobs: | ||
| stress-test: | ||
| name: ${{ matrix.project }} stress test (python-${{ matrix.python-version }}, nats-server-${{ matrix.nats-server-version }}, ${{ matrix.os }}) | ||
| runs-on: ${{ matrix.os }} |
Copilot
AI
Nov 7, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The stress test job lacks a timeout setting. Running 100 test iterations (the default count) could potentially take a very long time, especially on slower runners. Consider adding a timeout-minutes setting to the job to prevent it from running indefinitely if tests hang or take unexpectedly long. For reference, the regular test workflow uses timeout-minutes: 20.
| runs-on: ${{ matrix.os }} | |
| runs-on: ${{ matrix.os }} | |
| timeout-minutes: 20 |
No description provided.