# A deploy as a unit of its own: `systemctl start --no-block quarry-deploy@<hash>`
# ships trunk only if trunk is still at <hash> and every check trunk
# requires is green on it. Detached from whoever started it — a CI runner
# can ask for a deploy and the deploy outlives the runner's restart.
# Installed from scripts/systemd (docs/running.md).
[Unit]
Description=quarry deploy of trunk at %i
After=network-online.target docker.service
OnFailure=quarry-alert@%N.service
[Service]
Type=oneshot
Environment=QUARRY_DEPLOY_VIA=unit
ExecStart=/srv/quarry/deploy.sh --require-green --expect %i
# The watcher alerts at ten minutes; this is the backstop that turns a
# hung deploy into a failed unit, and so into an alert of its own.
TimeoutStartSec=30min