-
Notifications
You must be signed in to change notification settings - Fork 6
66 lines (59 loc) · 1.61 KB
/
load-tests.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
---
#################################################################################
# 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"