@@ -208,7 +208,40 @@ function proving_bench {
208208 gcp_auth
209209 export_admin_api_key
210210 export K8S_ENRICHER=${K8S_ENRICHER:- 1}
211- proving_bench_cmds | parallelize 1
211+ export BENCH_RUN_ID=" ${BENCH_RUN_ID:- $(date -u +% Y% m% d)-proving-${COMMIT_HASH: 0: 10} } "
212+ # real proving (prove-n-tps-real, REAL_VERIFIER=true) vs fake/simulated timings.
213+ local benchmark_type=" ${BENCH_BENCHMARK_TYPE:- $([ "${REAL_VERIFIER:-}" = "true" ] && echo real-proving || echo simulated-proving)} "
214+
215+ local test_rc=0
216+ proving_bench_cmds | parallelize 1 || test_rc=$?
217+ if [[ " $test_rc " -ne 0 ]]; then
218+ echo " [proving_bench] test exited ${test_rc} ; scraping captured data anyway"
219+ fi
220+
221+ # Publish to the custom pipeline (GCS -> network-dashboard) alongside the
222+ # legacy github-action-benchmark output the workflow still uploads.
223+ local metadata=" /tmp/n_tps_prove_timing_data.json"
224+ local run_json=" bench-out/bench-${benchmark_type} -${BENCH_RUN_ID} .json"
225+ if [[ -f " $metadata " ]]; then
226+ local started=$( jq -r .startedAt < " $metadata " )
227+ local ended=$( jq -r .endedAt < " $metadata " )
228+ echo " Scraping ${benchmark_type} run ${BENCH_RUN_ID} (started=${started} ended=${ended} )"
229+ NAMESPACE=" $NAMESPACE " GCP_PROJECT_ID=" ${GCP_PROJECT_ID:- } " ./scripts/bench_10tps/bench_scrape.ts \
230+ --run-id " $BENCH_RUN_ID " \
231+ --started " $started " \
232+ --ended " $ended " \
233+ --target-tps " ${TARGET_TPS:- 1} " \
234+ --sweep-id " ${BENCH_SWEEP_ID:- $BENCH_RUN_ID } " \
235+ --sweep-label " ${BENCH_SWEEP_LABEL:- $benchmark_type } " \
236+ --benchmark-type " $benchmark_type " \
237+ --output " $run_json " \
238+ || echo " [proving_bench] scraper failed (non-fatal)"
239+ network_bench_upload " $run_json " || echo " [network_bench] upload failed (non-fatal)"
240+ else
241+ echo " [proving_bench] no timing metadata at ${metadata} ; skipping custom-pipeline scrape"
242+ fi
243+
244+ return " $test_rc "
212245}
213246
214247function block_capacity_bench {
@@ -222,7 +255,39 @@ function block_capacity_bench {
222255 gcp_auth
223256 export_admin_api_key
224257 export K8S_ENRICHER=${K8S_ENRICHER:- 1}
225- block_capacity_bench_cmds | parallelize 1
258+ export BENCH_RUN_ID=" ${BENCH_RUN_ID:- $(date -u +% Y% m% d)-block-capacity-${COMMIT_HASH: 0: 10} } "
259+
260+ # Capture the test exit code but don't abort: even a partial run produced blocks
261+ # worth scraping. We scrape below, then re-surface the failure at the end.
262+ local test_rc=0
263+ block_capacity_bench_cmds | parallelize 1 || test_rc=$?
264+ if [[ " $test_rc " -ne 0 ]]; then
265+ echo " [block_capacity_bench] test exited ${test_rc} ; scraping captured data anyway"
266+ fi
267+
268+ # Publish to the custom pipeline (GCS -> network-dashboard) alongside the
269+ # legacy github-action-benchmark output the workflow still uploads.
270+ local metadata=" /tmp/block_capacity_timing_data.json"
271+ local run_json=" bench-out/bench-block-capacity-${BENCH_RUN_ID} .json"
272+ if [[ -f " $metadata " ]]; then
273+ local started=$( jq -r .startedAt < " $metadata " )
274+ local ended=$( jq -r .endedAt < " $metadata " )
275+ echo " Scraping block-capacity run ${BENCH_RUN_ID} (started=${started} ended=${ended} )"
276+ NAMESPACE=" $NAMESPACE " GCP_PROJECT_ID=" ${GCP_PROJECT_ID:- } " ./scripts/bench_10tps/bench_scrape.ts \
277+ --run-id " $BENCH_RUN_ID " \
278+ --started " $started " \
279+ --ended " $ended " \
280+ --sweep-id " ${BENCH_SWEEP_ID:- $BENCH_RUN_ID } " \
281+ --sweep-label " ${BENCH_SWEEP_LABEL:- block-capacity} " \
282+ --benchmark-type " ${BENCH_BENCHMARK_TYPE:- block-capacity} " \
283+ --output " $run_json " \
284+ || echo " [block_capacity_bench] scraper failed (non-fatal)"
285+ network_bench_upload " $run_json " || echo " [network_bench] upload failed (non-fatal)"
286+ else
287+ echo " [block_capacity_bench] no timing metadata at ${metadata} ; skipping custom-pipeline scrape"
288+ fi
289+
290+ return " $test_rc "
226291}
227292
228293# One point of the inclusion sweep: a fixed 1 TPS of high-value txs (the
0 commit comments