@@ -5,6 +5,11 @@ name: Benchmarks
55# (informational-first), and upload the results + generated docs as artifacts.
66on :
77 workflow_dispatch :
8+ inputs :
9+ full_size :
10+ description : ' Run full-size sweeps (slower; the representative capture, NOT the like-for-like gate baseline)'
11+ type : boolean
12+ default : false
813 schedule :
914 - cron : ' 0 6 * * 1' # Mondays 06:00 UTC
1015
7681 done
7782 echo "Postgres did not become ready in time"; docker logs bench-postgres; exit 1
7883
84+ # Default run is CI-sized (fast, stable, like-for-like with the committed
85+ # ci-ubuntu baseline). A `full_size=true` dispatch overrides each BENCH_*
86+ # knob with the production-ish sweep (budget to 2000 tenants, catalog to
87+ # 5000 schemas, full churn). Explicit BENCH_* vars win over the CI defaults
88+ # in src/harness/config.ts, so BENCH_CI stays 1 either way.
89+ - name : Configure bench sizes
90+ run : |
91+ if [ "${{ github.event.inputs.full_size }}" = "true" ]; then
92+ echo "Running FULL-SIZE sweeps (representative capture)"
93+ {
94+ echo "BENCH_DB_TENANTS=50"
95+ echo "BENCH_DB_ROWS=1000"
96+ echo "BENCH_CHURN_CAPS=25,50,100"
97+ echo "BENCH_CHURN_CONCURRENCY=16"
98+ echo "BENCH_CHURN_OPS=2000"
99+ echo "BENCH_BUDGET_COUNTS=100,500,2000"
100+ echo "BENCH_CATALOG_COUNTS=100,1000,5000"
101+ echo "BENCH_HTTP_TENANTS=50"
102+ echo "BENCH_HTTP_ROWS=200"
103+ echo "BENCH_HTTP_CONNECTIONS=25"
104+ echo "BENCH_HTTP_DURATION=10"
105+ } >> "$GITHUB_ENV"
106+ else
107+ echo "Running CI-size sweeps (gate default)"
108+ fi
109+
79110 - name : Setup Node.js
80111 uses : actions/setup-node@v4
81112 with :
0 commit comments