Skip to content

e2e benchmark campaigns workflow — dispatch, run on EC2, publish results #868

Description

@marwen-abid

TL;DR

Queue a benchmark campaign with one workflow dispatch: a fresh EC2 NVMe box runs from stellar-rpc-benchmarks, publishes the result bundle to s3://stellar-rpc-bench/results/<run_id>/ then sends the results to Slack.

Design

GitHub-hosted jobs cap at 6 h; campaigns run 5–17 h (pacing-bound). The workflow uses a poll-relay chain: validate (<30 s: reject bad combos, estimate wall clock, render the campaign TOML) → launch tagged instance → sequential ~5.5 h poller jobs that hand off → notify → always() cleanup. Orphan protection is three independent layers: boot-scheduled self-terminate, the cleanup job, and a reaper cron that kills any tagged instance past its deadline tag.

Dispatch inputs: ingest (cold|hot|both|none), query (yes|no), phase (1|2|3 → datasets + close interval), runs (default 1), workers, machine (2x|8x), ref, hot_num_ledgers (smoke-run shortener).

Progress

Done when

A team member dispatches a campaign and comes back to a Slack message linking the published bundle; the box is gone. Weekly cron is out of scope for v1.

Related

Metadata

Metadata

Assignees

Type

No type

Projects

Status
In Progress

Relationships

None yet

Development

No branches or pull requests

Issue actions