Skip to content

Conversation

@caspervonb
Copy link
Collaborator

No description provided.

@caspervonb caspervonb requested a review from Copilot November 7, 2025 10:43
Copy link

Copilot AI left a 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.0 as a development dependency to enable test repetition
  • Created a new .github/workflows/stress.yml workflow 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: "* * * * *"
Copy link

Copilot AI Nov 7, 2025

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
Suggested change
- cron: "* * * * *"
- cron: "0 0 * * *"

Copilot uses AI. Check for mistakes.
jobs:
stress-test:
name: ${{ matrix.project }} stress test (python-${{ matrix.python-version }}, nats-server-${{ matrix.nats-server-version }}, ${{ matrix.os }})
runs-on: ${{ matrix.os }}
Copy link

Copilot AI Nov 7, 2025

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.

Suggested change
runs-on: ${{ matrix.os }}
runs-on: ${{ matrix.os }}
timeout-minutes: 20

Copilot uses AI. Check for mistakes.
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