From 5488aeb247f77759c4b869a850799af637850a6a Mon Sep 17 00:00:00 2001 From: Nikola Jokic Date: Thu, 25 Sep 2025 08:59:24 +0200 Subject: [PATCH] Ensure ephemeral runner is deleted on exit != 0 --- .../actions.github.com/ephemeralrunner_controller.go | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/controllers/actions.github.com/ephemeralrunner_controller.go b/controllers/actions.github.com/ephemeralrunner_controller.go index 3136634e..1396af5f 100644 --- a/controllers/actions.github.com/ephemeralrunner_controller.go +++ b/controllers/actions.github.com/ephemeralrunner_controller.go @@ -336,6 +336,17 @@ func (r *EphemeralRunnerReconciler) Reconcile(ctx context.Context, req ctrl.Requ log.Error(err, "Failed to delete the ephemeral runner that has a job assigned but the pod has failed") return ctrl.Result{}, err } + + actionsClient, err := r.GetActionsService(ctx, ephemeralRunner) + if err != nil { + log.Error(err, "Failed to get actions client for checking the job status") + return ctrl.Result{}, nil + } + if err := actionsClient.RemoveRunner(ctx, int64(ephemeralRunner.Status.RunnerId)); err != nil { + log.Error(err, "Failed to remove the runner from the service") + return ctrl.Result{}, nil + } + return ctrl.Result{}, nil } if err := r.deletePodAsFailed(ctx, ephemeralRunner, pod, log); err != nil {