From 527ea9408c385cca27541aac3cb5f68cbfafc746 Mon Sep 17 00:00:00 2001 From: "Michael B. Gale" Date: Fri, 26 May 2023 12:12:12 +0100 Subject: [PATCH] Add `working-directory` input --- lib/resolve-environment-action.js | 5 +++++ lib/resolve-environment-action.js.map | 2 +- resolve-environment/action.yml | 6 ++++++ src/resolve-environment-action.ts | 9 +++++++++ 4 files changed, 21 insertions(+), 1 deletion(-) diff --git a/lib/resolve-environment-action.js b/lib/resolve-environment-action.js index 9734dc178..b75d83fa4 100644 --- a/lib/resolve-environment-action.js +++ b/lib/resolve-environment-action.js @@ -48,6 +48,11 @@ async function run() { if (config === undefined) { throw new Error("Config file could not be found at expected location. Has the 'init' action been called?"); } + const workingDirectory = (0, actions_util_1.getOptionalInput)("working-directory"); + if (workingDirectory) { + logger.info(`Changing autobuilder working directory to ${workingDirectory}`); + process.chdir(workingDirectory); + } const result = await (0, resolve_environment_1.runResolveBuildEnvironment)(config.codeQLCmd, logger, language); core.setOutput("environment", result); } diff --git a/lib/resolve-environment-action.js.map b/lib/resolve-environment-action.js.map index 6230e9675..d0cb4a541 100644 --- a/lib/resolve-environment-action.js.map +++ b/lib/resolve-environment-action.js.map @@ -1 +1 @@ -{"version":3,"file":"resolve-environment-action.js","sourceRoot":"","sources":["../src/resolve-environment-action.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oDAAsC;AAEtC,iDAKwB;AACxB,6CAAgD;AAChD,4DAA8C;AAC9C,2CAAqD;AACrD,uCAA6C;AAC7C,+DAAmE;AACnE,iCAA+E;AAC/E,yCAA8C;AAE9C,MAAM,UAAU,GAAG,qBAAqB,CAAC;AAEzC,KAAK,UAAU,GAAG;IAChB,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;IAC7B,MAAM,MAAM,GAAG,IAAA,0BAAgB,GAAE,CAAC;IAClC,MAAM,QAAQ,GAAa,IAAA,wBAAY,EAAC,IAAA,+BAAgB,EAAC,UAAU,CAAC,CAAC,CAAC;IAEtE,IAAI;QACF,MAAM,cAAc,GAAG,MAAM,IAAA,2BAAgB,EAAC,MAAM,CAAC,CAAC;QAEtD,IACE,CAAC,CAAC,MAAM,IAAA,+BAAgB,EACtB,MAAM,IAAA,qCAAsB,EAC1B,UAAU,EACV,UAAU,EACV,SAAS,EACT,cAAc,CACf,CACF,CAAC,EACF;YACA,OAAO;SACR;QAED,MAAM,aAAa,GAAG,MAAM,IAAA,6BAAgB,GAAE,CAAC;QAC/C,IAAA,gCAAyB,EAAC,aAAa,EAAE,MAAM,CAAC,CAAC;QAEjD,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,SAAS,CAAC,IAAA,oCAAqB,GAAE,EAAE,MAAM,CAAC,CAAC;QAC5E,IAAI,MAAM,KAAK,SAAS,EAAE;YACxB,MAAM,IAAI,KAAK,CACb,yFAAyF,CAC1F,CAAC;SACH;QAED,MAAM,MAAM,GAAG,MAAM,IAAA,gDAA0B,EAAC,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;QACpF,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;KACvC;IAAC,OAAO,cAAc,EAAE;QACvB,MAAM,KAAK,GAAG,IAAA,gBAAS,EAAC,cAAc,CAAC,CAAC;QACxC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC9B,MAAM,IAAA,+BAAgB,EACpB,MAAM,IAAA,qCAAsB,EAC1B,UAAU,EACV,SAAS,EACT,SAAS,EACT,KAAK,CAAC,OAAO,EACb,KAAK,CAAC,KAAK,CACZ,CACF,CAAC;QACF,OAAO;KACR;AACH,CAAC;AAED,KAAK,UAAU,UAAU;IACvB,IAAI;QACF,MAAM,GAAG,EAAE,CAAC;KACb;IAAC,OAAO,KAAK,EAAE;QACd,IAAI,CAAC,SAAS,CAAC,GAAG,UAAU,mBAAmB,IAAA,gBAAS,EAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;KAC5E;IACD,MAAM,IAAA,sBAAe,GAAE,CAAC;AAC1B,CAAC;AAED,KAAK,UAAU,EAAE,CAAC"} \ No newline at end of file +{"version":3,"file":"resolve-environment-action.js","sourceRoot":"","sources":["../src/resolve-environment-action.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oDAAsC;AAEtC,iDAMwB;AACxB,6CAAgD;AAChD,4DAA8C;AAC9C,2CAAqD;AACrD,uCAA6C;AAC7C,+DAAmE;AACnE,iCAA+E;AAC/E,yCAA8C;AAE9C,MAAM,UAAU,GAAG,qBAAqB,CAAC;AAEzC,KAAK,UAAU,GAAG;IAChB,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;IAC7B,MAAM,MAAM,GAAG,IAAA,0BAAgB,GAAE,CAAC;IAClC,MAAM,QAAQ,GAAa,IAAA,wBAAY,EAAC,IAAA,+BAAgB,EAAC,UAAU,CAAC,CAAC,CAAC;IAEtE,IAAI;QACF,MAAM,cAAc,GAAG,MAAM,IAAA,2BAAgB,EAAC,MAAM,CAAC,CAAC;QAEtD,IACE,CAAC,CAAC,MAAM,IAAA,+BAAgB,EACtB,MAAM,IAAA,qCAAsB,EAC1B,UAAU,EACV,UAAU,EACV,SAAS,EACT,cAAc,CACf,CACF,CAAC,EACF;YACA,OAAO;SACR;QAED,MAAM,aAAa,GAAG,MAAM,IAAA,6BAAgB,GAAE,CAAC;QAC/C,IAAA,gCAAyB,EAAC,aAAa,EAAE,MAAM,CAAC,CAAC;QAEjD,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,SAAS,CAAC,IAAA,oCAAqB,GAAE,EAAE,MAAM,CAAC,CAAC;QAC5E,IAAI,MAAM,KAAK,SAAS,EAAE;YACxB,MAAM,IAAI,KAAK,CACb,yFAAyF,CAC1F,CAAC;SACH;QAED,MAAM,gBAAgB,GAAG,IAAA,+BAAgB,EAAC,mBAAmB,CAAC,CAAC;QAC/D,IAAI,gBAAgB,EAAE;YACpB,MAAM,CAAC,IAAI,CACT,6CAA6C,gBAAgB,EAAE,CAChE,CAAC;YACF,OAAO,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;SACjC;QAED,MAAM,MAAM,GAAG,MAAM,IAAA,gDAA0B,EAAC,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;QACpF,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;KACvC;IAAC,OAAO,cAAc,EAAE;QACvB,MAAM,KAAK,GAAG,IAAA,gBAAS,EAAC,cAAc,CAAC,CAAC;QACxC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC9B,MAAM,IAAA,+BAAgB,EACpB,MAAM,IAAA,qCAAsB,EAC1B,UAAU,EACV,SAAS,EACT,SAAS,EACT,KAAK,CAAC,OAAO,EACb,KAAK,CAAC,KAAK,CACZ,CACF,CAAC;QACF,OAAO;KACR;AACH,CAAC;AAED,KAAK,UAAU,UAAU;IACvB,IAAI;QACF,MAAM,GAAG,EAAE,CAAC;KACb;IAAC,OAAO,KAAK,EAAE;QACd,IAAI,CAAC,SAAS,CAAC,GAAG,UAAU,mBAAmB,IAAA,gBAAS,EAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;KAC5E;IACD,MAAM,IAAA,sBAAe,GAAE,CAAC;AAC1B,CAAC;AAED,KAAK,UAAU,EAAE,CAAC"} \ No newline at end of file diff --git a/resolve-environment/action.yml b/resolve-environment/action.yml index 713c2cb19..e858c9d8c 100644 --- a/resolve-environment/action.yml +++ b/resolve-environment/action.yml @@ -9,6 +9,12 @@ inputs: language: description: The language to infer the build environment configuration for. required: true + working-directory: + description: >- + Run the autobuilder using this path (relative to $GITHUB_WORKSPACE) as + working directory. If this input is not set, the autobuilder runs with + $GITHUB_WORKSPACE as its working directory. + required: false outputs: environment: description: The inferred build environment configuration. diff --git a/src/resolve-environment-action.ts b/src/resolve-environment-action.ts index 24c8cd14c..d33bf3c92 100644 --- a/src/resolve-environment-action.ts +++ b/src/resolve-environment-action.ts @@ -2,6 +2,7 @@ import * as core from "@actions/core"; import { createStatusReportBase, + getOptionalInput, getRequiredInput, getTemporaryDirectory, sendStatusReport, @@ -47,6 +48,14 @@ async function run() { ); } + const workingDirectory = getOptionalInput("working-directory"); + if (workingDirectory) { + logger.info( + `Changing autobuilder working directory to ${workingDirectory}` + ); + process.chdir(workingDirectory); + } + const result = await runResolveBuildEnvironment(config.codeQLCmd, logger, language); core.setOutput("environment", result); } catch (unwrappedError) {