-
Notifications
You must be signed in to change notification settings - Fork 769
ci(load-tests): add GitHub Actions workflow for load testing on k8s #4051
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: master
Are you sure you want to change the base?
Conversation
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
Adds a new GitHub Actions workflow to run EVM load tests against a Kubernetes cluster using a custom self-hosted runner and Nix for environment management.
- Introduces
.github/workflows/load-tests.yaml
for on-demand load testing viaworkflow_dispatch
- Configures dependencies (apt, Go, Nix) inside a container and checks out full repository history
- Executes Go-based load tests with a Nix-powered shell
Comments suppressed due to low confidence (1)
.github/workflows/load-tests.yaml:32
- Enhance robustness by prepending the script with
set -euo pipefail
so the job fails fast on any command error or undefined variable within the shell step.
shell: nix develop --command bash -x {0}
… use specific SHA (v2.325.0)
…d and remote Kubernetes clusters.
…ad of `test-load-kube-remote` in workflow
…latform-chaos-k8s
- Select "Load Tests on k8s" workflow | ||
- Click "Run workflow" | ||
- Specify image (defaults to avaplatform/avalanchego:latest) | ||
- Additional parameters can be passed via workflow inputs (duration, connections, node count) |
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.
(No action required) Are you intending to add these inputs before merge? If not, maybe remove this line.
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.
Added duration, node count should be merged soon so this is fine to stay I think.
duration: |
- Specify image (defaults to avaplatform/avalanchego:latest) | ||
- Additional parameters can be passed via workflow inputs (duration, connections, node count) | ||
|
||
## Visualize metrics in Grafana |
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.
(No action required) Maybe replace this section with a link to the relevant sections in the tmpnet README?
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.
…e CI based on labels
Why this should be merged
Enables CI execution on platform-chaos-k8s addressing three critical EVM performance testing requirements:
This foundation supports the EVM performance testing initiative and future regression analysis capabilities.
How this works
GitHub workflows can now leverage platform-chaos-k8s infrastructure for EVM load testing. Workflows automatically provision test environments. This provides a self-service testing environment without requiring direct cluster access or manual infrastructure setup.
How this was tested
Need to be documented in RELEASES.md?
No