Hive Hive
Sign in

fix(infra): pin runners-controller to 0.11.0 to deploy the runner _diag env var

GitHub issue · Closed

Metadata
Source
tuist/tuist #11118
Updated
Jun 24, 2026
Domains
Compute
Details

What

Bump the runnersController.image.tag pin in values-managed-common.yaml from 0.10.0 to 0.11.0.

Why

#11114 added ACTIONS_RUNNER_PRINT_LOG_TO_STDOUT=1 to the runner container (so the actions/runner _diag log streams to Loki and survives the reaped Pod). The controller image carrying that change was built and publishedghcr.io/tuist/tuist-runners-controller:0.11.0 exists in ghcr (pushed at 13:41Z by the Release run’s Release runners-controller job, and it includes #11114). But the pin is still 0.10.0, so the cluster keeps deploying the old controller and new runner pods don’t get the env var.

Root cause: the Release run that would create the runners-controller@0.11.0 tag and run the single-writer pin-bump step on values-managed-common.yaml was cancelled before that final step (superseded by later pushes to main). So the image got published but the pin bump and tag never landed. (Release reliability is being addressed separately.)

Why 0.11.0 specifically

0.11.0 is exactly the value the release single-writer would have written (sed ... tag: "0.11.0"), and the image is confirmed present in ghcr and built from a commit that includes #11114. So when release reliability is fixed and a release does complete, re-pinning to 0.11.0 (or a higher version that still contains #11114) is a no-op / forward-compatible — no churn from this stopgap.

Impact

The server-deployment cascade redeploys the controller at 0.11.0. The controller stamps ACTIONS_RUNNER_PRINT_LOG_TO_STDOUT=1 onto newly-created runner pods (warm pods keep the old env until they recycle), so runner _diag starts reaching Loki. Paired with the node-logs shipping from #11114, the next mid-job runner death becomes self-diagnosing from both the runner and host sides.

Validation

Confirmed ghcr.io/tuist/tuist-runners-controller:0.11.0 exists in the registry; confirmed runners-controller-deployment.yaml renders the image as {{ .repository }}:{{ .tag }}, so this pin directly controls the deployed image. One-line values change, no template logic touched.

🤖 Generated with Claude Code

Comments
TA
tuist-atlas[bot] Jun 6, 2026

This fix is now available in runner-image@0.3.0. Update to this version to deploy the runner _diag environment variable.