Determine zstd availability earlier on to simplify log

This commit is contained in:
Henry Mercer 2024-09-23 20:19:33 +01:00
parent db98c27941
commit a7a6a6951e
17 changed files with 115 additions and 47 deletions

13
lib/init-action.js generated
View file

@ -40,7 +40,6 @@ const logging_1 = require("./logging");
const repository_1 = require("./repository");
const setup_codeql_1 = require("./setup-codeql");
const status_report_1 = require("./status-report");
const tar_1 = require("./tar");
const tools_features_1 = require("./tools-features");
const trap_caching_1 = require("./trap-caching");
const util_1 = require("./util");
@ -136,6 +135,7 @@ async function run() {
let toolsFeatureFlagsValid;
let toolsSource;
let toolsVersion;
let zstdAvailability;
const apiDetails = {
auth: (0, actions_util_1.getRequiredInput)("token"),
externalRepoAuth: (0, actions_util_1.getOptionalInput)("external-repository-token"),
@ -164,6 +164,7 @@ async function run() {
toolsDownloadStatusReport = initCodeQLResult.toolsDownloadStatusReport;
toolsVersion = initCodeQLResult.toolsVersion;
toolsSource = initCodeQLResult.toolsSource;
zstdAvailability = initCodeQLResult.zstdAvailability;
core.startGroup("Validating workflow");
if ((await (0, workflow_1.validateWorkflow)(codeql, logger)) === undefined) {
logger.info("Detected no issues with the code scanning workflow.");
@ -209,7 +210,9 @@ async function run() {
}
try {
(0, init_1.cleanupDatabaseClusterDirectory)(config, logger);
await logZstdAvailability(config, logger);
if (zstdAvailability) {
await recordZstdAvailability(config, zstdAvailability);
}
// Log CodeQL download telemetry, if appropriate
if (toolsDownloadStatusReport) {
(0, diagnostics_1.addDiagnostic)(config,
@ -392,14 +395,12 @@ function getTrapCachingEnabled() {
// On hosted runners, enable TRAP caching by default
return true;
}
async function logZstdAvailability(config, logger) {
// Log zstd availability
const zstdAvailableResult = await (0, tar_1.isZstdAvailable)(logger);
async function recordZstdAvailability(config, zstdAvailability) {
(0, diagnostics_1.addDiagnostic)(config,
// Arbitrarily choose the first language. We could also choose all languages, but that
// increases the risk of misinterpreting the data.
config.languages[0], (0, diagnostics_1.makeDiagnostic)("codeql-action/zstd-availability", "Zstandard availability", {
attributes: zstdAvailableResult,
attributes: zstdAvailability,
visibility: {
cliSummaryTable: false,
statusPage: false,