Skip to content

Load Tests

Load Tests #8

Workflow file for this run

---
#################################################################################
# Manual pipeline to start a load testing scenario
#################################################################################
name: Load Tests
on:
# Starts at 2:00 AM CET
# schedule:
# - cron: '00 2 * * *'
workflow_dispatch:
inputs:
test_id:
type: string
required: true
description: 'Test name'
test_type:
type: choice
options:
- SMOKE
- SOAK
- SPIKE
- STRESS
- LOAD
- BURST
- CONSTANT
- LONG
required: true
description: 'Test type'
wallet_type:
type: choice
options:
- METAMASK
- DUMMY
- OKX
- RABBY
- FRAME
required: true
description: 'Wallet Type'
concurrency:
group: load-tests
cancel-in-progress: true
jobs:
load-tests:
name: Load Tests
runs-on: self-hosted
steps:
- name: Checkout hoprnet repository
uses: actions/checkout@v4
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: '3.10'
- name: Run Load test
run: |
pip install -r requirements.txt
jinja2 --format=yaml k6.yaml.j2 -D testType=${{ github.event.inputs.test_type }} -D walletType=${{ github.event.inputs.wallet_type }} -D testId=${{ github.event.inputs.test_id }} > k6.yaml
kubectl delete -f k6.yaml 2> /dev/null || true
kubectl apply -f k6.yaml
working-directory: "./devkit/loadtesting-k6"