docker apply env on commands where we are using '-e' (#11)

* added wrapper for docker -e to apply env

* added envs around services as well

* added wrapping environment around execute command

* fixed setting the env variable for containerRun

* added env to exec and not to handle envs by ourself

* returned back the comment to run-container-step
This commit is contained in:
Nikola Jokic
2022-06-13 17:13:47 +02:00
committed by GitHub
parent de59bd8716
commit 643bf36fd8
3 changed files with 9 additions and 6 deletions

View File

@@ -69,7 +69,9 @@ export async function createContainer(
}
}
const id = (await runDockerCommand(dockerArgs)).trim()
const id = (
await runDockerCommand(dockerArgs, { env: args.environmentVariables })
).trim()
if (!id) {
throw new Error('Could not read id from docker command')
}
@@ -352,7 +354,7 @@ export async function containerExecStep(
for (const entryPointArg of args.entryPointArgs) {
dockerArgs.push(entryPointArg)
}
await runDockerCommand(dockerArgs)
await runDockerCommand(dockerArgs, { env: args.environmentVariables })
}
export async function containerRun(
@@ -376,9 +378,7 @@ export async function containerRun(
dockerArgs.push(...args.createOptions.split(' '))
}
if (args.environmentVariables) {
for (const [key, value] of Object.entries(args.environmentVariables)) {
// Pass in this way to avoid printing secrets
env[key] = value ?? undefined
for (const [key] of Object.entries(args.environmentVariables)) {
dockerArgs.push('-e')
dockerArgs.push(key)
}
@@ -408,7 +408,7 @@ export async function containerRun(
}
}
await runDockerCommand(dockerArgs)
await runDockerCommand(dockerArgs, { env: args.environmentVariables })
}
export async function isContainerAlpine(containerId: string): Promise<boolean> {

View File

@@ -48,6 +48,7 @@ export async function prepareJob(
} finally {
await registryLogout(configLocation)
}
containerMetadata = await createContainer(
container,
generateContainerName(container.image),
@@ -78,6 +79,7 @@ export async function prepareJob(
generateContainerName(service.image),
networkName
)
servicesMetadata.push(response)
await containerStart(response.id)
}

View File

@@ -9,6 +9,7 @@ const exec = require('@actions/exec')
export interface RunDockerCommandOptions {
workingDir?: string
input?: Buffer
env?: { [key: string]: string }
}
export async function runDockerCommand(