mirror of
https://github.com/logos-messaging/logos-messaging-go-bindings.git
synced 2026-01-02 14:03:10 +00:00
60 lines
1.6 KiB
YAML
60 lines
1.6 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.21"
|
|
|
|
- name: Install Go dependencies
|
|
run: go mod download
|
|
|
|
- name: Build dependencies
|
|
run: make -C waku
|
|
|
|
- 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
|