Log Go env variable warning in init

This commit is contained in:
Angela P Wen
2022-11-07 13:03:21 -08:00
parent 643bfc578b
commit 0704246ff3
27 changed files with 81 additions and 109 deletions
+2 -2
View File
@@ -129,7 +129,7 @@ export async function createdDBForScannedLanguages(
for (const language of config.languages) {
if (
isScannedLanguage(language, logger) &&
isScannedLanguage(language) &&
!dbIsFinalized(config, language, logger)
) {
logger.startGroup(`Extracting ${language}`);
@@ -520,7 +520,7 @@ export async function runFinalize(
// step.
if (await util.codeQlVersionAbove(codeql, CODEQL_VERSION_NEW_TRACING)) {
// Delete variables as specified by the end-tracing script
await endTracingForCluster(config, logger);
await endTracingForCluster(config);
} else {
// Delete the tracer config env var to avoid tracing ourselves
delete process.env[sharedEnv.ODASA_TRACER_CONFIGURATION];
+1 -1
View File
@@ -12,7 +12,7 @@ export async function determineAutobuildLanguages(
// The languages are sorted in order specified by user or by lines of code if we got
// them from the GitHub API, so try to build the first language on the list.
const autobuildLanguages = config.languages.filter((l) =>
isTracedLanguage(l, logger)
isTracedLanguage(l)
);
if (!autobuildLanguages) {
+3 -6
View File
@@ -809,15 +809,12 @@ async function getCodeQLForCmd(
sourceRoot: string,
processName: string | undefined,
processLevel: number | undefined,
featureEnablement: FeatureEnablement,
logger: Logger
featureEnablement: FeatureEnablement
) {
const extraArgs = config.languages.map(
(language) => `--language=${language}`
);
if (
config.languages.filter((l) => isTracedLanguage(l, logger)).length > 0
) {
if (config.languages.filter((l) => isTracedLanguage(l)).length > 0) {
extraArgs.push("--begin-tracing");
extraArgs.push(...(await getTrapCachingExtractorConfigArgs(config)));
if (processName !== undefined) {
@@ -837,7 +834,7 @@ async function getCodeQLForCmd(
CODEQL_VERSION_LUA_TRACER_CONFIG
)) &&
config.languages.includes(Language.go) &&
isTracedLanguage(Language.go, logger) &&
isTracedLanguage(Language.go) &&
process.platform === "win32" &&
!(await util.codeQlVersionAbove(
this,
+5
View File
@@ -218,6 +218,11 @@ async function run() {
logger
);
if ("CODEQL_EXTRACTOR_GO_BUILD_TRACING" in process.env) {
logger.warning(
"Go build tracing is now enabled by default, so the CODEQL_EXTRACTOR_GO_BUILD_TRACING environment variable which was previously used to manually enable Go build tracing is now deprecated. We recommend that you remove this environment variable from your workflow."
);
}
if (config.languages.includes(Language.go)) {
core.exportVariable("CODEQL_EXTRACTOR_GO_BUILD_TRACING", "on");
}
+1 -1
View File
@@ -119,7 +119,7 @@ export async function runInit(
} catch (e) {
throw processError(e);
}
return await getCombinedTracerConfig(config, codeql, logger);
return await getCombinedTracerConfig(config, codeql);
}
/**
+16 -21
View File
@@ -6,7 +6,6 @@ import {
isTracedLanguage,
parseLanguage,
} from "./languages";
import { getRunnerLogger } from "./logging";
import { setupTests } from "./testing-utils";
setupTests(test);
@@ -33,29 +32,25 @@ test("parseLanguage", async (t) => {
});
test("isTracedLanguage", async (t) => {
const logger = getRunnerLogger(true);
t.true(isTracedLanguage(Language.cpp));
t.true(isTracedLanguage(Language.csharp));
t.true(isTracedLanguage(Language.go));
t.true(isTracedLanguage(Language.java));
t.true(isTracedLanguage(Language.swift));
t.true(isTracedLanguage(Language.cpp, logger));
t.true(isTracedLanguage(Language.csharp, logger));
t.true(isTracedLanguage(Language.go, logger));
t.true(isTracedLanguage(Language.java, logger));
t.true(isTracedLanguage(Language.swift, logger));
t.false(isTracedLanguage(Language.javascript, logger));
t.false(isTracedLanguage(Language.python, logger));
t.false(isTracedLanguage(Language.ruby, logger));
t.false(isTracedLanguage(Language.javascript));
t.false(isTracedLanguage(Language.python));
t.false(isTracedLanguage(Language.ruby));
});
test("isScannedLanguage", async (t) => {
const logger = getRunnerLogger(true);
t.false(isScannedLanguage(Language.cpp));
t.false(isScannedLanguage(Language.csharp));
t.false(isScannedLanguage(Language.go));
t.false(isScannedLanguage(Language.java));
t.false(isScannedLanguage(Language.swift));
t.false(isScannedLanguage(Language.cpp, logger));
t.false(isScannedLanguage(Language.csharp, logger));
t.false(isScannedLanguage(Language.go, logger));
t.false(isScannedLanguage(Language.java, logger));
t.false(isScannedLanguage(Language.swift, logger));
t.true(isScannedLanguage(Language.javascript, logger));
t.true(isScannedLanguage(Language.python, logger));
t.true(isScannedLanguage(Language.ruby, logger));
t.true(isScannedLanguage(Language.javascript));
t.true(isScannedLanguage(Language.python));
t.true(isScannedLanguage(Language.ruby));
});
+3 -11
View File
@@ -1,5 +1,3 @@
import { Logger } from "./logging";
// All the languages supported by CodeQL
export enum Language {
csharp = "csharp",
@@ -38,13 +36,7 @@ export function parseLanguage(language: string): Language | undefined {
return undefined;
}
export function isTracedLanguage(language: Language, logger: Logger): boolean {
if ("CODEQL_EXTRACTOR_GO_BUILD_TRACING" in process.env) {
logger.warning(
"Go build tracing is now enabled by default, so the CODEQL_EXTRACTOR_GO_BUILD_TRACING environment variable which was previously used to manually enable Go build tracing is now deprecated. We recommend that you remove this environment variable from your workflow."
);
}
export function isTracedLanguage(language: Language): boolean {
return [
Language.cpp,
Language.csharp,
@@ -54,6 +46,6 @@ export function isTracedLanguage(language: Language, logger: Logger): boolean {
].includes(language);
}
export function isScannedLanguage(language: Language, logger: Logger): boolean {
return !isTracedLanguage(language, logger);
export function isScannedLanguage(language: Language): boolean {
return !isTracedLanguage(language);
}
+2 -10
View File
@@ -6,7 +6,6 @@ import test from "ava";
import { setCodeQL } from "./codeql";
import * as configUtils from "./config-utils";
import { Language } from "./languages";
import { getRunnerLogger } from "./logging";
import { setupTests } from "./testing-utils";
import {
concatTracerConfigs,
@@ -330,10 +329,7 @@ test("getCombinedTracerConfig - return undefined when no languages are traced la
},
});
t.deepEqual(
await getCombinedTracerConfig(config, codeQL, getRunnerLogger(true)),
undefined
);
t.deepEqual(await getCombinedTracerConfig(config, codeQL), undefined);
});
});
@@ -363,11 +359,7 @@ test("getCombinedTracerConfig - valid spec file", async (t) => {
},
});
const result = await getCombinedTracerConfig(
config,
codeQL,
getRunnerLogger(true)
);
const result = await getCombinedTracerConfig(config, codeQL);
t.notDeepEqual(result, undefined);
const expectedEnv = {
+4 -9
View File
@@ -4,7 +4,6 @@ import * as path from "path";
import { CodeQL, CODEQL_VERSION_NEW_TRACING } from "./codeql";
import * as configUtils from "./config-utils";
import { Language, isTracedLanguage } from "./languages";
import { Logger } from "./logging";
import * as util from "./util";
import { codeQlVersionAbove } from "./util";
@@ -22,11 +21,10 @@ const CRITICAL_TRACER_VARS = new Set([
]);
export async function endTracingForCluster(
config: configUtils.Config,
logger: Logger
config: configUtils.Config
): Promise<void> {
// If there are no traced languages, we don't need to do anything.
if (!config.languages.some((l) => isTracedLanguage(l, logger))) return;
if (!config.languages.some((l) => isTracedLanguage(l))) return;
const envVariablesFile = path.resolve(
config.dbLocation,
@@ -225,13 +223,10 @@ export function concatTracerConfigs(
export async function getCombinedTracerConfig(
config: configUtils.Config,
codeql: CodeQL,
logger: Logger
codeql: CodeQL
): Promise<TracerConfig | undefined> {
// Abort if there are no traced languages as there's nothing to do
const tracedLanguages = config.languages.filter((l) =>
isTracedLanguage(l, logger)
);
const tracedLanguages = config.languages.filter((l) => isTracedLanguage(l));
if (tracedLanguages.length === 0) {
return undefined;
}