diff --git a/src/Misc/containerEngineHandlers/kubectlHandler/src/kubectlHandler.ts b/src/Misc/containerEngineHandlers/kubectlHandler/src/kubectlHandler.ts index aa0c61d13..b155a99f0 100644 --- a/src/Misc/containerEngineHandlers/kubectlHandler/src/kubectlHandler.ts +++ b/src/Misc/containerEngineHandlers/kubectlHandler/src/kubectlHandler.ts @@ -71,6 +71,9 @@ async function run(): Promise { // get PATH inside the container + const waitArgs = ['wait', '--for=condition=Ready', 'pod/job-container'] + await exec.exec('kubectl', waitArgs) + // output containerId for ${{job.container.id}} // copy over node.js diff --git a/src/Misc/layoutbin/kubectlHandler/index.js b/src/Misc/layoutbin/kubectlHandler/index.js index a6a409660..e2a058df3 100644 --- a/src/Misc/layoutbin/kubectlHandler/index.js +++ b/src/Misc/layoutbin/kubectlHandler/index.js @@ -3042,6 +3042,8 @@ function run() { // ]) yield exec.exec('kubectl', runArgs); // get PATH inside the container + const waitArgs = ['wait', '--for=condition=Ready', 'pod/job-container']; + yield exec.exec('kubectl', waitArgs); // output containerId for ${{job.container.id}} // copy over node.js const cpNodeArgs = [ diff --git a/src/Runner.Worker/ContainerOperationProvider.cs b/src/Runner.Worker/ContainerOperationProvider.cs index 5b2e5d639..9ba7ef899 100644 --- a/src/Runner.Worker/ContainerOperationProvider.cs +++ b/src/Runner.Worker/ContainerOperationProvider.cs @@ -62,6 +62,9 @@ namespace GitHub.Runner.Worker [DataMember] public List EnvironmentKeys { get; set; } + + [DataMember] + public Dictionary EnvironmentVariables { get; set; } } diff --git a/src/Runner.Worker/Handlers/StepHost.cs b/src/Runner.Worker/Handlers/StepHost.cs index d5c339909..7b8b09a86 100644 --- a/src/Runner.Worker/Handlers/StepHost.cs +++ b/src/Runner.Worker/Handlers/StepHost.cs @@ -192,7 +192,8 @@ namespace GitHub.Runner.Worker.Handlers WorkingDirectory = workingDirectory, FileName = fileName, Arguments = arguments, - EnvironmentKeys = environment.Keys.ToList() + EnvironmentKeys = environment.Keys.ToList(), + EnvironmentVariables = environment.ToDictionary(x => x.Key, y => y.Value) } };