From 43610319c40ffd80ee95cf28586df85048828176 Mon Sep 17 00:00:00 2001 From: Ethan Chiu Date: Fri, 24 Jul 2020 12:59:13 -0400 Subject: [PATCH] Add environment variable for GITHUB_ACTION_PATH --- src/Runner.Worker/ExecutionContext.cs | 9 +++++++-- src/Runner.Worker/Handlers/CompositeActionHandler.cs | 2 +- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/src/Runner.Worker/ExecutionContext.cs b/src/Runner.Worker/ExecutionContext.cs index 1aad95c9c..370960b07 100644 --- a/src/Runner.Worker/ExecutionContext.cs +++ b/src/Runner.Worker/ExecutionContext.cs @@ -98,7 +98,7 @@ namespace GitHub.Runner.Worker // others void ForceTaskComplete(); void RegisterPostJobStep(IStep step); - IStep CreateCompositeStep(string scopeName, IActionRunner step, DictionaryContextData inputsData, Dictionary envData); + IStep CreateCompositeStep(string scopeName, IActionRunner step, DictionaryContextData inputsData, Dictionary envData, string actionDirectory); } public sealed class ExecutionContext : RunnerService, IExecutionContext @@ -258,7 +258,8 @@ namespace GitHub.Runner.Worker string scopeName, IActionRunner step, DictionaryContextData inputsData, - Dictionary envData) + Dictionary envData, + string actionDirectory) { step.ExecutionContext = Root.CreateChild(_record.Id, step.DisplayName, _record.Id.ToString("N"), scopeName, step.Action.ContextName, logger: _logger, insideComposite: true, cancellationTokenSource: CancellationTokenSource.CreateLinkedTokenSource(_cancellationTokenSource.Token)); step.ExecutionContext.ExpressionValues["inputs"] = inputsData; @@ -274,6 +275,10 @@ namespace GitHub.Runner.Worker { envContext[pair.Key] = new StringContextData(pair.Value ?? string.Empty); } + + // Add path to action directory as an environment variable. + envContext["GITHUB_ACTION_PATH"] = new StringContextData(actionDirectory); + step.ExecutionContext.ExpressionValues["env"] = envContext; return step; diff --git a/src/Runner.Worker/Handlers/CompositeActionHandler.cs b/src/Runner.Worker/Handlers/CompositeActionHandler.cs index 50015a574..8dc8b9213 100644 --- a/src/Runner.Worker/Handlers/CompositeActionHandler.cs +++ b/src/Runner.Worker/Handlers/CompositeActionHandler.cs @@ -63,7 +63,7 @@ namespace GitHub.Runner.Worker.Handlers actionRunner.Stage = stage; actionRunner.Condition = actionStep.Condition; - var step = ExecutionContext.CreateCompositeStep(childScopeName, actionRunner, inputsData, Environment); + var step = ExecutionContext.CreateCompositeStep(childScopeName, actionRunner, inputsData, Environment, ActionDirectory); compositeSteps.Add(step); }