Skip to content

feat(#247): benchmark regression CI with thresholds and docs - #354

Merged
miss-yusrah merged 1 commit into
Stellar-TrustBridge:mainfrom
Audukuma:feat/247-benchmark-regression-ci
Aug 31, 2026
Merged

feat(#247): benchmark regression CI with thresholds and docs#354
miss-yusrah merged 1 commit into
Stellar-TrustBridge:mainfrom
Audukuma:feat/247-benchmark-regression-ci

Conversation

@Audukuma

Copy link
Copy Markdown

closes #247

  • Add ci/bench-samples.csv: checked-in baselines for all test_bench_* operations (register x2, usernames_match x4, get_all_registered x4, verify success + rejection). Tagged with soroban-sdk 26.0.1.

  • Add scripts/check_bench_regression.sh: parses CSV bench output from stdin, compares against baselines, fails on >15% regression or breach of hard absolute caps (25M CPU / 3M mem for register/verify). Exit codes: 0=pass, 1=regression/cap breach, 2=setup error.

  • Add .github/workflows/ci.yml bench-budget job: runs after quality gate, executes all four bench test functions with --test-threads=1, pipes output through check_bench_regression.sh, uploads bench-budget-report artifact with 30-day retention.

  • Add docs/BENCHMARK_BUDGETS.md: threshold rationale, tracked operations table, hard cap table, host-vs-release notes, baseline update workflow.

  • Update docs/CONTRIBUTING.md: Benchmark Budget CI section, baseline update procedure, PR checklist item.

  • Update Makefile: bench-budget-ci (mirrors CI job locally), bench-update-samples (regenerates ci/bench-samples.csv), .PHONY.

…s and docs

- Add ci/bench-samples.csv: checked-in baselines for all test_bench_*
  operations (register x2, usernames_match x4, get_all_registered x4,
  verify success + rejection). Tagged with soroban-sdk 26.0.1.

- Add scripts/check_bench_regression.sh: parses CSV bench output from
  stdin, compares against baselines, fails on >15% regression or breach
  of hard absolute caps (25M CPU / 3M mem for register/verify).
  Exit codes: 0=pass, 1=regression/cap breach, 2=setup error.

- Add .github/workflows/ci.yml bench-budget job: runs after quality gate,
  executes all four bench test functions with --test-threads=1, pipes
  output through check_bench_regression.sh, uploads bench-budget-report
  artifact with 30-day retention.

- Add docs/BENCHMARK_BUDGETS.md: threshold rationale, tracked operations
  table, hard cap table, host-vs-release notes, baseline update workflow.

- Update docs/CONTRIBUTING.md: Benchmark Budget CI section, baseline
  update procedure, PR checklist item.

- Update Makefile: bench-budget-ci (mirrors CI job locally),
  bench-update-samples (regenerates ci/bench-samples.csv), .PHONY.
@drips-wave

drips-wave Bot commented Aug 30, 2026

Copy link
Copy Markdown

@Audukuma Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits.

You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀

Learn more about application limits

@miss-yusrah
miss-yusrah merged commit 9a329e4 into Stellar-TrustBridge:main Aug 31, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Benchmark regression CI using existing test_bench_* samples

3 participants