mirror of
https://github.com/rosenpass/rosenpass.git
synced 2025-12-05 20:40:02 -08:00
feat: Regression CI based on misc/generate_configs.py
This commit is contained in:
committed by
Paul Spooren
parent
010c14dadf
commit
d0a6e99a1f
33
.ci/run-regression.sh
Executable file
33
.ci/run-regression.sh
Executable file
@@ -0,0 +1,33 @@
|
||||
#!/bin/bash
|
||||
|
||||
iterations=$1
|
||||
sleep_time=$2
|
||||
|
||||
PWD=$(pwd)
|
||||
EXEC=$PWD/target/release/rosenpass
|
||||
LOGS=$PWD/output/logs
|
||||
|
||||
mkdir -p output/logs
|
||||
|
||||
run_command() {
|
||||
local file=$1
|
||||
local log_file="$2"
|
||||
($EXEC exchange-config $file 2>&1 | sed "s/^/[$2] /" | tee -a $log_file) &
|
||||
echo $!
|
||||
}
|
||||
|
||||
pids=()
|
||||
|
||||
(cd output/dut && run_command "configs/dut-$iterations.toml" "dut.log") & piddut=$!
|
||||
for (( x=0; x<$iterations; x++ )); do
|
||||
(cd output/ate && run_command "configs/ate-$x.toml" "ate-$x.log") & pids+=($!)
|
||||
done
|
||||
|
||||
sleep $sleep_time
|
||||
|
||||
lsof -i :9999 | awk 'NR!=1 {print $2}' | xargs kill
|
||||
|
||||
for (( x=0; x<$iterations; x++ )); do
|
||||
port=$((x + 50000))
|
||||
lsof -i :$port | awk 'NR!=1 {print $2}' | xargs kill
|
||||
done
|
||||
23
.github/workflows/regressions.yml
vendored
Normal file
23
.github/workflows/regressions.yml
vendored
Normal file
@@ -0,0 +1,23 @@
|
||||
name: QC
|
||||
on:
|
||||
pull_request:
|
||||
push:
|
||||
branches: [main]
|
||||
|
||||
permissions:
|
||||
checks: write
|
||||
contents: read
|
||||
|
||||
jobs:
|
||||
multi-peer:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- run:
|
||||
cargo build --bin rosenpass --release
|
||||
- run:
|
||||
python misc/generate_configs.py
|
||||
- run:
|
||||
chmod +x .ci/run-regression.sh
|
||||
- run:
|
||||
.ci/run-regression.sh 100 20
|
||||
2
.gitignore
vendored
2
.gitignore
vendored
@@ -20,3 +20,5 @@ _markdown_*
|
||||
**/result
|
||||
**/result-*
|
||||
.direnv
|
||||
|
||||
/output
|
||||
@@ -1,14 +1,14 @@
|
||||
from pathlib import Path
|
||||
from subprocess import run
|
||||
|
||||
import os
|
||||
|
||||
config = dict(
|
||||
peer_counts=[1, 5, 10, 50, 100, 500],
|
||||
peer_count_max=100,
|
||||
ate_ip="192.168.2.1",
|
||||
dut_ip="192.168.2.4",
|
||||
ate_ip="127.0.0.1",
|
||||
dut_ip="127.0.0.1",
|
||||
dut_port=9999,
|
||||
path_to_rosenpass_bin="/Users/user/src/rosenppass/rosenpass/target/debug/rosenpass",
|
||||
path_to_rosenpass_bin=os.getcwd() + "/target/release/rosenpass",
|
||||
)
|
||||
|
||||
print(config)
|
||||
|
||||
Reference in New Issue
Block a user