[Unit] Description=forge CI runner After=network-online.target Wants=network-online.target # Crash loops stop the unit: 3 starts within 60s, then it enters failed and OnFailure runs the rollback. StartLimitIntervalSec=60 StartLimitBurst=3 OnFailure=forge-runner-rollback.service [Service] ExecStart=%h/bin/forge runner run --config %h/.config/forge-runner/runner.toml # A self-update exits with code 75, which is non-zero, so Restart=on-failure restarts it into the new binary. Restart=on-failure RestartSec=10 TimeoutStopSec=120 [Install] WantedBy=default.target