diff --git a/lib/init-action-post-helper.js b/lib/init-action-post-helper.js index 99d5030e53..4872a9e759 100644 --- a/lib/init-action-post-helper.js +++ b/lib/init-action-post-helper.js @@ -73,7 +73,7 @@ async function run(uploadDatabaseBundleDebugArtifact, uploadLogsDebugArtifact, p throw new Error("Expected to upload a SARIF file for the failed run, but encountered " + `the following error: ${e}`); } - logger.warning(`Failed to upload a SARIF file for the failed run. Error: ${e}`); + logger.info(`Failed to upload a SARIF file for the failed run. Error: ${e}`); } } else if (expectFailedSarifUpload) { diff --git a/lib/init-action-post-helper.js.map b/lib/init-action-post-helper.js.map index 815ec513e1..7c771eb345 100644 --- a/lib/init-action-post-helper.js.map +++ b/lib/init-action-post-helper.js.map @@ -1 +1 @@ -{"version":3,"file":"init-action-post-helper.js","sourceRoot":"","sources":["../src/init-action-post-helper.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"init-action-post-helper.js","sourceRoot":"","sources":["../src/init-action-post-helper.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/lib/init-action-post-helper.test.js b/lib/init-action-post-helper.test.js index 613c5cf2d3..93f03a8831 100644 --- a/lib/init-action-post-helper.test.js +++ b/lib/init-action-post-helper.test.js @@ -38,6 +38,7 @@ const workflow = __importStar(require("./workflow")); (0, testing_utils_1.setupTests)(ava_1.default); (0, ava_1.default)("post: init action with debug mode off", async (t) => { return await util.withTmpDir(async (tmpDir) => { + process.env["GITHUB_REPOSITORY"] = "github/codeql-action-fake-repository"; process.env["RUNNER_TEMP"] = tmpDir; const gitHubVersion = { type: util.GitHubVariant.DOTCOM, @@ -59,6 +60,7 @@ const workflow = __importStar(require("./workflow")); }); (0, ava_1.default)("post: init action with debug mode on", async (t) => { return await util.withTmpDir(async (tmpDir) => { + process.env["GITHUB_REPOSITORY"] = "github/codeql-action-fake-repository"; process.env["RUNNER_TEMP"] = tmpDir; const gitHubVersion = { type: util.GitHubVariant.DOTCOM, @@ -79,21 +81,39 @@ const workflow = __importStar(require("./workflow")); }); }); (0, ava_1.default)("uploads failed SARIF run for typical workflow", async (t) => { - const config = { - codeQLCmd: "codeql", - debugMode: true, - languages: [], - packs: [], - }; - const messages = []; - process.env["GITHUB_JOB"] = "analyze"; - process.env["GITHUB_WORKSPACE"] = - "/home/runner/work/codeql-action/codeql-action"; - sinon.stub(actionsUtil, "getRequiredInput").withArgs("matrix").returns("{}"); - const codeqlObject = await codeql.getCodeQLForTesting(); - sinon.stub(codeql, "getCodeQL").resolves(codeqlObject); - const diagnosticsExportStub = sinon.stub(codeqlObject, "diagnosticsExport"); - sinon.stub(workflow, "getWorkflow").resolves({ + const actionsWorkflow = createTestWorkflow([ + { + name: "Checkout repository", + uses: "actions/checkout@v3", + }, + { + name: "Initialize CodeQL", + uses: "github/codeql-action/init@v2", + with: { + languages: "javascript", + }, + }, + { + name: "Perform CodeQL Analysis", + uses: "github/codeql-action/analyze@v2", + with: { + category: "my-category", + }, + }, + ]); + await testFailedSarifUpload(t, actionsWorkflow, { category: "my-category" }); +}); +(0, ava_1.default)("uploading failed SARIF run fails when workflow does not reference github/codeql-action", async (t) => { + const actionsWorkflow = createTestWorkflow([ + { + name: "Checkout repository", + uses: "actions/checkout@v3", + }, + ]); + await t.throwsAsync(async () => await testFailedSarifUpload(t, actionsWorkflow)); +}); +function createTestWorkflow(steps) { + return { name: "CodeQL", on: { push: { @@ -107,38 +127,37 @@ const workflow = __importStar(require("./workflow")); analyze: { name: "CodeQL Analysis", "runs-on": "ubuntu-latest", - steps: [ - { - name: "Checkout repository", - uses: "actions/checkout@v3", - }, - { - name: "Initialize CodeQL", - uses: "github/codeql-action/init@v2", - with: { - languages: "javascript", - }, - }, - { - name: "Perform CodeQL Analysis", - uses: "github/codeql-action/analyze@v2", - with: { - category: "my-category", - }, - }, - ], + steps, }, }, - }); + }; +} +async function testFailedSarifUpload(t, actionsWorkflow, { category } = {}) { + const config = { + codeQLCmd: "codeql", + debugMode: true, + languages: [], + packs: [], + }; + const messages = []; + process.env["GITHUB_JOB"] = "analyze"; + process.env["GITHUB_REPOSITORY"] = "github/codeql-action-fake-repository"; + process.env["GITHUB_WORKSPACE"] = + "/home/runner/work/codeql-action/codeql-action"; + sinon.stub(actionsUtil, "getRequiredInput").withArgs("matrix").returns("{}"); + const codeqlObject = await codeql.getCodeQLForTesting(); + sinon.stub(codeql, "getCodeQL").resolves(codeqlObject); + const diagnosticsExportStub = sinon.stub(codeqlObject, "diagnosticsExport"); + sinon.stub(workflow, "getWorkflow").resolves(actionsWorkflow); const uploadFromActions = sinon.stub(uploadLib, "uploadFromActions"); uploadFromActions.resolves({ sarifID: "42" }); const waitForProcessing = sinon.stub(uploadLib, "waitForProcessing"); await initActionPostHelper.uploadFailedSarif(config, (0, repository_1.parseRepositoryNwo)("github/codeql-action"), (0, testing_utils_1.createFeatures)([feature_flags_1.Feature.UploadFailedSarifEnabled]), (0, testing_utils_1.getRecordingLogger)(messages)); t.deepEqual(messages, []); - t.true(diagnosticsExportStub.calledOnceWith(sinon.match.string, "my-category")); - t.true(uploadFromActions.calledOnceWith(sinon.match.string, sinon.match.string, "my-category", sinon.match.any)); + t.true(diagnosticsExportStub.calledOnceWith(sinon.match.string, category), `Actual args were: ${diagnosticsExportStub.args}`); + t.true(uploadFromActions.calledOnceWith(sinon.match.string, sinon.match.string, category, sinon.match.any), `Actual args were: ${uploadFromActions.args}`); t.true(waitForProcessing.calledOnceWith(sinon.match.any, "42", sinon.match.any, { isUnsuccessfulExecution: true, })); -}); +} //# sourceMappingURL=init-action-post-helper.test.js.map \ No newline at end of file diff --git a/lib/init-action-post-helper.test.js.map b/lib/init-action-post-helper.test.js.map index 6a661ee88a..6b440ee4f6 100644 --- a/lib/init-action-post-helper.test.js.map +++ b/lib/init-action-post-helper.test.js.map @@ -1 +1 @@ -{"version":3,"file":"init-action-post-helper.test.js","sourceRoot":"","sources":["../src/init-action-post-helper.test.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"init-action-post-helper.test.js","sourceRoot":"","sources":["../src/init-action-post-helper.test.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/lib/workflow.js b/lib/workflow.js index 031551b84b..84630781d3 100644 --- a/lib/workflow.js +++ b/lib/workflow.js @@ -264,25 +264,23 @@ function getStepsCallingAction(job, actionName) { * determine that no such input is passed to the Action. */ function getInputOrThrow(workflow, jobName, actionName, inputName, matrixVars) { + var _a; + const preamble = `Could not get ${inputName} input to ${actionName} since`; if (!workflow.jobs) { - throw new Error(`Could not get ${inputName} input to ${actionName} since the workflow has no jobs.`); + throw new Error(`${preamble} the workflow has no jobs.`); } if (!workflow.jobs[jobName]) { - throw new Error(`Could not get ${inputName} input to ${actionName} since the workflow has no job named ${jobName}.`); + throw new Error(`${preamble} the workflow has no job named ${jobName}.`); } - const inputs = getStepsCallingAction(workflow.jobs[jobName], actionName) - .map((step) => { var _a; return (_a = step.with) === null || _a === void 0 ? void 0 : _a[inputName]; }) - .filter((input) => input !== undefined) - .map((input) => input); - if (inputs.length === 0) { - return undefined; + const stepsCallingAction = getStepsCallingAction(workflow.jobs[jobName], actionName); + if (stepsCallingAction.length === 0) { + throw new Error(`${preamble} the ${jobName} job does not call ${actionName}.`); } - if (!inputs.every((input) => input === inputs[0])) { - throw new Error(`Could not get ${inputName} input to ${actionName} since there were multiple steps calling ` + - `${actionName} with different values for ${inputName}.`); + else if (stepsCallingAction.length > 1) { + throw new Error(`${preamble} the ${jobName} job calls ${actionName} multiple times.`); } - let input = inputs[0]; - if (matrixVars !== undefined) { + let input = (_a = stepsCallingAction[0].with) === null || _a === void 0 ? void 0 : _a[inputName]; + if (input !== undefined && matrixVars !== undefined) { // Make a basic attempt to substitute matrix variables // First normalize by removing whitespace input = input.replace(/\${{\s+/, "${{").replace(/\s+}}/, "}}"); @@ -290,11 +288,24 @@ function getInputOrThrow(workflow, jobName, actionName, inputName, matrixVars) { input = input.replace(`\${{matrix.${key}}}`, value); } } - if (input.includes("${{")) { + if (input !== undefined && input.includes("${{")) { throw new Error(`Could not get ${inputName} input to ${actionName} since it contained an unrecognized dynamic value.`); } return input; } +/** + * Get the expected name of the analyze Action. + * + * This allows us to test workflow parsing functionality as a CodeQL Action PR check. + */ +function getAnalyzeActionName() { + if ((0, util_1.getRequiredEnvParam)("GITHUB_REPOSITORY") === "github/codeql-action") { + return "./analyze"; + } + else { + return "github/codeql-action/analyze"; + } +} /** * Makes a best effort attempt to retrieve the category input for the particular job, * given a set of matrix variables. @@ -305,7 +316,7 @@ function getInputOrThrow(workflow, jobName, actionName, inputName, matrixVars) { * @throws an error if the category input could not be determined */ function getCategoryInputOrThrow(workflow, jobName, matrixVars) { - return getInputOrThrow(workflow, jobName, "github/codeql-action/analyze", "category", matrixVars); + return getInputOrThrow(workflow, jobName, getAnalyzeActionName(), "category", matrixVars); } exports.getCategoryInputOrThrow = getCategoryInputOrThrow; /** @@ -318,7 +329,7 @@ exports.getCategoryInputOrThrow = getCategoryInputOrThrow; * @throws an error if the upload input could not be determined */ function getUploadInputOrThrow(workflow, jobName, matrixVars) { - return (getInputOrThrow(workflow, jobName, "github/codeql-action/analyze", "upload", matrixVars) || "true" // if unspecified, upload defaults to true + return (getInputOrThrow(workflow, jobName, getAnalyzeActionName(), "upload", matrixVars) || "true" // if unspecified, upload defaults to true ); } exports.getUploadInputOrThrow = getUploadInputOrThrow; @@ -332,7 +343,7 @@ exports.getUploadInputOrThrow = getUploadInputOrThrow; * @throws an error if the checkout_path input could not be determined */ function getCheckoutPathInputOrThrow(workflow, jobName, matrixVars) { - return (getInputOrThrow(workflow, jobName, "github/codeql-action/analyze", "checkout_path", matrixVars) || (0, util_1.getRequiredEnvParam)("GITHUB_WORKSPACE") // if unspecified, checkout_path defaults to ${{ github.workspace }} + return (getInputOrThrow(workflow, jobName, getAnalyzeActionName(), "checkout_path", matrixVars) || (0, util_1.getRequiredEnvParam)("GITHUB_WORKSPACE") // if unspecified, checkout_path defaults to ${{ github.workspace }} ); } exports.getCheckoutPathInputOrThrow = getCheckoutPathInputOrThrow; diff --git a/lib/workflow.js.map b/lib/workflow.js.map index 66ae36ec2b..188abbda5f 100644 --- a/lib/workflow.js.map +++ b/lib/workflow.js.map @@ -1 +1 @@ -{"version":3,"file":"workflow.js","sourceRoot":"","sources":["../src/workflow.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"workflow.js","sourceRoot":"","sources":["../src/workflow.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/lib/workflow.test.js b/lib/workflow.test.js index acf8ee1ef3..0fc5bae015 100644 --- a/lib/workflow.test.js +++ b/lib/workflow.test.js @@ -356,6 +356,7 @@ function errorCodes(actual, expected) { `)), [])); }); (0, ava_1.default)("getCategoryInputOrThrow returns category for simple workflow with category", (t) => { + process.env["GITHUB_REPOSITORY"] = "github/codeql-action-fake-repository"; t.is((0, workflow_1.getCategoryInputOrThrow)(yaml.load(` jobs: analysis: @@ -369,6 +370,7 @@ function errorCodes(actual, expected) { `), "analysis", {}), "some-category"); }); (0, ava_1.default)("getCategoryInputOrThrow returns undefined for simple workflow without category", (t) => { + process.env["GITHUB_REPOSITORY"] = "github/codeql-action-fake-repository"; t.is((0, workflow_1.getCategoryInputOrThrow)(yaml.load(` jobs: analysis: @@ -380,6 +382,7 @@ function errorCodes(actual, expected) { `), "analysis", {}), undefined); }); (0, ava_1.default)("getCategoryInputOrThrow returns category for workflow with multiple jobs", (t) => { + process.env["GITHUB_REPOSITORY"] = "github/codeql-action-fake-repository"; t.is((0, workflow_1.getCategoryInputOrThrow)(yaml.load(` jobs: foo: @@ -403,6 +406,7 @@ function errorCodes(actual, expected) { `), "bar", {}), "bar-category"); }); (0, ava_1.default)("getCategoryInputOrThrow finds category for workflow with language matrix", (t) => { + process.env["GITHUB_REPOSITORY"] = "github/codeql-action-fake-repository"; t.is((0, workflow_1.getCategoryInputOrThrow)(yaml.load(` jobs: analysis: @@ -421,6 +425,7 @@ function errorCodes(actual, expected) { `), "analysis", { language: "javascript" }), "/language:javascript"); }); (0, ava_1.default)("getCategoryInputOrThrow throws error for workflow with dynamic category", (t) => { + process.env["GITHUB_REPOSITORY"] = "github/codeql-action-fake-repository"; t.throws(() => (0, workflow_1.getCategoryInputOrThrow)(yaml.load(` jobs: analysis: @@ -435,7 +440,8 @@ function errorCodes(actual, expected) { "an unrecognized dynamic value.", }); }); -(0, ava_1.default)("getCategoryInputOrThrow throws error for workflow with multiple categories", (t) => { +(0, ava_1.default)("getCategoryInputOrThrow throws error for workflow with multiple calls to analyze", (t) => { + process.env["GITHUB_REPOSITORY"] = "github/codeql-action-fake-repository"; t.throws(() => (0, workflow_1.getCategoryInputOrThrow)(yaml.load(` jobs: analysis: @@ -450,8 +456,8 @@ function errorCodes(actual, expected) { with: category: another-category `), "analysis", {}), { - message: "Could not get category input to github/codeql-action/analyze since there were multiple steps " + - "calling github/codeql-action/analyze with different values for category.", + message: "Could not get category input to github/codeql-action/analyze since the analysis job " + + "calls github/codeql-action/analyze multiple times.", }); }); //# sourceMappingURL=workflow.test.js.map \ No newline at end of file diff --git a/lib/workflow.test.js.map b/lib/workflow.test.js.map index b228c9dfba..1bd19db573 100644 --- a/lib/workflow.test.js.map +++ b/lib/workflow.test.js.map @@ -1 +1 @@ -{"version":3,"file":"workflow.test.js","sourceRoot":"","sources":["../src/workflow.test.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"workflow.test.js","sourceRoot":"","sources":["../src/workflow.test.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/src/init-action-post-helper.test.ts b/src/init-action-post-helper.test.ts index dce7265d30..6d2d51d875 100644 --- a/src/init-action-post-helper.test.ts +++ b/src/init-action-post-helper.test.ts @@ -1,4 +1,4 @@ -import test from "ava"; +import test, { ExecutionContext } from "ava"; import * as sinon from "sinon"; import * as actionsUtil from "./actions-util"; @@ -21,6 +21,7 @@ setupTests(test); test("post: init action with debug mode off", async (t) => { return await util.withTmpDir(async (tmpDir) => { + process.env["GITHUB_REPOSITORY"] = "github/codeql-action-fake-repository"; process.env["RUNNER_TEMP"] = tmpDir; const gitHubVersion: util.GitHubVersion = { @@ -54,6 +55,7 @@ test("post: init action with debug mode off", async (t) => { test("post: init action with debug mode on", async (t) => { return await util.withTmpDir(async (tmpDir) => { + process.env["GITHUB_REPOSITORY"] = "github/codeql-action-fake-repository"; process.env["RUNNER_TEMP"] = tmpDir; const gitHubVersion: util.GitHubVersion = { @@ -86,23 +88,45 @@ test("post: init action with debug mode on", async (t) => { }); test("uploads failed SARIF run for typical workflow", async (t) => { - const config = { - codeQLCmd: "codeql", - debugMode: true, - languages: [], - packs: [], - } as unknown as configUtils.Config; - const messages = []; - process.env["GITHUB_JOB"] = "analyze"; - process.env["GITHUB_WORKSPACE"] = - "/home/runner/work/codeql-action/codeql-action"; - sinon.stub(actionsUtil, "getRequiredInput").withArgs("matrix").returns("{}"); + const actionsWorkflow = createTestWorkflow([ + { + name: "Checkout repository", + uses: "actions/checkout@v3", + }, + { + name: "Initialize CodeQL", + uses: "github/codeql-action/init@v2", + with: { + languages: "javascript", + }, + }, + { + name: "Perform CodeQL Analysis", + uses: "github/codeql-action/analyze@v2", + with: { + category: "my-category", + }, + }, + ]); + await testFailedSarifUpload(t, actionsWorkflow, { category: "my-category" }); +}); - const codeqlObject = await codeql.getCodeQLForTesting(); - sinon.stub(codeql, "getCodeQL").resolves(codeqlObject); - const diagnosticsExportStub = sinon.stub(codeqlObject, "diagnosticsExport"); +test("uploading failed SARIF run fails when workflow does not reference github/codeql-action", async (t) => { + const actionsWorkflow = createTestWorkflow([ + { + name: "Checkout repository", + uses: "actions/checkout@v3", + }, + ]); + await t.throwsAsync( + async () => await testFailedSarifUpload(t, actionsWorkflow) + ); +}); - sinon.stub(workflow, "getWorkflow").resolves({ +function createTestWorkflow( + steps: workflow.WorkflowJobStep[] +): workflow.Workflow { + return { name: "CodeQL", on: { push: { @@ -116,29 +140,35 @@ test("uploads failed SARIF run for typical workflow", async (t) => { analyze: { name: "CodeQL Analysis", "runs-on": "ubuntu-latest", - steps: [ - { - name: "Checkout repository", - uses: "actions/checkout@v3", - }, - { - name: "Initialize CodeQL", - uses: "github/codeql-action/init@v2", - with: { - languages: "javascript", - }, - }, - { - name: "Perform CodeQL Analysis", - uses: "github/codeql-action/analyze@v2", - with: { - category: "my-category", - }, - }, - ], + steps, }, }, - }); + }; +} + +async function testFailedSarifUpload( + t: ExecutionContext, + actionsWorkflow: workflow.Workflow, + { category }: { category?: string } = {} +): Promise { + const config = { + codeQLCmd: "codeql", + debugMode: true, + languages: [], + packs: [], + } as unknown as configUtils.Config; + const messages = []; + process.env["GITHUB_JOB"] = "analyze"; + process.env["GITHUB_REPOSITORY"] = "github/codeql-action-fake-repository"; + process.env["GITHUB_WORKSPACE"] = + "/home/runner/work/codeql-action/codeql-action"; + sinon.stub(actionsUtil, "getRequiredInput").withArgs("matrix").returns("{}"); + + const codeqlObject = await codeql.getCodeQLForTesting(); + sinon.stub(codeql, "getCodeQL").resolves(codeqlObject); + const diagnosticsExportStub = sinon.stub(codeqlObject, "diagnosticsExport"); + + sinon.stub(workflow, "getWorkflow").resolves(actionsWorkflow); const uploadFromActions = sinon.stub(uploadLib, "uploadFromActions"); uploadFromActions.resolves({ sarifID: "42" } as uploadLib.UploadResult); @@ -152,19 +182,21 @@ test("uploads failed SARIF run for typical workflow", async (t) => { ); t.deepEqual(messages, []); t.true( - diagnosticsExportStub.calledOnceWith(sinon.match.string, "my-category") + diagnosticsExportStub.calledOnceWith(sinon.match.string, category), + `Actual args were: ${diagnosticsExportStub.args}` ); t.true( uploadFromActions.calledOnceWith( sinon.match.string, sinon.match.string, - "my-category", + category, sinon.match.any - ) + ), + `Actual args were: ${uploadFromActions.args}` ); t.true( waitForProcessing.calledOnceWith(sinon.match.any, "42", sinon.match.any, { isUnsuccessfulExecution: true, }) ); -}); +} diff --git a/src/init-action-post-helper.ts b/src/init-action-post-helper.ts index 6f5f2a9daf..49e587ad1c 100644 --- a/src/init-action-post-helper.ts +++ b/src/init-action-post-helper.ts @@ -101,7 +101,7 @@ export async function run( `the following error: ${e}` ); } - logger.warning( + logger.info( `Failed to upload a SARIF file for the failed run. Error: ${e}` ); } diff --git a/src/workflow.test.ts b/src/workflow.test.ts index 4016c07c3b..97c17851b0 100644 --- a/src/workflow.test.ts +++ b/src/workflow.test.ts @@ -525,6 +525,7 @@ test("getWorkflowErrors() should not report an error if PRs are totally unconfig }); test("getCategoryInputOrThrow returns category for simple workflow with category", (t) => { + process.env["GITHUB_REPOSITORY"] = "github/codeql-action-fake-repository"; t.is( getCategoryInputOrThrow( yaml.load(` @@ -546,6 +547,7 @@ test("getCategoryInputOrThrow returns category for simple workflow with category }); test("getCategoryInputOrThrow returns undefined for simple workflow without category", (t) => { + process.env["GITHUB_REPOSITORY"] = "github/codeql-action-fake-repository"; t.is( getCategoryInputOrThrow( yaml.load(` @@ -565,6 +567,7 @@ test("getCategoryInputOrThrow returns undefined for simple workflow without cate }); test("getCategoryInputOrThrow returns category for workflow with multiple jobs", (t) => { + process.env["GITHUB_REPOSITORY"] = "github/codeql-action-fake-repository"; t.is( getCategoryInputOrThrow( yaml.load(` @@ -596,6 +599,7 @@ test("getCategoryInputOrThrow returns category for workflow with multiple jobs", }); test("getCategoryInputOrThrow finds category for workflow with language matrix", (t) => { + process.env["GITHUB_REPOSITORY"] = "github/codeql-action-fake-repository"; t.is( getCategoryInputOrThrow( yaml.load(` @@ -622,6 +626,7 @@ test("getCategoryInputOrThrow finds category for workflow with language matrix", }); test("getCategoryInputOrThrow throws error for workflow with dynamic category", (t) => { + process.env["GITHUB_REPOSITORY"] = "github/codeql-action-fake-repository"; t.throws( () => getCategoryInputOrThrow( @@ -646,7 +651,8 @@ test("getCategoryInputOrThrow throws error for workflow with dynamic category", ); }); -test("getCategoryInputOrThrow throws error for workflow with multiple categories", (t) => { +test("getCategoryInputOrThrow throws error for workflow with multiple calls to analyze", (t) => { + process.env["GITHUB_REPOSITORY"] = "github/codeql-action-fake-repository"; t.throws( () => getCategoryInputOrThrow( @@ -669,8 +675,8 @@ test("getCategoryInputOrThrow throws error for workflow with multiple categories ), { message: - "Could not get category input to github/codeql-action/analyze since there were multiple steps " + - "calling github/codeql-action/analyze with different values for category.", + "Could not get category input to github/codeql-action/analyze since the analysis job " + + "calls github/codeql-action/analyze multiple times.", } ); }); diff --git a/src/workflow.ts b/src/workflow.ts index 21090a46e3..a681d07bf5 100644 --- a/src/workflow.ts +++ b/src/workflow.ts @@ -7,7 +7,7 @@ import * as yaml from "js-yaml"; import * as api from "./api-client"; import { getRequiredEnvParam } from "./util"; -interface WorkflowJobStep { +export interface WorkflowJobStep { name?: string; run?: any; uses?: string; @@ -327,35 +327,32 @@ function getInputOrThrow( inputName: string, matrixVars: { [key: string]: string } | undefined ) { + const preamble = `Could not get ${inputName} input to ${actionName} since`; if (!workflow.jobs) { - throw new Error( - `Could not get ${inputName} input to ${actionName} since the workflow has no jobs.` - ); + throw new Error(`${preamble} the workflow has no jobs.`); } if (!workflow.jobs[jobName]) { - throw new Error( - `Could not get ${inputName} input to ${actionName} since the workflow has no job named ${jobName}.` - ); + throw new Error(`${preamble} the workflow has no job named ${jobName}.`); } - const inputs = getStepsCallingAction(workflow.jobs[jobName], actionName) - .map((step) => step.with?.[inputName]) - .filter((input) => input !== undefined) - .map((input) => input!); + const stepsCallingAction = getStepsCallingAction( + workflow.jobs[jobName], + actionName + ); - if (inputs.length === 0) { - return undefined; - } - if (!inputs.every((input) => input === inputs[0])) { + if (stepsCallingAction.length === 0) { + throw new Error( + `${preamble} the ${jobName} job does not call ${actionName}.` + ); + } else if (stepsCallingAction.length > 1) { throw new Error( - `Could not get ${inputName} input to ${actionName} since there were multiple steps calling ` + - `${actionName} with different values for ${inputName}.` + `${preamble} the ${jobName} job calls ${actionName} multiple times.` ); } - let input = inputs[0]; + let input = stepsCallingAction[0].with?.[inputName]; - if (matrixVars !== undefined) { + if (input !== undefined && matrixVars !== undefined) { // Make a basic attempt to substitute matrix variables // First normalize by removing whitespace input = input.replace(/\${{\s+/, "${{").replace(/\s+}}/, "}}"); @@ -363,8 +360,7 @@ function getInputOrThrow( input = input.replace(`\${{matrix.${key}}}`, value); } } - - if (input.includes("${{")) { + if (input !== undefined && input.includes("${{")) { throw new Error( `Could not get ${inputName} input to ${actionName} since it contained an unrecognized dynamic value.` ); @@ -372,6 +368,19 @@ function getInputOrThrow( return input; } +/** + * Get the expected name of the analyze Action. + * + * This allows us to test workflow parsing functionality as a CodeQL Action PR check. + */ +function getAnalyzeActionName() { + if (getRequiredEnvParam("GITHUB_REPOSITORY") === "github/codeql-action") { + return "./analyze"; + } else { + return "github/codeql-action/analyze"; + } +} + /** * Makes a best effort attempt to retrieve the category input for the particular job, * given a set of matrix variables. @@ -389,7 +398,7 @@ export function getCategoryInputOrThrow( return getInputOrThrow( workflow, jobName, - "github/codeql-action/analyze", + getAnalyzeActionName(), "category", matrixVars ); @@ -413,7 +422,7 @@ export function getUploadInputOrThrow( getInputOrThrow( workflow, jobName, - "github/codeql-action/analyze", + getAnalyzeActionName(), "upload", matrixVars ) || "true" // if unspecified, upload defaults to true @@ -438,7 +447,7 @@ export function getCheckoutPathInputOrThrow( getInputOrThrow( workflow, jobName, - "github/codeql-action/analyze", + getAnalyzeActionName(), "checkout_path", matrixVars ) || getRequiredEnvParam("GITHUB_WORKSPACE") // if unspecified, checkout_path defaults to ${{ github.workspace }}