Add environment variable for GITHUB_ACTION_PATH

This commit is contained in:
Ethan Chiu
2020-07-24 12:59:13 -04:00
parent 48ac96307c
commit 43610319c4
2 changed files with 8 additions and 3 deletions

View File

@@ -98,7 +98,7 @@ namespace GitHub.Runner.Worker
// others
void ForceTaskComplete();
void RegisterPostJobStep(IStep step);
IStep CreateCompositeStep(string scopeName, IActionRunner step, DictionaryContextData inputsData, Dictionary<string, string> envData);
IStep CreateCompositeStep(string scopeName, IActionRunner step, DictionaryContextData inputsData, Dictionary<string, string> envData, string actionDirectory);
}
public sealed class ExecutionContext : RunnerService, IExecutionContext
@@ -258,7 +258,8 @@ namespace GitHub.Runner.Worker
string scopeName,
IActionRunner step,
DictionaryContextData inputsData,
Dictionary<string, string> envData)
Dictionary<string, string> 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;

View File

@@ -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);
}