ReaperCI Documentation

ReaperCI documentation

Release capacity validation

ReaperCI ships an isolated load-profile command for the documented beta and GA capacity target. It creates a new temporary SQLite database, migrates it with the production schema, exercises the production CI queue and authenticated HTTP SSE handler, verifies the resulting counts, and removes the database when it finishes.

Run the exact release profile:

go run ./cmd/reaperci-loadtest

The defaults validate:

  • 100 repositories;
  • 30 servers;
  • 50 queued builds;
  • 5 builds claimed concurrently;
  • a 100 MiB retained build log; and
  • 100 simultaneous event-stream subscribers.

The command fails if any requested capacity is missing, a subscriber receives no events, or the database cannot be checkpointed. It prints a JSON record with phase durations and the final database size for attachment to a release record.

This command is deliberately isolated. It refuses to overwrite an existing database and never connects to a running hub. Use --database with a new path and --keep-database only when the release reviewer needs to retain the fixture. Use the flags to run a smaller diagnostic profile while developing.

This validation proves the single-node state and event capacity target. It does not replace the Linux amd64/arm64 BuildKit loop, managed cross-tenant isolation, or live restore and failure-injection drills required by the release handbook.