Skip to content

release: fduty side-mode provisioning -> main (cut v0.0.24)#74

Merged
ysyneu merged 2 commits into
mainfrom
feat/ai-sre
Jun 15, 2026
Merged

release: fduty side-mode provisioning -> main (cut v0.0.24)#74
ysyneu merged 2 commits into
mainfrom
feat/ai-sre

Conversation

@ysyneu

@ysyneu ysyneu commented Jun 15, 2026

Copy link
Copy Markdown
Collaborator

Promotes the fduty side-mode provisioning work (#73, on top of #71/v0.0.23) to main for a patch release v0.0.24.

Net change since v0.0.23: fduty provisioning + fduty update self-update now run on a detached background goroutine, fully off the runner's startup path. Best-effort + non-fatal; a missing CLI only logs a hint, never blocks startup. See #73 for full detail and local test evidence.

ysyneu added 2 commits June 15, 2026 18:18
Move fduty provisioning AND the CLI's own `fduty update` onto a detached
background goroutine, fully OFF the runner's startup path. The runner is
usable immediately; fduty resolves a beat later and is upgraded in place
when a newer release exists — so a runner self-update + re-exec carries the
CLI forward "alongside" it on the next boot. Every step stays best-effort
and non-fatal: a missing CLI only logs an actionable manual-install hint,
never blocks startup.

- StartFdutyProvisioningAsync(): `go ensureFdutyCLI()` — never on the hot path
- fdutySelfUpdate(): runs `fduty update` pinned to the bundled-tools dir and
  to the runner's own mirror (FLASHDUTY_UPDATE_BASE_URL derived from the
  configured install URL), so private/regional deploys upgrade from where
  they were provisioned; env scrubbed via BashToolEnv with install vars re-added
- each leg (stage / verify / update) self-bounds its own timeout, so no
  overall wrapper is needed
feat(provision): auto-stage + self-update fduty CLI in side mode (Phase 2)
@ysyneu ysyneu merged commit 5fa44d4 into main Jun 15, 2026
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant