diff --git a/src/Runner.Worker/ExecutionContext.cs b/src/Runner.Worker/ExecutionContext.cs index 54dbe3826..de0baf3c3 100644 --- a/src/Runner.Worker/ExecutionContext.cs +++ b/src/Runner.Worker/ExecutionContext.cs @@ -254,13 +254,20 @@ namespace GitHub.Runner.Worker public void RegisterPostJobStep(IStep step) { - if (step is IActionRunner actionRunner && !Root.StepsWithPostRegistered.Add(actionRunner.Action.Id)) + var actionRunner = step as IActionRunner; + if (actionRunner != null && !Root.StepsWithPostRegistered.Add(actionRunner.Action.Id)) { Trace.Info($"'post' of '{actionRunner.DisplayName}' already push to post step stack."); return; } - step.ExecutionContext = Root.CreatePostChild(step.DisplayName, IntraActionState); + string refName = null; + if (actionRunner != null) + { + refName = actionRunner.Action.Reference.ToString(); + } + + step.ExecutionContext = Root.CreatePostChild(step.DisplayName, refName, IntraActionState); Root.PostJobSteps.Push(step); } @@ -852,7 +859,7 @@ namespace GitHub.Runner.Worker { Interlocked.Add(ref _totalThrottlingDelayInMilliseconds, Convert.ToInt64(data.Delay.TotalMilliseconds)); - if (!_throttlingReported && + if (!_throttlingReported && _totalThrottlingDelayInMilliseconds > _throttlingDelayReportThreshold) { this.Warning(string.Format("The job is currently being throttled by the server. You may experience delays in console line output, job status reporting, and action log uploads.")); @@ -861,7 +868,7 @@ namespace GitHub.Runner.Worker } } - private IExecutionContext CreatePostChild(string displayName, Dictionary intraActionState) + private IExecutionContext CreatePostChild(string displayName, string refName, Dictionary intraActionState) { if (!_expandedForPostJob) { @@ -871,7 +878,7 @@ namespace GitHub.Runner.Worker } var newGuid = Guid.NewGuid(); - return CreateChild(newGuid, displayName, newGuid.ToString("N"), null, null, intraActionState, _childTimelineRecordOrder - Root.PostJobSteps.Count); + return CreateChild(newGuid, displayName, refName ?? newGuid.ToString("N"), null, null, intraActionState, _childTimelineRecordOrder - Root.PostJobSteps.Count); } } diff --git a/src/Runner.Worker/JobExtension.cs b/src/Runner.Worker/JobExtension.cs index 235cc9063..4b2711e2f 100644 --- a/src/Runner.Worker/JobExtension.cs +++ b/src/Runner.Worker/JobExtension.cs @@ -271,7 +271,7 @@ namespace GitHub.Runner.Worker { ArgUtil.NotNull(actionStep, step.DisplayName); Guid stepId = Guid.NewGuid(); - actionStep.ExecutionContext = jobContext.CreateChild(stepId, actionStep.DisplayName, stepId.ToString("N"), null, null, intraActionStates[actionStep.Action.Id]); + actionStep.ExecutionContext = jobContext.CreateChild(stepId, actionStep.DisplayName, actionStep.Action.Reference.ToString(), null, null, intraActionStates[actionStep.Action.Id]); } } @@ -282,7 +282,7 @@ namespace GitHub.Runner.Worker { ArgUtil.NotNull(actionStep, step.DisplayName); intraActionStates.TryGetValue(actionStep.Action.Id, out var intraActionState); - actionStep.ExecutionContext = jobContext.CreateChild(actionStep.Action.Id, actionStep.DisplayName, actionStep.Action.Name, actionStep.Action.ScopeName, actionStep.Action.ContextName, intraActionState); + actionStep.ExecutionContext = jobContext.CreateChild(actionStep.Action.Id, actionStep.DisplayName, actionStep.Action.Reference.ToString(), actionStep.Action.ScopeName, actionStep.Action.ContextName, intraActionState); } } diff --git a/src/Sdk/DTPipelines/Pipelines/ActionStepDefinitionReference.cs b/src/Sdk/DTPipelines/Pipelines/ActionStepDefinitionReference.cs index eb089d33f..c96e317fa 100644 --- a/src/Sdk/DTPipelines/Pipelines/ActionStepDefinitionReference.cs +++ b/src/Sdk/DTPipelines/Pipelines/ActionStepDefinitionReference.cs @@ -22,7 +22,7 @@ namespace GitHub.DistributedTask.Pipelines [DataContract] [KnownType(typeof(ContainerRegistryReference))] [KnownType(typeof(RepositoryPathReference))] - [KnownType(typeof(ScriptReference))] + [KnownType(typeof(ScriptReference))] [JsonConverter(typeof(ActionStepDefinitionReferenceConverter))] [EditorBrowsable(EditorBrowsableState.Never)] public abstract class ActionStepDefinitionReference @@ -128,6 +128,11 @@ namespace GitHub.DistributedTask.Pipelines { return new RepositoryPathReference(this); } + + public override string ToString() + { + return $"ActionRef,RepositoryPath: {Name}@{Ref}"; + } } [EditorBrowsable(EditorBrowsableState.Never)]