Skip to content

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

Merged
merged 55 commits into from
Jul 16, 2025

Conversation

Elvis339
Copy link
Contributor

@Elvis339 Elvis339 commented Jul 3, 2025

Why this should be merged

Enables CI execution on platform-chaos-k8s addressing three critical EVM performance testing requirements:

  1. Access to larger nodes than GitHub provides
  2. Controlled latency simulation between nodes using chaos mesh for geographic distribution testing
  3. Secure cluster access without exposing credentials to GitHub Actions.

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

@Elvis339 Elvis339 self-assigned this Jul 3, 2025
@Copilot Copilot AI review requested due to automatic review settings July 3, 2025 11:21
@Elvis339 Elvis339 requested a review from maru-ava as a code owner July 3, 2025 11:21
@Elvis339 Elvis339 added the ci This focuses on changes to the CI process label Jul 3, 2025
Copy link
Contributor

@Copilot 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

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 via workflow_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}

@Elvis339 Elvis339 requested a review from maru-ava July 7, 2025 12:31
…usive and standard test flows. Improve duration description and artifact naming.
@maru-ava maru-ava added this pull request to the merge queue Jul 16, 2025
Merged via the queue into master with commit 843f39a Jul 16, 2025
54 of 55 checks passed
@maru-ava maru-ava deleted the k8s-load-tests branch July 16, 2025 15:13
@github-project-automation github-project-automation bot moved this to Done 🎉 in avalanchego Jul 16, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ci This focuses on changes to the CI process
Projects
Status: Done 🎉
Development

Successfully merging this pull request may close these issues.

4 participants