mirror of
https://github.com/logos-messaging/logos-messaging-go-bindings.git
synced 2026-01-02 14:03:10 +00:00
115 lines
3.2 KiB
YAML
115 lines
3.2 KiB
YAML
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: Clean Go & libwaku caches
|
|
run: |
|
|
go clean -cache
|
|
make -C waku clean
|
|
|
|
- name: Build nwaku dependencies
|
|
working-directory: thirdpart/nwaku
|
|
run: |
|
|
git pull --ff-only
|
|
make update
|
|
make libwaku
|
|
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|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|TestStressStoreQuery5kMessagesWithPagination)$' | 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 |