Files
xiong 290a0c7bd7
Some checks failed
ci / release-gate (push) Has been cancelled
feat(platform): harden governance and approval workflows
2026-08-03 11:43:18 +08:00

29 lines
1009 B
Bash
Executable File

#!/usr/bin/env bash
set -euo pipefail
repo_root="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)"
target_name="${BENCH_TARGET_NAME:-target}"
scenario_name="${BENCH_SCENARIO_NAME:-scenario}"
run_stamp="$(date +%Y%m%d-%H%M%S)"
result_dir="${BENCH_RESULT_DIR:-${repo_root}/artifacts/performance/${run_stamp}-${target_name}-${scenario_name}}"
if ! command -v k6 >/dev/null 2>&1; then
echo "k6 is required for the three-run comparison" >&2
exit 1
fi
if [[ -z "${BENCH_BASE_URL:-}" || -z "${BENCH_PATH:-}" ]]; then
echo "BENCH_BASE_URL and BENCH_PATH are required" >&2
exit 1
fi
mkdir -p "${result_dir}"
for run_number in 1 2 3; do
k6 run --summary-export "${result_dir}/summary-run-${run_number}.json" \
"${repo_root}/tools/performance/dual-line.js" \
| tee "${result_dir}/run-${run_number}.txt"
done
printf 'target=%s\nscenario=%s\nbase_url=%s\npath=%s\n' \
"${target_name}" "${scenario_name}" "${BENCH_BASE_URL}" "${BENCH_PATH}" >"${result_dir}/run.env"
echo "Results: ${result_dir}"