From c2d9e4b48fa721e0bd1aabd0884f31c2ef829001 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Tue, 23 Nov 2021 10:59:41 +0000 Subject: [PATCH 1/7] Update changelog and version after v1.0.24 --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8061be449..7e1292918 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # CodeQL Action and CodeQL Runner Changelog +## [UNRELEASED] + +No user facing changes. + ## 1.0.24 - 23 Nov 2021 - Update default CodeQL bundle version to 2.7.2. [#827](https://github.com/github/codeql-action/pull/827) From dd65833ab6dd9d6fa56f86b5ec72414b079f78dd Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Tue, 23 Nov 2021 10:59:43 +0000 Subject: [PATCH 2/7] 1.0.25 --- package-lock.json | 2 +- package.json | 2 +- runner/package-lock.json | 2 +- runner/package.json | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/package-lock.json b/package-lock.json index f44c62853..272d08cff 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "codeql", - "version": "1.0.24", + "version": "1.0.25", "lockfileVersion": 2, "requires": true, "packages": { diff --git a/package.json b/package.json index fa4c65af4..0e482fc94 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "codeql", - "version": "1.0.24", + "version": "1.0.25", "private": true, "description": "CodeQL action", "scripts": { diff --git a/runner/package-lock.json b/runner/package-lock.json index 9dec6f9f0..0d9065009 100644 --- a/runner/package-lock.json +++ b/runner/package-lock.json @@ -1,6 +1,6 @@ { "name": "codeql-runner", - "version": "1.0.24", + "version": "1.0.25", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/runner/package.json b/runner/package.json index e1d69cbde..4a3d8741d 100644 --- a/runner/package.json +++ b/runner/package.json @@ -1,6 +1,6 @@ { "name": "codeql-runner", - "version": "1.0.24", + "version": "1.0.25", "private": true, "description": "CodeQL runner", "scripts": { From 13a9d6c442086adbf1fd1d976ad99109a3ac7664 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Tue, 23 Nov 2021 11:12:31 +0000 Subject: [PATCH 3/7] Update checked-in dependencies --- node_modules/.package-lock.json | 2 +- package-lock.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/node_modules/.package-lock.json b/node_modules/.package-lock.json index 79e7cfd83..747ea39a7 100644 --- a/node_modules/.package-lock.json +++ b/node_modules/.package-lock.json @@ -1,6 +1,6 @@ { "name": "codeql", - "version": "1.0.24", + "version": "1.0.25", "lockfileVersion": 2, "requires": true, "packages": { diff --git a/package-lock.json b/package-lock.json index 272d08cff..be5b1dee2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -6,7 +6,7 @@ "packages": { "": { "name": "codeql", - "version": "1.0.24", + "version": "1.0.25", "license": "MIT", "dependencies": { "@actions/artifact": "^0.5.2", From 460d053698e630c8a3cb86c7d05799d6cf22328f Mon Sep 17 00:00:00 2001 From: Robert Date: Mon, 29 Nov 2021 12:16:20 +0000 Subject: [PATCH 4/7] Upload using uploads.github.com if enabled for that repository --- lib/database-upload.js | 30 +++++++++++++---- lib/database-upload.js.map | 2 +- lib/database-upload.test.js | 42 ++++++++++++++++++++---- lib/database-upload.test.js.map | 2 +- src/database-upload.test.ts | 57 +++++++++++++++++++++++++++++---- src/database-upload.ts | 38 ++++++++++++++++------ 6 files changed, 139 insertions(+), 32 deletions(-) diff --git a/lib/database-upload.js b/lib/database-upload.js index 0180d9de7..ab187dc1f 100644 --- a/lib/database-upload.js +++ b/lib/database-upload.js @@ -42,11 +42,13 @@ async function uploadDatabases(repositoryNwo, config, apiDetails, logger) { return; } const client = (0, api_client_1.getApiClient)(apiDetails); + let useUploadDomain; try { - await client.request("GET /repos/:owner/:repo/code-scanning/codeql/databases", { + const response = await client.request("GET /repos/:owner/:repo/code-scanning/codeql/databases", { owner: repositoryNwo.owner, repo: repositoryNwo.repo, }); + useUploadDomain = response.data["uploads_domain_enabled"]; } catch (e) { if (util.isHTTPError(e) && e.status === 404) { @@ -63,12 +65,26 @@ async function uploadDatabases(repositoryNwo, config, apiDetails, logger) { // Upload the database bundle const payload = fs.readFileSync(await (0, util_1.bundleDb)(config, language, codeql)); try { - await client.request(`PUT /repos/:owner/:repo/code-scanning/codeql/databases/:language`, { - owner: repositoryNwo.owner, - repo: repositoryNwo.repo, - language, - data: payload, - }); + if (useUploadDomain) { + await client.request(`POST https://uploads.github.com/repos/:owner/:repo/code-scanning/codeql/databases/:language?name=:name`, { + owner: repositoryNwo.owner, + repo: repositoryNwo.repo, + language, + name: `${language}-database`, + data: payload, + headers: { + authorization: `token ${apiDetails.auth}`, + }, + }); + } + else { + await client.request(`PUT /repos/:owner/:repo/code-scanning/codeql/databases/:language`, { + owner: repositoryNwo.owner, + repo: repositoryNwo.repo, + language, + data: payload, + }); + } logger.debug(`Successfully uploaded database for ${language}`); } catch (e) { diff --git a/lib/database-upload.js.map b/lib/database-upload.js.map index a941ba626..2067574ce 100644 --- a/lib/database-upload.js.map +++ b/lib/database-upload.js.map @@ -1 +1 @@ -{"version":3,"file":"database-upload.js","sourceRoot":"","sources":["../src/database-upload.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAyB;AAEzB,4DAA8C;AAC9C,6CAA8D;AAC9D,qCAAqC;AAIrC,6CAA+B;AAC/B,iCAAkC;AAE3B,KAAK,UAAU,eAAe,CACnC,aAA4B,EAC5B,MAAc,EACd,UAA4B,EAC5B,MAAc;IAEd,IAAI,WAAW,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,KAAK,MAAM,EAAE;QAC9D,MAAM,CAAC,KAAK,CAAC,wDAAwD,CAAC,CAAC;QACvE,OAAO;KACR;IAED,iDAAiD;IACjD,IAAI,MAAM,CAAC,aAAa,CAAC,IAAI,KAAK,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE;QAC3D,MAAM,CAAC,KAAK,CAAC,kDAAkD,CAAC,CAAC;QACjE,OAAO;KACR;IAED,IAAI,CAAC,CAAC,MAAM,WAAW,CAAC,wBAAwB,EAAE,CAAC,EAAE;QACnD,4EAA4E;QAC5E,MAAM,CAAC,KAAK,CAAC,gDAAgD,CAAC,CAAC;QAC/D,OAAO;KACR;IAED,MAAM,MAAM,GAAG,IAAA,yBAAY,EAAC,UAAU,CAAC,CAAC;IACxC,IAAI;QACF,MAAM,MAAM,CAAC,OAAO,CAClB,wDAAwD,EACxD;YACE,KAAK,EAAE,aAAa,CAAC,KAAK;YAC1B,IAAI,EAAE,aAAa,CAAC,IAAI;SACzB,CACF,CAAC;KACH;IAAC,OAAO,CAAC,EAAE;QACV,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,GAAG,EAAE;YAC3C,MAAM,CAAC,KAAK,CACV,kEAAkE,CACnE,CAAC;SACH;aAAM;YACL,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACf,MAAM,CAAC,IAAI,CAAC,kDAAkD,CAAC,EAAE,CAAC,CAAC;SACpE;QACD,OAAO;KACR;IAED,MAAM,MAAM,GAAG,MAAM,IAAA,kBAAS,EAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACjD,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,SAAS,EAAE;QACvC,6BAA6B;QAC7B,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,MAAM,IAAA,eAAQ,EAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;QAC1E,IAAI;YACF,MAAM,MAAM,CAAC,OAAO,CAClB,kEAAkE,EAClE;gBACE,KAAK,EAAE,aAAa,CAAC,KAAK;gBAC1B,IAAI,EAAE,aAAa,CAAC,IAAI;gBACxB,QAAQ;gBACR,IAAI,EAAE,OAAO;aACd,CACF,CAAC;YACF,MAAM,CAAC,KAAK,CAAC,sCAAsC,QAAQ,EAAE,CAAC,CAAC;SAChE;QAAC,OAAO,CAAC,EAAE;YACV,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACf,4CAA4C;YAC5C,MAAM,CAAC,OAAO,CAAC,iCAAiC,QAAQ,KAAK,CAAC,EAAE,CAAC,CAAC;SACnE;KACF;AACH,CAAC;AAjED,0CAiEC"} \ No newline at end of file +{"version":3,"file":"database-upload.js","sourceRoot":"","sources":["../src/database-upload.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/lib/database-upload.test.js b/lib/database-upload.test.js index 813a42fd1..458a1199a 100644 --- a/lib/database-upload.test.js +++ b/lib/database-upload.test.js @@ -81,19 +81,29 @@ function getRecordingLogger(messages) { endGroup: () => undefined, }; } -function mockHttpRequests(optInStatusCode, databaseUploadStatusCode) { +function mockHttpRequests(optInStatusCode, useUploadDomain, databaseUploadStatusCode) { // Passing an auth token is required, so we just use a dummy value const client = github.getOctokit("123"); const requestSpy = sinon.stub(client, "request"); const optInSpy = requestSpy.withArgs("GET /repos/:owner/:repo/code-scanning/codeql/databases"); if (optInStatusCode < 300) { - optInSpy.resolves(undefined); + optInSpy.resolves({ + status: optInStatusCode, + data: { + useUploadDomain, + }, + headers: {}, + url: "GET /repos/:owner/:repo/code-scanning/codeql/databases", + }); } else { optInSpy.throws(new util_1.HTTPError("some error message", optInStatusCode)); } if (databaseUploadStatusCode !== undefined) { - const databaseUploadSpy = requestSpy.withArgs("PUT /repos/:owner/:repo/code-scanning/codeql/databases/:language"); + const url = useUploadDomain + ? "POST https://uploads.github.com/repos/:owner/:repo/code-scanning/codeql/databases/:language?name=:name" + : "PUT /repos/:owner/:repo/code-scanning/codeql/databases/:language"; + const databaseUploadSpy = requestSpy.withArgs(url); if (databaseUploadStatusCode < 300) { databaseUploadSpy.resolves(undefined); } @@ -213,7 +223,7 @@ function mockHttpRequests(optInStatusCode, databaseUploadStatusCode) { .withArgs("upload-database") .returns("true"); sinon.stub(actionsUtil, "isAnalyzingDefaultBranch").resolves(true); - mockHttpRequests(204, 500); + mockHttpRequests(200, false, 500); (0, codeql_1.setCodeQL)({ async databaseBundle(_, outputFilePath) { fs.writeFileSync(outputFilePath, ""); @@ -226,7 +236,27 @@ function mockHttpRequests(optInStatusCode, databaseUploadStatusCode) { "Failed to upload database for javascript: Error: some error message") !== undefined); }); }); -(0, ava_1.default)("Successfully uploading a database", async (t) => { +(0, ava_1.default)("Successfully uploading a database to api.github.com", async (t) => { + await (0, util_1.withTmpDir)(async (tmpDir) => { + (0, testing_utils_1.setupActionsVars)(tmpDir, tmpDir); + sinon + .stub(actionsUtil, "getRequiredInput") + .withArgs("upload-database") + .returns("true"); + sinon.stub(actionsUtil, "isAnalyzingDefaultBranch").resolves(true); + mockHttpRequests(200, false, 201); + (0, codeql_1.setCodeQL)({ + async databaseBundle(_, outputFilePath) { + fs.writeFileSync(outputFilePath, ""); + }, + }); + const loggedMessages = []; + await (0, database_upload_1.uploadDatabases)(testRepoName, getTestConfig(tmpDir), testApiDetails, getRecordingLogger(loggedMessages)); + t.assert(loggedMessages.find((v) => v.type === "debug" && + v.message === "Successfully uploaded database for javascript") !== undefined); + }); +}); +(0, ava_1.default)("Successfully uploading a database to uploads.github.com", async (t) => { await (0, util_1.withTmpDir)(async (tmpDir) => { (0, testing_utils_1.setupActionsVars)(tmpDir, tmpDir); sinon @@ -234,7 +264,7 @@ function mockHttpRequests(optInStatusCode, databaseUploadStatusCode) { .withArgs("upload-database") .returns("true"); sinon.stub(actionsUtil, "isAnalyzingDefaultBranch").resolves(true); - mockHttpRequests(204, 201); + mockHttpRequests(200, true, 201); (0, codeql_1.setCodeQL)({ async databaseBundle(_, outputFilePath) { fs.writeFileSync(outputFilePath, ""); diff --git a/lib/database-upload.test.js.map b/lib/database-upload.test.js.map index bb3c4865e..6b53e069a 100644 --- a/lib/database-upload.test.js.map +++ b/lib/database-upload.test.js.map @@ -1 +1 @@ -{"version":3,"file":"database-upload.test.js","sourceRoot":"","sources":["../src/database-upload.test.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"database-upload.test.js","sourceRoot":"","sources":["../src/database-upload.test.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/src/database-upload.test.ts b/src/database-upload.test.ts index 6f93c0381..16548f282 100644 --- a/src/database-upload.test.ts +++ b/src/database-upload.test.ts @@ -82,6 +82,7 @@ function getRecordingLogger(messages: LoggedMessage[]): Logger { function mockHttpRequests( optInStatusCode: number, + useUploadDomain?: boolean, databaseUploadStatusCode?: number ) { // Passing an auth token is required, so we just use a dummy value @@ -93,15 +94,23 @@ function mockHttpRequests( "GET /repos/:owner/:repo/code-scanning/codeql/databases" ); if (optInStatusCode < 300) { - optInSpy.resolves(undefined); + optInSpy.resolves({ + status: optInStatusCode, + data: { + useUploadDomain, + }, + headers: {}, + url: "GET /repos/:owner/:repo/code-scanning/codeql/databases", + }); } else { optInSpy.throws(new HTTPError("some error message", optInStatusCode)); } if (databaseUploadStatusCode !== undefined) { - const databaseUploadSpy = requestSpy.withArgs( - "PUT /repos/:owner/:repo/code-scanning/codeql/databases/:language" - ); + const url = useUploadDomain + ? "POST https://uploads.github.com/repos/:owner/:repo/code-scanning/codeql/databases/:language?name=:name" + : "PUT /repos/:owner/:repo/code-scanning/codeql/databases/:language"; + const databaseUploadSpy = requestSpy.withArgs(url); if (databaseUploadStatusCode < 300) { databaseUploadSpy.resolves(undefined); } else { @@ -303,7 +312,7 @@ test("Don't crash if uploading a database fails", async (t) => { .returns("true"); sinon.stub(actionsUtil, "isAnalyzingDefaultBranch").resolves(true); - mockHttpRequests(204, 500); + mockHttpRequests(200, false, 500); setCodeQL({ async databaseBundle(_: string, outputFilePath: string) { @@ -329,7 +338,41 @@ test("Don't crash if uploading a database fails", async (t) => { }); }); -test("Successfully uploading a database", async (t) => { +test("Successfully uploading a database to api.github.com", async (t) => { + await withTmpDir(async (tmpDir) => { + setupActionsVars(tmpDir, tmpDir); + sinon + .stub(actionsUtil, "getRequiredInput") + .withArgs("upload-database") + .returns("true"); + sinon.stub(actionsUtil, "isAnalyzingDefaultBranch").resolves(true); + + mockHttpRequests(200, false, 201); + + setCodeQL({ + async databaseBundle(_: string, outputFilePath: string) { + fs.writeFileSync(outputFilePath, ""); + }, + }); + + const loggedMessages = [] as LoggedMessage[]; + await uploadDatabases( + testRepoName, + getTestConfig(tmpDir), + testApiDetails, + getRecordingLogger(loggedMessages) + ); + t.assert( + loggedMessages.find( + (v) => + v.type === "debug" && + v.message === "Successfully uploaded database for javascript" + ) !== undefined + ); + }); +}); + +test("Successfully uploading a database to uploads.github.com", async (t) => { await withTmpDir(async (tmpDir) => { setupActionsVars(tmpDir, tmpDir); sinon @@ -338,7 +381,7 @@ test("Successfully uploading a database", async (t) => { .returns("true"); sinon.stub(actionsUtil, "isAnalyzingDefaultBranch").resolves(true); - mockHttpRequests(204, 201); + mockHttpRequests(200, true, 201); setCodeQL({ async databaseBundle(_: string, outputFilePath: string) { diff --git a/src/database-upload.ts b/src/database-upload.ts index 08e99bd26..a16c9b90d 100644 --- a/src/database-upload.ts +++ b/src/database-upload.ts @@ -33,14 +33,16 @@ export async function uploadDatabases( } const client = getApiClient(apiDetails); + let useUploadDomain: boolean; try { - await client.request( + const response = await client.request( "GET /repos/:owner/:repo/code-scanning/codeql/databases", { owner: repositoryNwo.owner, repo: repositoryNwo.repo, } ); + useUploadDomain = response.data["uploads_domain_enabled"]; } catch (e) { if (util.isHTTPError(e) && e.status === 404) { logger.debug( @@ -58,15 +60,31 @@ export async function uploadDatabases( // Upload the database bundle const payload = fs.readFileSync(await bundleDb(config, language, codeql)); try { - await client.request( - `PUT /repos/:owner/:repo/code-scanning/codeql/databases/:language`, - { - owner: repositoryNwo.owner, - repo: repositoryNwo.repo, - language, - data: payload, - } - ); + if (useUploadDomain) { + await client.request( + `POST https://uploads.github.com/repos/:owner/:repo/code-scanning/codeql/databases/:language?name=:name`, + { + owner: repositoryNwo.owner, + repo: repositoryNwo.repo, + language, + name: `${language}-database`, + data: payload, + headers: { + authorization: `token ${apiDetails.auth}`, + }, + } + ); + } else { + await client.request( + `PUT /repos/:owner/:repo/code-scanning/codeql/databases/:language`, + { + owner: repositoryNwo.owner, + repo: repositoryNwo.repo, + language, + data: payload, + } + ); + } logger.debug(`Successfully uploaded database for ${language}`); } catch (e) { console.log(e); From c82e09aa4133c0e9f99b0f51238fcbc67bc692e7 Mon Sep 17 00:00:00 2001 From: Robert Date: Wed, 1 Dec 2021 12:25:57 +0000 Subject: [PATCH 5/7] Delete bundled db before recreating --- lib/database-upload.js | 5 ++++- lib/database-upload.js.map | 2 +- lib/util.js | 12 +++++++++--- lib/util.js.map | 2 +- src/database-upload.ts | 5 ++++- src/util.ts | 12 +++++++++--- 6 files changed, 28 insertions(+), 10 deletions(-) diff --git a/lib/database-upload.js b/lib/database-upload.js index ab187dc1f..b85e51c57 100644 --- a/lib/database-upload.js +++ b/lib/database-upload.js @@ -62,7 +62,10 @@ async function uploadDatabases(repositoryNwo, config, apiDetails, logger) { } const codeql = await (0, codeql_1.getCodeQL)(config.codeQLCmd); for (const language of config.languages) { - // Upload the database bundle + // Upload the database bundle. + // Although we are uploading arbitrary file contents to the API, it's worth + // noting that it's the API's job to validate that the contents is acceptable. + // This API method is available to anyone with write access to the repo. const payload = fs.readFileSync(await (0, util_1.bundleDb)(config, language, codeql)); try { if (useUploadDomain) { diff --git a/lib/database-upload.js.map b/lib/database-upload.js.map index 2067574ce..220c258ed 100644 --- a/lib/database-upload.js.map +++ b/lib/database-upload.js.map @@ -1 +1 @@ -{"version":3,"file":"database-upload.js","sourceRoot":"","sources":["../src/database-upload.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"database-upload.js","sourceRoot":"","sources":["../src/database-upload.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/lib/util.js b/lib/util.js index 687d74d22..2cceec5bf 100644 --- a/lib/util.js +++ b/lib/util.js @@ -486,9 +486,15 @@ exports.codeQlVersionAbove = codeQlVersionAbove; async function bundleDb(config, language, codeql) { const databasePath = getCodeQLDatabasePath(config, language); const databaseBundlePath = path.resolve(config.dbLocation, `${databasePath}.zip`); - if (!fs.existsSync(databaseBundlePath)) { - await codeql.databaseBundle(databasePath, databaseBundlePath); - } + // For a tiny bit of added safety, delete the file if it exists. + // The file is probably from an earlier call to this function, either + // as part of this action step or a previous one, but it could also be + // from somewhere else or someone trying to make the action upload a + // non-database file. + if (fs.existsSync(databaseBundlePath)) { + fs.rmSync(databaseBundlePath, { recursive: true }); + } + await codeql.databaseBundle(databasePath, databaseBundlePath); return databaseBundlePath; } exports.bundleDb = bundleDb; diff --git a/lib/util.js.map b/lib/util.js.map index 5f2bf580b..2e6259ba8 100644 --- a/lib/util.js.map +++ b/lib/util.js.map @@ -1 +1 @@ -{"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/src/database-upload.ts b/src/database-upload.ts index a16c9b90d..c8ab0693e 100644 --- a/src/database-upload.ts +++ b/src/database-upload.ts @@ -57,7 +57,10 @@ export async function uploadDatabases( const codeql = await getCodeQL(config.codeQLCmd); for (const language of config.languages) { - // Upload the database bundle + // Upload the database bundle. + // Although we are uploading arbitrary file contents to the API, it's worth + // noting that it's the API's job to validate that the contents is acceptable. + // This API method is available to anyone with write access to the repo. const payload = fs.readFileSync(await bundleDb(config, language, codeql)); try { if (useUploadDomain) { diff --git a/src/util.ts b/src/util.ts index 8dc9f59c8..9e8aed9a6 100644 --- a/src/util.ts +++ b/src/util.ts @@ -559,9 +559,15 @@ export async function bundleDb( config.dbLocation, `${databasePath}.zip` ); - if (!fs.existsSync(databaseBundlePath)) { - await codeql.databaseBundle(databasePath, databaseBundlePath); - } + // For a tiny bit of added safety, delete the file if it exists. + // The file is probably from an earlier call to this function, either + // as part of this action step or a previous one, but it could also be + // from somewhere else or someone trying to make the action upload a + // non-database file. + if (fs.existsSync(databaseBundlePath)) { + fs.rmSync(databaseBundlePath, { recursive: true }); + } + await codeql.databaseBundle(databasePath, databaseBundlePath); return databaseBundlePath; } From f721f011bf12c8db5b37c47abc89fb4420cb632f Mon Sep 17 00:00:00 2001 From: Robert Date: Mon, 6 Dec 2021 09:43:07 +0000 Subject: [PATCH 6/7] Add call to dotnet restore --- .github/workflows/__debug-artifacts.yml | 2 ++ .github/workflows/__go-custom-queries.yml | 2 ++ .github/workflows/__multi-language-autodetect.yml | 2 ++ .github/workflows/__packaging-config-inputs-js.yml | 2 ++ .github/workflows/__packaging-config-js.yml | 2 ++ .github/workflows/__packaging-inputs-js.yml | 2 ++ .github/workflows/__remote-config.yml | 2 ++ .github/workflows/__split-workflow.yml | 2 ++ .github/workflows/__test-local-codeql.yml | 2 ++ .github/workflows/__unset-environment.yml | 2 ++ .github/workflows/pr-checks.yml | 9 +++++++++ pr-checks/checks/debug-artifacts.yml | 2 ++ pr-checks/checks/go-custom-queries.yml | 2 ++ pr-checks/checks/multi-language-autodetect.yml | 2 ++ pr-checks/checks/packaging-config-inputs-js.yml | 2 ++ pr-checks/checks/packaging-config-js.yml | 2 ++ pr-checks/checks/packaging-inputs-js.yml | 2 ++ pr-checks/checks/remote-config.yml | 2 ++ pr-checks/checks/split-workflow.yml | 2 ++ pr-checks/checks/test-local-codeql.yml | 2 ++ pr-checks/checks/unset-environment.yml | 2 ++ 21 files changed, 49 insertions(+) diff --git a/.github/workflows/__debug-artifacts.yml b/.github/workflows/__debug-artifacts.yml index 313f10f2c..fe873d251 100644 --- a/.github/workflows/__debug-artifacts.yml +++ b/.github/workflows/__debug-artifacts.yml @@ -41,6 +41,8 @@ jobs: uses: ./.github/prepare-test with: version: ${{ matrix.version }} + - name: Initialize dotnet + run: dotnet restore - uses: ./../action/init with: tools: ${{ steps.prepare-test.outputs.tools-url }} diff --git a/.github/workflows/__go-custom-queries.yml b/.github/workflows/__go-custom-queries.yml index 2e71b5cff..5f700d23b 100644 --- a/.github/workflows/__go-custom-queries.yml +++ b/.github/workflows/__go-custom-queries.yml @@ -44,6 +44,8 @@ jobs: uses: ./.github/prepare-test with: version: ${{ matrix.version }} + - name: Initialize dotnet + run: dotnet restore - uses: actions/setup-go@v2 with: go-version: ^1.13.1 diff --git a/.github/workflows/__multi-language-autodetect.yml b/.github/workflows/__multi-language-autodetect.yml index d7b43c477..4e0b064f0 100644 --- a/.github/workflows/__multi-language-autodetect.yml +++ b/.github/workflows/__multi-language-autodetect.yml @@ -41,6 +41,8 @@ jobs: uses: ./.github/prepare-test with: version: ${{ matrix.version }} + - name: Initialize dotnet + run: dotnet restore - uses: ./../action/init with: db-location: ${{ runner.temp }}/customDbLocation diff --git a/.github/workflows/__packaging-config-inputs-js.yml b/.github/workflows/__packaging-config-inputs-js.yml index 824a0041b..7bd08c291 100644 --- a/.github/workflows/__packaging-config-inputs-js.yml +++ b/.github/workflows/__packaging-config-inputs-js.yml @@ -35,6 +35,8 @@ jobs: uses: ./.github/prepare-test with: version: ${{ matrix.version }} + - name: Initialize dotnet + run: dotnet restore - uses: ./../action/init with: config-file: .github/codeql/codeql-config-packaging3.yml diff --git a/.github/workflows/__packaging-config-js.yml b/.github/workflows/__packaging-config-js.yml index 0a2ece98a..759a08e8d 100644 --- a/.github/workflows/__packaging-config-js.yml +++ b/.github/workflows/__packaging-config-js.yml @@ -35,6 +35,8 @@ jobs: uses: ./.github/prepare-test with: version: ${{ matrix.version }} + - name: Initialize dotnet + run: dotnet restore - uses: ./../action/init with: config-file: .github/codeql/codeql-config-packaging.yml diff --git a/.github/workflows/__packaging-inputs-js.yml b/.github/workflows/__packaging-inputs-js.yml index 686d6f32f..08e724a28 100644 --- a/.github/workflows/__packaging-inputs-js.yml +++ b/.github/workflows/__packaging-inputs-js.yml @@ -35,6 +35,8 @@ jobs: uses: ./.github/prepare-test with: version: ${{ matrix.version }} + - name: Initialize dotnet + run: dotnet restore - uses: ./../action/init with: config-file: .github/codeql/codeql-config-packaging2.yml diff --git a/.github/workflows/__remote-config.yml b/.github/workflows/__remote-config.yml index de01cd994..84aa3c81d 100644 --- a/.github/workflows/__remote-config.yml +++ b/.github/workflows/__remote-config.yml @@ -44,6 +44,8 @@ jobs: uses: ./.github/prepare-test with: version: ${{ matrix.version }} + - name: Initialize dotnet + run: dotnet restore - uses: ./../action/init with: tools: ${{ steps.prepare-test.outputs.tools-url }} diff --git a/.github/workflows/__split-workflow.yml b/.github/workflows/__split-workflow.yml index dc9d41116..3520aca93 100644 --- a/.github/workflows/__split-workflow.yml +++ b/.github/workflows/__split-workflow.yml @@ -35,6 +35,8 @@ jobs: uses: ./.github/prepare-test with: version: ${{ matrix.version }} + - name: Initialize dotnet + run: dotnet restore - uses: ./../action/init with: config-file: .github/codeql/codeql-config-packaging3.yml diff --git a/.github/workflows/__test-local-codeql.yml b/.github/workflows/__test-local-codeql.yml index c2e067cd5..6d9389064 100644 --- a/.github/workflows/__test-local-codeql.yml +++ b/.github/workflows/__test-local-codeql.yml @@ -35,6 +35,8 @@ jobs: uses: ./.github/prepare-test with: version: ${{ matrix.version }} + - name: Initialize dotnet + run: dotnet restore - name: Fetch a CodeQL bundle shell: bash env: diff --git a/.github/workflows/__unset-environment.yml b/.github/workflows/__unset-environment.yml index fbff545d5..0ca4cb25c 100644 --- a/.github/workflows/__unset-environment.yml +++ b/.github/workflows/__unset-environment.yml @@ -41,6 +41,8 @@ jobs: uses: ./.github/prepare-test with: version: ${{ matrix.version }} + - name: Initialize dotnet + run: dotnet restore - uses: ./../action/init with: db-location: ${{ runner.temp }}/customDbLocation diff --git a/.github/workflows/pr-checks.yml b/.github/workflows/pr-checks.yml index 704f9e31d..adf567f55 100644 --- a/.github/workflows/pr-checks.yml +++ b/.github/workflows/pr-checks.yml @@ -163,6 +163,9 @@ jobs: cd ../action/runner npm install npm run build-runner + + - name: Initialize dotnet + run: dotnet restore - name: Run init run: | @@ -200,6 +203,9 @@ jobs: cd ../action/runner npm install npm run build-runner + + - name: Initialize dotnet + run: dotnet restore - name: Run init run: | @@ -246,6 +252,9 @@ jobs: npm install npm run build-runner + - name: Initialize dotnet + run: dotnet restore + - name: Run init run: | ../action/runner/dist/codeql-runner-macos init --repository $GITHUB_REPOSITORY --languages csharp --github-url $GITHUB_SERVER_URL --github-auth ${{ github.token }} diff --git a/pr-checks/checks/debug-artifacts.yml b/pr-checks/checks/debug-artifacts.yml index fd852f38e..ee8ae8dd6 100644 --- a/pr-checks/checks/debug-artifacts.yml +++ b/pr-checks/checks/debug-artifacts.yml @@ -2,6 +2,8 @@ name: "Debug artifact upload" description: "Checks that debugging artifacts are correctly uploaded" os: ["ubuntu-latest", "macos-latest"] steps: + - name: Initialize dotnet + run: dotnet restore - uses: ./../action/init with: tools: ${{ steps.prepare-test.outputs.tools-url }} diff --git a/pr-checks/checks/go-custom-queries.yml b/pr-checks/checks/go-custom-queries.yml index c17b9348a..99a9351bb 100644 --- a/pr-checks/checks/go-custom-queries.yml +++ b/pr-checks/checks/go-custom-queries.yml @@ -1,6 +1,8 @@ name: "Go: Custom queries" description: "Checks that Go works in conjunction with a config file specifying custom queries" steps: + - name: Initialize dotnet + run: dotnet restore - uses: actions/setup-go@v2 with: go-version: "^1.13.1" diff --git a/pr-checks/checks/multi-language-autodetect.yml b/pr-checks/checks/multi-language-autodetect.yml index c9238b9b9..a6d3d1cfe 100644 --- a/pr-checks/checks/multi-language-autodetect.yml +++ b/pr-checks/checks/multi-language-autodetect.yml @@ -2,6 +2,8 @@ name: "Multi-language repository" description: "An end-to-end integration test of a multi-language repository using automatic language detection" os: ["ubuntu-latest", "macos-latest"] steps: + - name: Initialize dotnet + run: dotnet restore - uses: ./../action/init with: db-location: "${{ runner.temp }}/customDbLocation" diff --git a/pr-checks/checks/packaging-config-inputs-js.yml b/pr-checks/checks/packaging-config-inputs-js.yml index eb5a69337..abd84188b 100644 --- a/pr-checks/checks/packaging-config-inputs-js.yml +++ b/pr-checks/checks/packaging-config-inputs-js.yml @@ -3,6 +3,8 @@ description: "Checks that specifying packages using a combination of a config fi versions: ["nightly-20210831"] # This CLI version is known to work with package used in this test os: ["ubuntu-latest", "macos-latest"] steps: + - name: Initialize dotnet + run: dotnet restore - uses: ./../action/init with: config-file: ".github/codeql/codeql-config-packaging3.yml" diff --git a/pr-checks/checks/packaging-config-js.yml b/pr-checks/checks/packaging-config-js.yml index 6a8c5135c..4e6eaa5bb 100644 --- a/pr-checks/checks/packaging-config-js.yml +++ b/pr-checks/checks/packaging-config-js.yml @@ -3,6 +3,8 @@ description: "Checks that specifying packages using only a config file works" versions: ["nightly-20210831"] # This CLI version is known to work with package used in this test os: ["ubuntu-latest", "macos-latest"] steps: + - name: Initialize dotnet + run: dotnet restore - uses: ./../action/init with: config-file: ".github/codeql/codeql-config-packaging.yml" diff --git a/pr-checks/checks/packaging-inputs-js.yml b/pr-checks/checks/packaging-inputs-js.yml index 34368581e..85b7741ec 100644 --- a/pr-checks/checks/packaging-inputs-js.yml +++ b/pr-checks/checks/packaging-inputs-js.yml @@ -3,6 +3,8 @@ description: "Checks that specifying packages using the input to the Action work versions: ["nightly-20210831"] # This CLI version is known to work with package used in this test os: ["ubuntu-latest", "macos-latest"] steps: + - name: Initialize dotnet + run: dotnet restore - uses: ./../action/init with: config-file: ".github/codeql/codeql-config-packaging2.yml" diff --git a/pr-checks/checks/remote-config.yml b/pr-checks/checks/remote-config.yml index 8ad8fa073..4b0078db1 100644 --- a/pr-checks/checks/remote-config.yml +++ b/pr-checks/checks/remote-config.yml @@ -1,6 +1,8 @@ name: "Remote config file" description: "Checks that specifying packages using only a config file works" steps: + - name: Initialize dotnet + run: dotnet restore - uses: ./../action/init with: tools: ${{ steps.prepare-test.outputs.tools-url }} diff --git a/pr-checks/checks/split-workflow.yml b/pr-checks/checks/split-workflow.yml index 97d233c33..7921621e9 100644 --- a/pr-checks/checks/split-workflow.yml +++ b/pr-checks/checks/split-workflow.yml @@ -3,6 +3,8 @@ description: "Tests a split-up workflow in which we first build a database and l versions: ["nightly-20210831"] # This CLI version is known to work with package used in this test os: ["ubuntu-latest", "macos-latest"] steps: + - name: Initialize dotnet + run: dotnet restore - uses: ./../action/init with: config-file: ".github/codeql/codeql-config-packaging3.yml" diff --git a/pr-checks/checks/test-local-codeql.yml b/pr-checks/checks/test-local-codeql.yml index 99394b5c6..90b910e99 100644 --- a/pr-checks/checks/test-local-codeql.yml +++ b/pr-checks/checks/test-local-codeql.yml @@ -3,6 +3,8 @@ description: "Tests using a CodeQL bundle from a local file rather than a URL" versions: ["nightly-latest"] os: ["ubuntu-latest"] steps: + - name: Initialize dotnet + run: dotnet restore - name: Fetch a CodeQL bundle shell: bash env: diff --git a/pr-checks/checks/unset-environment.yml b/pr-checks/checks/unset-environment.yml index 3a8abd48f..588befb2d 100644 --- a/pr-checks/checks/unset-environment.yml +++ b/pr-checks/checks/unset-environment.yml @@ -2,6 +2,8 @@ name: "Test unsetting environment variables" description: "An end-to-end integration test that unsets some environment variables" os: ["ubuntu-latest"] steps: + - name: Initialize dotnet + run: dotnet restore - uses: ./../action/init with: db-location: "${{ runner.temp }}/customDbLocation" From d1dde03d7a510977b9b2178ddd5cf7a45bd16e0f Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Mon, 6 Dec 2021 14:42:24 +0000 Subject: [PATCH 7/7] 1.0.25 --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7e1292918..71bf14e5d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,6 @@ # CodeQL Action and CodeQL Runner Changelog -## [UNRELEASED] +## 1.0.25 - 06 Dec 2021 No user facing changes.