Skip to content

Endurance Tests

Endurance Tests #26

Workflow file for this run

name: Endurance Tests
on:
workflow_dispatch:
jobs:
endurance1:
runs-on: ubuntu-latest
steps:
- name: Check out repository
uses: actions/checkout@v3
with:
submodules: true
- name: Initialize & update submodules
run: git submodule update --init --recursive
- name: Prepare third_party directory
run: |
sudo mkdir -p third_party
sudo chown $USER third_party
- name: Set up Go
uses: actions/setup-go@v4
with:
go-version: "1.21"
- name: Install Go dependencies
run: go mod download
- name: Build nwaku dependencies
run: make -C waku
- name: Increase ulimit
run: sudo sh -c "ulimit -n 8192"
- name: Run Endurance Test (Group 1)
shell: bash
run: |
set -euo pipefail
go test -p=1 -v ./waku -count=1 -timeout=360m -run '^(TestStressMemoryUsageForThreeNodes|TestStressStoreQuery5kMessagesWithPagination|TestStressConnectDisconnect500Iteration|TestStressHighThroughput10kPublish)$' | tee testlogs1.log
- name: Upload Test Logs (Group 1)
uses: actions/upload-artifact@v4
with:
name: endurance-logs-group1
path: testlogs1.log
- name: Upload Memory Metrics (Group 1)
uses: actions/upload-artifact@v4
with:
name: memory-metrics-group1
path: waku/px_load_metrics.csv
endurance2:
runs-on: ubuntu-latest
steps:
- name: Check out repository
uses: actions/checkout@v3
with:
submodules: true
- name: Initialize & update submodules
run: git submodule update --init --recursive
- name: Prepare third_party directory
run: |
sudo mkdir -p third_party
sudo chown $USER third_party
- name: Set up Go
uses: actions/setup-go@v4
with:
go-version: "1.21"
- name: Install Go dependencies
run: go mod download
- name: Build nwaku dependencies
run: make -C waku
- name: Increase ulimit
run: sudo sh -c "ulimit -n 8192"
- name: Run Endurance Test (Group 2)
shell: bash
run: |
set -euo pipefail
go test -p=1 -v ./waku -count=1 -timeout=360m -run '^(TestStressRandomNodesInMesh|TestStress2Nodes2kIterationTearDown|TestPeerExchangePXLoad)$' | tee testlogs2.log
- name: Upload Test Logs (Group 2)
uses: actions/upload-artifact@v4
with:
name: endurance-logs-group2
path: testlogs2.log
- name: Upload Memory Metrics (Group 2)
uses: actions/upload-artifact@v4
with:
name: memory-metrics-group2
path: waku/px_load_metrics.csv