logos-messaging-go-bindings/.github/workflows/Repeated_tests_endurancce.yml
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

68 lines
1.7 KiB
YAML

name: Repeated Test Suite
on:
workflow_dispatch:
jobs:
repeated-tests:
runs-on: [self-hosted, ubuntu-22.04]
timeout-minutes: 900
steps:
- name: Check out repository
uses: actions/checkout@v3
with:
submodules: true
fetch-depth: 0
- name: Initialize submodules
run: git submodule update --init --recursive
- name: Prepare third_party directory
run: |
mkdir -p third_party
chown $USER third_party
- name: Set up Go
uses: actions/setup-go@v4
with:
go-version: "1.24"
- 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: Clean environment
run: go clean -cache
- name: Initialize CSV
run: echo "TestName,Iteration,Phase,HeapAlloc(KB),RSS(KB),Timestamp" > memory_metrics.csv
- name: Repeated test runs
run: |
set +e
for i in {1..80}; do
echo "Iteration $i: measuring memory BEFORE the tests..."
go run tools/memory_record.go --iteration $i --phase start
echo "Running tests (iteration $i)..."
go test -v -tags '!stress' ./...
echo "Iteration $i: measuring memory AFTER the tests..."
go run tools/memory_record.go --iteration $i --phase end
done
set -e
- name: Upload memory_metrics.csv
uses: actions/upload-artifact@v4
with:
name: memory_metrics
path: memory_metrics.csv