From 7b677e06187ab5b50254c3061fa1f25a93d659f9 Mon Sep 17 00:00:00 2001 From: Soe Tun Date: Mon, 4 Apr 2022 13:46:03 -0400 Subject: [PATCH] Mark run as Cancelled/Failed upon HostContext.RunnerShutdownToken state (#1792) - github/c2c-actions-support#883 --- src/Runner.Worker/StepsRunner.cs | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/Runner.Worker/StepsRunner.cs b/src/Runner.Worker/StepsRunner.cs index e58ff039c..38928c6eb 100644 --- a/src/Runner.Worker/StepsRunner.cs +++ b/src/Runner.Worker/StepsRunner.cs @@ -134,8 +134,10 @@ namespace GitHub.Runner.Worker // Test the condition again. The job was cancelled after the condition was originally evaluated. jobCancelRegister = jobContext.CancellationToken.Register(() => { - // Mark job as cancelled - jobContext.Result = TaskResult.Canceled; + // Mark job as Cancelled or Failed depending on HostContext shutdown token's cancellation + jobContext.Result = HostContext.RunnerShutdownToken.IsCancellationRequested + ? TaskResult.Failed + : TaskResult.Canceled; jobContext.JobContext.Status = jobContext.Result?.ToActionResult(); step.ExecutionContext.Debug($"Re-evaluate condition on job cancellation for step: '{step.DisplayName}'."); @@ -173,8 +175,10 @@ namespace GitHub.Runner.Worker { if (jobContext.Result != TaskResult.Canceled) { - // Mark job as cancelled - jobContext.Result = TaskResult.Canceled; + // Mark job as Cancelled or Failed depending on HostContext shutdown token's cancellation + jobContext.Result = HostContext.RunnerShutdownToken.IsCancellationRequested + ? TaskResult.Failed + : TaskResult.Canceled; jobContext.JobContext.Status = jobContext.Result?.ToActionResult(); } }