Skip to content
9 changes: 6 additions & 3 deletions lib/analyze-action.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

11 changes: 7 additions & 4 deletions lib/init-action-post.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

9 changes: 6 additions & 3 deletions lib/upload-lib.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

15 changes: 10 additions & 5 deletions lib/upload-sarif-action.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions src/environment.ts
Original file line number Diff line number Diff line change
Expand Up @@ -128,4 +128,10 @@ export enum EnvVar {
* whether the upload is disabled. This is intended for testing and debugging purposes.
*/
SARIF_DUMP_DIR = "CODEQL_ACTION_SARIF_DUMP_DIR",

/**
* Whether to skip uploading SARIF results to GitHub. Intended for testing purposes.
* This setting is implied by but is more specific than `CODEQL_ACTION_TEST_MODE`.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Did you intend to revert this?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nope 😅

*/
SKIP_SARIF_UPLOAD = "CODEQL_ACTION_SKIP_SARIF_UPLOAD",
}
4 changes: 2 additions & 2 deletions src/init-action-post-helper.ts
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,8 @@ import {
delay,
getErrorMessage,
getRequiredEnvParam,
isInTestMode,
parseMatrixInput,
shouldSkipSarifUpload,
wrapError,
} from "./util";
import {
Expand Down Expand Up @@ -81,7 +81,7 @@ async function maybeUploadFailedSarif(
!["always", "failure-only"].includes(
actionsUtil.getUploadValue(shouldUpload),
) ||
isInTestMode()
shouldSkipSarifUpload()
) {
return { upload_failed_run_skipped_because: "SARIF upload is disabled" };
}
Expand Down
7 changes: 3 additions & 4 deletions src/upload-lib.ts
Original file line number Diff line number Diff line change
Expand Up @@ -356,18 +356,17 @@ async function uploadPayload(
): Promise<string> {
logger.info("Uploading results");

// If in test mode we don't want to upload the results
if (util.isInTestMode()) {
if (util.shouldSkipSarifUpload()) {
const payloadSaveFile = path.join(
actionsUtil.getTemporaryDirectory(),
"payload.json",
);
logger.info(
`In test mode. Results are not uploaded. Saving to ${payloadSaveFile}`,
`SARIF upload disabled via environment variable. Saving to ${payloadSaveFile}`,
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Minor:

Suggested change
`SARIF upload disabled via environment variable. Saving to ${payloadSaveFile}`,
`SARIF upload disabled by an environment variable. Saving to ${payloadSaveFile}`,

);
logger.info(`Payload: ${JSON.stringify(payload, null, 2)}`);
fs.writeFileSync(payloadSaveFile, JSON.stringify(payload, null, 2));
return "test-mode-sarif-id";
return "dummy-sarif-id";
}

const client = api.getApiClient();
Expand Down
8 changes: 5 additions & 3 deletions src/upload-sarif-action.ts
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ import {
checkDiskUsage,
getErrorMessage,
initializeEnvironment,
isInTestMode,
shouldSkipSarifUpload,
wrapError,
} from "./util";

Expand Down Expand Up @@ -113,8 +113,10 @@ async function run() {
core.setOutput("sarif-ids", JSON.stringify(uploadResults));

// We don't upload results in test mode, so don't wait for processing
if (isInTestMode()) {
core.debug("In test mode. Waiting for processing is disabled.");
if (shouldSkipSarifUpload()) {
core.debug(
"SARIF upload disabled via environment variable. Waiting for processing is disabled.",
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
"SARIF upload disabled via environment variable. Waiting for processing is disabled.",
"SARIF upload disabled by an environment variable. Waiting for processing is disabled.",

);
} else if (actionsUtil.getRequiredInput("wait-for-processing") === "true") {
if (codeScanningResult !== undefined) {
await upload_lib.waitForProcessing(
Expand Down
9 changes: 8 additions & 1 deletion src/util.ts
Original file line number Diff line number Diff line change
Expand Up @@ -764,12 +764,19 @@ export function isGoodVersion(versionSpec: string) {
/**
* Returns whether we are in test mode. This is used by CodeQL Action PR checks.
*
* In test mode, we don't upload SARIF results or status reports to the GitHub API.
* In test mode, we skip several uploads (SARIF results, status reports, DBs, ...).
*/
export function isInTestMode(): boolean {
return process.env[EnvVar.TEST_MODE] === "true";
}

/**
* Returns whether we specifically want to skip uploading SARIF files.
*/
export function shouldSkipSarifUpload(): boolean {
return isInTestMode() || process.env[EnvVar.SKIP_SARIF_UPLOAD] === "true";
}

/**
* Get the testing environment.
*
Expand Down
Loading