Using the feature flag mechanism for checking if uploads are enabled was too clunky. I'm moving the change to checking versions directly.
50 lines
1.7 KiB
TypeScript
50 lines
1.7 KiB
TypeScript
/**
|
|
* This file is the entry point for the `post:` hook of `analyze-action.yml`.
|
|
* It will run after the all steps in this job, in reverse order in relation to
|
|
* other `post:` hooks.
|
|
*/
|
|
import * as core from "@actions/core";
|
|
|
|
import * as actionsUtil from "./actions-util";
|
|
import { getGitHubVersion } from "./api-client";
|
|
import { getCodeQL } from "./codeql";
|
|
import { getConfig } from "./config-utils";
|
|
import * as debugArtifacts from "./debug-artifacts";
|
|
import { EnvVar } from "./environment";
|
|
import { getActionsLogger, withGroup } from "./logging";
|
|
import { checkGitHubVersionInRange, getErrorMessage } from "./util";
|
|
|
|
async function runWrapper() {
|
|
try {
|
|
actionsUtil.restoreInputs();
|
|
const logger = getActionsLogger();
|
|
const gitHubVersion = await getGitHubVersion();
|
|
checkGitHubVersionInRange(gitHubVersion, logger);
|
|
|
|
// Upload SARIF artifacts if we determine that this is a first-party analysis run.
|
|
// For third-party runs, this artifact will be uploaded in the `upload-sarif-post` step.
|
|
if (process.env[EnvVar.INIT_ACTION_HAS_RUN] === "true") {
|
|
const config = await getConfig(
|
|
actionsUtil.getTemporaryDirectory(),
|
|
logger,
|
|
);
|
|
if (config !== undefined) {
|
|
const codeql = await getCodeQL(config.codeQLCmd);
|
|
const version = await codeql.getVersion();
|
|
await withGroup("Uploading combined SARIF debug artifact", () =>
|
|
debugArtifacts.uploadCombinedSarifArtifacts(
|
|
logger,
|
|
config.gitHubVersion.type,
|
|
version.version,
|
|
),
|
|
);
|
|
}
|
|
}
|
|
} catch (error) {
|
|
core.setFailed(
|
|
`analyze post-action step failed: ${getErrorMessage(error)}`,
|
|
);
|
|
}
|
|
}
|
|
|
|
void runWrapper();
|