{
"name": "quarry",
"version": "1.0",
"_comment": "RETRY: 5s, 15s, 45s. Each step clones from this forge and a deploy restarts it (measured downtime 17.6s, and the clone takes ~14s to give up), so one transient failure must not red a run \u2014 22 of 30 consecutive runs died that way. The MULTIPLIER IS EXPLICIT because dagnats never defaults it: exponential without one computes InitialDelay*0^(n-1), i.e. 5s then 0s. TIMEOUT: a step registered with timeout 0 never times out, so a run whose task type no worker serves sits queued forever and reads 'running' \u2014 synthetic had one doing that for four days. 20m is well past the slowest step here (~6m). RUNNER: steps publish to worker group quarry and are claimed by `quarry runner` on the box, which runs what ci/runner.json names at the check-in under test.",
"steps": [
{
"id": "test",
"task": "quarry.test",
"timeout": 1200000000000,
"retry": {
"max_attempts": 4,
"strategy": "exponential",
"initial_delay": 5000000000,
"multiplier": 3,
"max_delay": 60000000000
},
"worker_group": "quarry"
},
{
"id": "fmt",
"task": "quarry.fmt",
"timeout": 1200000000000,
"retry": {
"max_attempts": 4,
"strategy": "exponential",
"initial_delay": 5000000000,
"multiplier": 3,
"max_delay": 60000000000
},
"worker_group": "quarry"
},
{
"id": "build",
"task": "quarry.build",
"timeout": 1200000000000,
"retry": {
"max_attempts": 4,
"strategy": "exponential",
"initial_delay": 5000000000,
"multiplier": 3,
"max_delay": 60000000000
},
"worker_group": "quarry"
}
]
}