Ivan FB 9d49a625be
ci: build only liblogosdelivery and track unify-libs pre-merge
Drop the libwaku build target and the now-redundant library/ include
path; a single liblogosdelivery covers every package. The clone steps
temporarily pin the unify-libs branch so CI is green before
logos-delivery#3949 merges — the TODOs mark the one-line revert to
master/HEAD once it lands. Also fix a pre-existing glued `cd`/`export`
in the nightly daily-test step.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-12 11:33:12 +02:00

124 lines
3.3 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: 'recursive'
fetch-depth: 0
- 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.23"
- name: Install Go dependencies
run: go mod download
- name: Vendor Go dependencies
run: go mod vendor
- name: Build liblogosdelivery
run: |
cd vendor/logos-delivery
make liblogosdelivery
- name: Build waku bindings
run: make -C pkg/kernel build
- name: Increase ulimit
run: sudo sh -c "ulimit -n 8192"
- name: Run Endurance Test (Group 1)
shell: bash
run: |
set -euo pipefail
go test -tags stress \
-p=1 -v ./pkg/kernel -count=1 -timeout=360m -run '^(TestStressMemoryUsageForThreeNodes|TestStressStoreQuery5kMessagesWithPagination|TestStressHighThroughput10kPublish|TestStressLargePayloadEphemeralMessagesEndurance|TestStressConnectDisconnect1kIteration)$' | 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: 'recursive'
fetch-depth: 0
- 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.23"
- name: Install Go dependencies
run: go mod download
- name: Vendor Go dependencies
run: go mod vendor
- name: Build liblogosdelivery
run: |
cd vendor/logos-delivery
make liblogosdelivery
- name: Build waku bindings
run: make -C pkg/kernel build
- name: Increase ulimit
run: sudo sh -c "ulimit -n 8192"
- name: Run Endurance Test (Group 2)
shell: bash
run: |
set -euo pipefail
go test -tags stress \
-p=1 -v ./pkg/kernel -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