From d5ac4853193efcfdcec84e065507ca19d28d5127 Mon Sep 17 00:00:00 2001 From: Angela P Wen Date: Wed, 4 Sep 2024 14:07:49 -0700 Subject: [PATCH] Upload with `artifacts-legacy` when running GHES, else with `artifacts` `@actions/artifacts@v1` is still not yet supported on GHES and we need to maintain backwards compatibility here. If we detect that a user is running on GHES, we fall back on the original `v1` import. --- lib/debug-artifacts.js | 32 +++++++++---- lib/debug-artifacts.js.map | 2 +- lib/debug-artifacts.test.js | 3 +- lib/debug-artifacts.test.js.map | 2 +- lib/start-proxy-action-post.js | 25 +++++++--- lib/start-proxy-action-post.js.map | 2 +- lib/upload-sarif-action-post-helper.js | 4 +- lib/upload-sarif-action-post-helper.js.map | 2 +- src/debug-artifacts.test.ts | 8 +++- src/debug-artifacts.ts | 53 +++++++++++++++++----- src/start-proxy-action-post.ts | 29 ++++++++++-- src/upload-sarif-action-post-helper.ts | 9 ++++ 12 files changed, 133 insertions(+), 38 deletions(-) diff --git a/lib/debug-artifacts.js b/lib/debug-artifacts.js index 1cffe8bec..9d6f7a2fe 100644 --- a/lib/debug-artifacts.js +++ b/lib/debug-artifacts.js @@ -34,6 +34,7 @@ exports.uploadDatabaseBundleDebugArtifact = uploadDatabaseBundleDebugArtifact; const fs = __importStar(require("fs")); const path = __importStar(require("path")); const artifact = __importStar(require("@actions/artifact")); +const artifactLegacy = __importStar(require("@actions/artifact-legacy")); const core = __importStar(require("@actions/core")); const adm_zip_1 = __importDefault(require("adm-zip")); const del_1 = __importDefault(require("del")); @@ -44,10 +45,14 @@ const util_1 = require("./util"); function sanitizeArifactName(name) { return name.replace(/[^a-zA-Z0-9_\\-]+/g, ""); } -async function uploadDebugArtifacts(toUpload, rootDir, artifactName) { +async function uploadDebugArtifacts(toUpload, rootDir, artifactName, ghVariant) { if (toUpload.length === 0) { return; } + if (ghVariant === undefined) { + core.warning(`Did not upload debug artifacts because cannot determine the GitHub variant running.`); + return; + } let suffix = ""; const matrix = (0, actions_util_1.getRequiredInput)("matrix"); if (matrix) { @@ -60,11 +65,20 @@ async function uploadDebugArtifacts(toUpload, rootDir, artifactName) { } } try { - await artifact.create().uploadArtifact(sanitizeArifactName(`${artifactName}${suffix}`), toUpload.map((file) => path.normalize(file)), path.normalize(rootDir), { - continueOnError: true, - // ensure we don't keep the debug artifacts around for too long since they can be large. - retentionDays: 7, - }); + if (ghVariant === util_1.GitHubVariant.GHES) { + await artifactLegacy.create().uploadArtifact(sanitizeArifactName(`${artifactName}${suffix}`), toUpload.map((file) => path.normalize(file)), path.normalize(rootDir), { + continueOnError: true, + // ensure we don't keep the debug artifacts around for too long since they can be large. + retentionDays: 7, + }); + } + else { + const artifactClient = new artifact.DefaultArtifactClient(); + await artifactClient.uploadArtifact(sanitizeArifactName(`${artifactName}${suffix}`), toUpload, rootDir, { + // ensure we don't keep the debug artifacts around for too long since they can be large. + retentionDays: 7, + }); + } } catch (e) { // A failure to upload debug artifacts should not fail the entire action. @@ -82,7 +96,7 @@ async function uploadSarifDebugArtifact(config, outputDir) { toUpload = toUpload.concat(sarifFile); } } - await uploadDebugArtifacts(toUpload, outputDir, config.debugArtifactName); + await uploadDebugArtifacts(toUpload, outputDir, config.debugArtifactName, config.gitHubVersion.type); } async function uploadLogsDebugArtifact(config) { let toUpload = []; @@ -98,7 +112,7 @@ async function uploadLogsDebugArtifact(config) { if ((0, util_1.doesDirectoryExist)(multiLanguageTracingLogsDirectory)) { toUpload = toUpload.concat((0, util_1.listFolder)(multiLanguageTracingLogsDirectory)); } - await uploadDebugArtifacts(toUpload, config.dbLocation, config.debugArtifactName); + await uploadDebugArtifacts(toUpload, config.dbLocation, config.debugArtifactName, config.gitHubVersion.type); } /** * If a database has not been finalized, we cannot run the `codeql database bundle` @@ -136,7 +150,7 @@ async function uploadDatabaseBundleDebugArtifact(config, logger) { else { databaseBundlePath = await createDatabaseBundleCli(config, language); } - await uploadDebugArtifacts([databaseBundlePath], config.dbLocation, config.debugArtifactName); + await uploadDebugArtifacts([databaseBundlePath], config.dbLocation, config.debugArtifactName, config.gitHubVersion.type); } catch (error) { core.info(`Failed to upload database debug bundle for ${config.debugDatabaseName}-${language}: ${error}`); diff --git a/lib/debug-artifacts.js.map b/lib/debug-artifacts.js.map index 924cc2856..b18036bc4 100644 --- a/lib/debug-artifacts.js.map +++ b/lib/debug-artifacts.js.map @@ -1 +1 @@ -{"version":3,"file":"debug-artifacts.js","sourceRoot":"","sources":["../src/debug-artifacts.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"debug-artifacts.js","sourceRoot":"","sources":["../src/debug-artifacts.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/lib/debug-artifacts.test.js b/lib/debug-artifacts.test.js index cbfb57a54..9a9130de0 100644 --- a/lib/debug-artifacts.test.js +++ b/lib/debug-artifacts.test.js @@ -28,6 +28,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) { Object.defineProperty(exports, "__esModule", { value: true }); const ava_1 = __importDefault(require("ava")); const debugArtifacts = __importStar(require("./debug-artifacts")); +const util_1 = require("./util"); (0, ava_1.default)("sanitizeArifactName", (t) => { t.deepEqual(debugArtifacts.sanitizeArifactName("hello-world_"), "hello-world_"); t.deepEqual(debugArtifacts.sanitizeArifactName("hello`world`"), "helloworld"); @@ -36,6 +37,6 @@ const debugArtifacts = __importStar(require("./debug-artifacts")); }); (0, ava_1.default)("uploadDebugArtifacts", async (t) => { // Test that no error is thrown if artifacts list is empty. - await t.notThrowsAsync(debugArtifacts.uploadDebugArtifacts([], "rootDir", "artifactName")); + await t.notThrowsAsync(debugArtifacts.uploadDebugArtifacts([], "rootDir", "artifactName", util_1.GitHubVariant.DOTCOM)); }); //# sourceMappingURL=debug-artifacts.test.js.map \ No newline at end of file diff --git a/lib/debug-artifacts.test.js.map b/lib/debug-artifacts.test.js.map index e0c1868a7..d4d8515f5 100644 --- a/lib/debug-artifacts.test.js.map +++ b/lib/debug-artifacts.test.js.map @@ -1 +1 @@ -{"version":3,"file":"debug-artifacts.test.js","sourceRoot":"","sources":["../src/debug-artifacts.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,8CAAuB;AAEvB,kEAAoD;AAEpD,IAAA,aAAI,EAAC,qBAAqB,EAAE,CAAC,CAAC,EAAE,EAAE;IAChC,CAAC,CAAC,SAAS,CACT,cAAc,CAAC,mBAAmB,CAAC,cAAc,CAAC,EAClD,cAAc,CACf,CAAC;IACF,CAAC,CAAC,SAAS,CAAC,cAAc,CAAC,mBAAmB,CAAC,cAAc,CAAC,EAAE,YAAY,CAAC,CAAC;IAC9E,CAAC,CAAC,SAAS,CAAC,cAAc,CAAC,mBAAmB,CAAC,aAAa,CAAC,EAAE,UAAU,CAAC,CAAC;IAC3E,CAAC,CAAC,SAAS,CACT,cAAc,CAAC,mBAAmB,CAAC,yBAAyB,CAAC,EAC7D,aAAa,CACd,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,IAAA,aAAI,EAAC,sBAAsB,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IACvC,2DAA2D;IAC3D,MAAM,CAAC,CAAC,cAAc,CACpB,cAAc,CAAC,oBAAoB,CAAC,EAAE,EAAE,SAAS,EAAE,cAAc,CAAC,CACnE,CAAC;AACJ,CAAC,CAAC,CAAC"} \ No newline at end of file +{"version":3,"file":"debug-artifacts.test.js","sourceRoot":"","sources":["../src/debug-artifacts.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,8CAAuB;AAEvB,kEAAoD;AACpD,iCAAuC;AAEvC,IAAA,aAAI,EAAC,qBAAqB,EAAE,CAAC,CAAC,EAAE,EAAE;IAChC,CAAC,CAAC,SAAS,CACT,cAAc,CAAC,mBAAmB,CAAC,cAAc,CAAC,EAClD,cAAc,CACf,CAAC;IACF,CAAC,CAAC,SAAS,CAAC,cAAc,CAAC,mBAAmB,CAAC,cAAc,CAAC,EAAE,YAAY,CAAC,CAAC;IAC9E,CAAC,CAAC,SAAS,CAAC,cAAc,CAAC,mBAAmB,CAAC,aAAa,CAAC,EAAE,UAAU,CAAC,CAAC;IAC3E,CAAC,CAAC,SAAS,CACT,cAAc,CAAC,mBAAmB,CAAC,yBAAyB,CAAC,EAC7D,aAAa,CACd,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,IAAA,aAAI,EAAC,sBAAsB,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IACvC,2DAA2D;IAC3D,MAAM,CAAC,CAAC,cAAc,CACpB,cAAc,CAAC,oBAAoB,CACjC,EAAE,EACF,SAAS,EACT,cAAc,EACd,oBAAa,CAAC,MAAM,CACrB,CACF,CAAC;AACJ,CAAC,CAAC,CAAC"} \ No newline at end of file diff --git a/lib/start-proxy-action-post.js b/lib/start-proxy-action-post.js index e263ce0fd..9c742a91d 100644 --- a/lib/start-proxy-action-post.js +++ b/lib/start-proxy-action-post.js @@ -29,6 +29,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); * other `post:` hooks. */ const artifact = __importStar(require("@actions/artifact")); +const artifactLegacy = __importStar(require("@actions/artifact-legacy")); const core = __importStar(require("@actions/core")); const actionsUtil = __importStar(require("./actions-util")); const configUtils = __importStar(require("./config-utils")); @@ -47,13 +48,25 @@ async function runWrapper() { if ((config && config.debugMode) || core.isDebug()) { const logFilePath = core.getState("proxy-log-file"); core.info("Debug mode is on. Uploading proxy log as Actions debugging artifact..."); + if (config?.gitHubVersion.type === undefined) { + core.warning(`Did not upload debug artifacts because cannot determine the GitHub variant running.`); + return; + } try { - await artifact - .create() - .uploadArtifact("proxy-log-file", [logFilePath], actionsUtil.getTemporaryDirectory(), { - continueOnError: true, - retentionDays: 7, - }); + if (config.gitHubVersion.type === util_1.GitHubVariant.GHES) { + await artifactLegacy + .create() + .uploadArtifact("proxy-log-file", [logFilePath], actionsUtil.getTemporaryDirectory(), { + continueOnError: true, + retentionDays: 7, + }); + } + else { + const artifactClient = new artifact.DefaultArtifactClient(); + await artifactClient.uploadArtifact("proxy-log-file", [logFilePath], actionsUtil.getTemporaryDirectory(), { + retentionDays: 7, + }); + } } catch (e) { // A failure to upload debug artifacts should not fail the entire action. diff --git a/lib/start-proxy-action-post.js.map b/lib/start-proxy-action-post.js.map index 843ab52d0..d80e64f04 100644 --- a/lib/start-proxy-action-post.js.map +++ b/lib/start-proxy-action-post.js.map @@ -1 +1 @@ -{"version":3,"file":"start-proxy-action-post.js","sourceRoot":"","sources":["../src/start-proxy-action-post.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;GAIG;AACH,4DAA8C;AAC9C,oDAAsC;AAEtC,4DAA8C;AAC9C,4DAA8C;AAC9C,iCAAmC;AAEnC,KAAK,UAAU,UAAU;IACvB,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC;QAC/C,IAAI,GAAG,EAAE,CAAC;YACR,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,CAAC,SAAS,CACZ,wCAAwC,IAAA,gBAAS,EAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CACnE,CAAC;IACJ,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,SAAS,CACxC,WAAW,CAAC,qBAAqB,EAAE,EACnC,IAAI,CACL,CAAC;IAEF,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;QACnD,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;QACpD,IAAI,CAAC,IAAI,CACP,wEAAwE,CACzE,CAAC;QACF,IAAI,CAAC;YACH,MAAM,QAAQ;iBACX,MAAM,EAAE;iBACR,cAAc,CACb,gBAAgB,EAChB,CAAC,WAAW,CAAC,EACb,WAAW,CAAC,qBAAqB,EAAE,EACnC;gBACE,eAAe,EAAE,IAAI;gBACrB,aAAa,EAAE,CAAC;aACjB,CACF,CAAC;QACN,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,yEAAyE;YACzE,IAAI,CAAC,OAAO,CAAC,qCAAqC,CAAC,EAAE,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;AACH,CAAC;AAED,KAAK,UAAU,EAAE,CAAC"} \ No newline at end of file +{"version":3,"file":"start-proxy-action-post.js","sourceRoot":"","sources":["../src/start-proxy-action-post.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;GAIG;AACH,4DAA8C;AAC9C,yEAA2D;AAC3D,oDAAsC;AAEtC,4DAA8C;AAC9C,4DAA8C;AAC9C,iCAAkD;AAElD,KAAK,UAAU,UAAU;IACvB,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC;QAC/C,IAAI,GAAG,EAAE,CAAC;YACR,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,CAAC,SAAS,CACZ,wCAAwC,IAAA,gBAAS,EAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CACnE,CAAC;IACJ,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,SAAS,CACxC,WAAW,CAAC,qBAAqB,EAAE,EACnC,IAAI,CACL,CAAC;IAEF,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;QACnD,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;QACpD,IAAI,CAAC,IAAI,CACP,wEAAwE,CACzE,CAAC;QACF,IAAI,MAAM,EAAE,aAAa,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC7C,IAAI,CAAC,OAAO,CACV,qFAAqF,CACtF,CAAC;YACF,OAAO;QACT,CAAC;QACD,IAAI,CAAC;YACH,IAAI,MAAM,CAAC,aAAa,CAAC,IAAI,KAAK,oBAAa,CAAC,IAAI,EAAE,CAAC;gBACrD,MAAM,cAAc;qBACjB,MAAM,EAAE;qBACR,cAAc,CACb,gBAAgB,EAChB,CAAC,WAAW,CAAC,EACb,WAAW,CAAC,qBAAqB,EAAE,EACnC;oBACE,eAAe,EAAE,IAAI;oBACrB,aAAa,EAAE,CAAC;iBACjB,CACF,CAAC;YACN,CAAC;iBAAM,CAAC;gBACN,MAAM,cAAc,GAAG,IAAI,QAAQ,CAAC,qBAAqB,EAAE,CAAC;gBAC5D,MAAM,cAAc,CAAC,cAAc,CACjC,gBAAgB,EAChB,CAAC,WAAW,CAAC,EACb,WAAW,CAAC,qBAAqB,EAAE,EACnC;oBACE,aAAa,EAAE,CAAC;iBACjB,CACF,CAAC;YACJ,CAAC;QACH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,yEAAyE;YACzE,IAAI,CAAC,OAAO,CAAC,qCAAqC,CAAC,EAAE,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;AACH,CAAC;AAED,KAAK,UAAU,EAAE,CAAC"} \ No newline at end of file diff --git a/lib/upload-sarif-action-post-helper.js b/lib/upload-sarif-action-post-helper.js index bfdec00d7..da5a40dff 100644 --- a/lib/upload-sarif-action-post-helper.js +++ b/lib/upload-sarif-action-post-helper.js @@ -28,6 +28,7 @@ const fs = __importStar(require("fs")); const path = __importStar(require("path")); const core = __importStar(require("@actions/core")); const actionsUtil = __importStar(require("./actions-util")); +const configUtils = __importStar(require("./config-utils")); async function uploadArtifacts(uploadDebugArtifacts) { const tempDir = actionsUtil.getTemporaryDirectory(); // Upload Actions SARIF artifacts for debugging when environment variable is set @@ -46,8 +47,9 @@ async function uploadArtifacts(uploadDebugArtifacts) { } } } + const config = await configUtils.getConfig(actionsUtil.getTemporaryDirectory(), core); if (toUpload.length > 0) { - await uploadDebugArtifacts(toUpload, baseTempDir, "upload-debug-artifacts"); + await uploadDebugArtifacts(toUpload, baseTempDir, "upload-debug-artifacts", config?.gitHubVersion.type); } } } diff --git a/lib/upload-sarif-action-post-helper.js.map b/lib/upload-sarif-action-post-helper.js.map index 821fe64ed..e0d015b8e 100644 --- a/lib/upload-sarif-action-post-helper.js.map +++ b/lib/upload-sarif-action-post-helper.js.map @@ -1 +1 @@ -{"version":3,"file":"upload-sarif-action-post-helper.js","sourceRoot":"","sources":["../src/upload-sarif-action-post-helper.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAOA,0CAyCC;AAhDD,uCAAyB;AACzB,2CAA6B;AAE7B,oDAAsC;AAEtC,4DAA8C;AAEvC,KAAK,UAAU,eAAe,CACnC,oBAIkB;IAElB,MAAM,OAAO,GAAG,WAAW,CAAC,qBAAqB,EAAE,CAAC;IAEpD,gFAAgF;IAChF,IAAI,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,KAAK,MAAM,EAAE,CAAC;QACjE,IAAI,CAAC,IAAI,CACP,2EAA2E,CAC5E,CAAC;QAEF,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;QAE5D,MAAM,QAAQ,GAAa,EAAE,CAAC;QAE9B,IAAI,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YAC/B,MAAM,UAAU,GAAG,EAAE,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;YAE/C,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;gBACnC,MAAM,UAAU,GAAG,EAAE;qBAClB,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;qBACjD,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAEvC,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;oBACnC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;gBACjE,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,MAAM,oBAAoB,CACxB,QAAQ,EACR,WAAW,EACX,wBAAwB,CACzB,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC"} \ No newline at end of file +{"version":3,"file":"upload-sarif-action-post-helper.js","sourceRoot":"","sources":["../src/upload-sarif-action-post-helper.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AASA,0CAgDC;AAzDD,uCAAyB;AACzB,2CAA6B;AAE7B,oDAAsC;AAEtC,4DAA8C;AAC9C,4DAA8C;AAGvC,KAAK,UAAU,eAAe,CACnC,oBAKkB;IAElB,MAAM,OAAO,GAAG,WAAW,CAAC,qBAAqB,EAAE,CAAC;IAEpD,gFAAgF;IAChF,IAAI,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,KAAK,MAAM,EAAE,CAAC;QACjE,IAAI,CAAC,IAAI,CACP,2EAA2E,CAC5E,CAAC;QAEF,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;QAE5D,MAAM,QAAQ,GAAa,EAAE,CAAC;QAE9B,IAAI,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YAC/B,MAAM,UAAU,GAAG,EAAE,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;YAE/C,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;gBACnC,MAAM,UAAU,GAAG,EAAE;qBAClB,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;qBACjD,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAEvC,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;oBACnC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;gBACjE,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,SAAS,CACxC,WAAW,CAAC,qBAAqB,EAAE,EACnC,IAAI,CACL,CAAC;QAEF,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,MAAM,oBAAoB,CACxB,QAAQ,EACR,WAAW,EACX,wBAAwB,EACxB,MAAM,EAAE,aAAa,CAAC,IAAI,CAC3B,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC"} \ No newline at end of file diff --git a/src/debug-artifacts.test.ts b/src/debug-artifacts.test.ts index 28695f3e4..315e1d962 100644 --- a/src/debug-artifacts.test.ts +++ b/src/debug-artifacts.test.ts @@ -1,6 +1,7 @@ import test from "ava"; import * as debugArtifacts from "./debug-artifacts"; +import { GitHubVariant } from "./util"; test("sanitizeArifactName", (t) => { t.deepEqual( @@ -18,6 +19,11 @@ test("sanitizeArifactName", (t) => { test("uploadDebugArtifacts", async (t) => { // Test that no error is thrown if artifacts list is empty. await t.notThrowsAsync( - debugArtifacts.uploadDebugArtifacts([], "rootDir", "artifactName"), + debugArtifacts.uploadDebugArtifacts( + [], + "rootDir", + "artifactName", + GitHubVariant.DOTCOM, + ), ); }); diff --git a/src/debug-artifacts.ts b/src/debug-artifacts.ts index 5b060bc85..05c82f2d4 100644 --- a/src/debug-artifacts.ts +++ b/src/debug-artifacts.ts @@ -2,6 +2,7 @@ import * as fs from "fs"; import * as path from "path"; import * as artifact from "@actions/artifact"; +import * as artifactLegacy from "@actions/artifact-legacy"; import * as core from "@actions/core"; import AdmZip from "adm-zip"; import del from "del"; @@ -16,6 +17,7 @@ import { bundleDb, doesDirectoryExist, getCodeQLDatabasePath, + GitHubVariant, listFolder, } from "./util"; @@ -27,10 +29,19 @@ export async function uploadDebugArtifacts( toUpload: string[], rootDir: string, artifactName: string, + ghVariant: GitHubVariant | undefined, ) { if (toUpload.length === 0) { return; } + + if (ghVariant === undefined) { + core.warning( + `Did not upload debug artifacts because cannot determine the GitHub variant running.`, + ); + return; + } + let suffix = ""; const matrix = getRequiredInput("matrix"); if (matrix) { @@ -47,16 +58,29 @@ export async function uploadDebugArtifacts( } try { - await artifact.create().uploadArtifact( - sanitizeArifactName(`${artifactName}${suffix}`), - toUpload.map((file) => path.normalize(file)), - path.normalize(rootDir), - { - continueOnError: true, - // ensure we don't keep the debug artifacts around for too long since they can be large. - retentionDays: 7, - }, - ); + if (ghVariant === GitHubVariant.GHES) { + await artifactLegacy.create().uploadArtifact( + sanitizeArifactName(`${artifactName}${suffix}`), + toUpload.map((file) => path.normalize(file)), + path.normalize(rootDir), + { + continueOnError: true, + // ensure we don't keep the debug artifacts around for too long since they can be large. + retentionDays: 7, + }, + ); + } else { + const artifactClient = new artifact.DefaultArtifactClient(); + await artifactClient.uploadArtifact( + sanitizeArifactName(`${artifactName}${suffix}`), + toUpload, + rootDir, + { + // ensure we don't keep the debug artifacts around for too long since they can be large. + retentionDays: 7, + }, + ); + } } catch (e) { // A failure to upload debug artifacts should not fail the entire action. core.warning(`Failed to upload debug artifacts: ${e}`); @@ -78,7 +102,12 @@ export async function uploadSarifDebugArtifact( toUpload = toUpload.concat(sarifFile); } } - await uploadDebugArtifacts(toUpload, outputDir, config.debugArtifactName); + await uploadDebugArtifacts( + toUpload, + outputDir, + config.debugArtifactName, + config.gitHubVersion.type, + ); } export async function uploadLogsDebugArtifact(config: Config) { @@ -104,6 +133,7 @@ export async function uploadLogsDebugArtifact(config: Config) { toUpload, config.dbLocation, config.debugArtifactName, + config.gitHubVersion.type, ); } @@ -170,6 +200,7 @@ export async function uploadDatabaseBundleDebugArtifact( [databaseBundlePath], config.dbLocation, config.debugArtifactName, + config.gitHubVersion.type, ); } catch (error) { core.info( diff --git a/src/start-proxy-action-post.ts b/src/start-proxy-action-post.ts index 1fe601e7d..de549ef72 100644 --- a/src/start-proxy-action-post.ts +++ b/src/start-proxy-action-post.ts @@ -4,11 +4,12 @@ * other `post:` hooks. */ import * as artifact from "@actions/artifact"; +import * as artifactLegacy from "@actions/artifact-legacy"; import * as core from "@actions/core"; import * as actionsUtil from "./actions-util"; import * as configUtils from "./config-utils"; -import { wrapError } from "./util"; +import { GitHubVariant, wrapError } from "./util"; async function runWrapper() { try { @@ -31,18 +32,36 @@ async function runWrapper() { core.info( "Debug mode is on. Uploading proxy log as Actions debugging artifact...", ); + if (config?.gitHubVersion.type === undefined) { + core.warning( + `Did not upload debug artifacts because cannot determine the GitHub variant running.`, + ); + return; + } try { - await artifact - .create() - .uploadArtifact( + if (config.gitHubVersion.type === GitHubVariant.GHES) { + await artifactLegacy + .create() + .uploadArtifact( + "proxy-log-file", + [logFilePath], + actionsUtil.getTemporaryDirectory(), + { + continueOnError: true, + retentionDays: 7, + }, + ); + } else { + const artifactClient = new artifact.DefaultArtifactClient(); + await artifactClient.uploadArtifact( "proxy-log-file", [logFilePath], actionsUtil.getTemporaryDirectory(), { - continueOnError: true, retentionDays: 7, }, ); + } } catch (e) { // A failure to upload debug artifacts should not fail the entire action. core.warning(`Failed to upload debug artifacts: ${e}`); diff --git a/src/upload-sarif-action-post-helper.ts b/src/upload-sarif-action-post-helper.ts index 0a9034906..c704ec85c 100644 --- a/src/upload-sarif-action-post-helper.ts +++ b/src/upload-sarif-action-post-helper.ts @@ -4,12 +4,15 @@ import * as path from "path"; import * as core from "@actions/core"; import * as actionsUtil from "./actions-util"; +import * as configUtils from "./config-utils"; +import { GitHubVariant } from "./util"; export async function uploadArtifacts( uploadDebugArtifacts: ( toUpload: string[], rootDir: string, artifactName: string, + ghVariant: GitHubVariant | undefined, ) => Promise, ) { const tempDir = actionsUtil.getTemporaryDirectory(); @@ -38,11 +41,17 @@ export async function uploadArtifacts( } } + const config = await configUtils.getConfig( + actionsUtil.getTemporaryDirectory(), + core, + ); + if (toUpload.length > 0) { await uploadDebugArtifacts( toUpload, baseTempDir, "upload-debug-artifacts", + config?.gitHubVersion.type, ); } }