diff --git a/src/index.ts b/src/index.ts index 6a853705..012c7f52 100644 --- a/src/index.ts +++ b/src/index.ts @@ -2,14 +2,16 @@ import * as core from '@actions/core'; import Input from './input'; import Renovate from './renovate'; -function run(): Promise { - const input = new Input(); - const renovate = new Renovate(input.configurationFile, input.token); +async function run(): Promise { + try { + const input = new Input(); + const renovate = new Renovate(input.configurationFile, input.token); - return renovate.runDockerContainer(); + await renovate.runDockerContainer(); + } catch (error) { + console.error(error); + core.setFailed(error.message); + } } -run().catch((error) => { - console.error(error); - core.setFailed(error.message); -}); +run(); diff --git a/src/renovate.ts b/src/renovate.ts index 0b427d05..c0048cb2 100644 --- a/src/renovate.ts +++ b/src/renovate.ts @@ -19,18 +19,17 @@ class Renovate { this.docker = new Docker(); } - runDockerContainer(): Promise { + async runDockerContainer(): Promise { const commandArguments = [ - 'run', '--rm', `--env ${this.configFileEnv}=${this.configFileMountPath()}`, `--env ${this.tokenEnv}=${this.token}`, `--volume ${this.configFile}:${this.configFileMountPath()}`, this.docker.image(), ]; - const command = `docker`; - - const code = exec(command, commandArguments); + const command = `docker run ${commandArguments.join(' ')}`; + + const code = await exec(command); if (code !== 0) { new Error(`'docker run' failed with exit code ${code}.`); }