Merge remote-tracking branch 'origin/main' into henrymercer/graduate-per-language-bundles

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
Henry Mercer
2026-10-22 11:43:17 +01:00
63 changed files with 1011 additions and 950 deletions

View File

@@ -14,7 +14,6 @@ import * as diagnostics from "./diagnostics";
import { ActionsEnvVars, Env, EnvVar, ReadOnlyEnv } from "./environment";
import { Feature } from "./feature-flags";
import { BuiltInLanguage } from "./languages";
import { getRunnerLogger } from "./logging";
import { getCacheRestoreKeyPrefix } from "./overlay/caching";
import { MIN_PER_LANGUAGE_BUNDLE_CLI_VERSION } from "./per-language-bundles";
import * as setupCodeql from "./setup-codeql";
@@ -22,6 +21,7 @@ import * as tar from "./tar";
import {
LINKED_CLI_VERSION,
LoggedMessage,
RecordingLogger,
SAMPLE_DEFAULT_CLI_VERSION,
SAMPLE_DOTCOM_API_DETAILS,
checkExpectedLogMessages,
@@ -117,7 +117,7 @@ test.serial("convert to semver", (t) => {
try {
const parsedVersion = setupCodeql.convertToSemVer(
version,
getRunnerLogger(true),
new RecordingLogger(),
);
t.deepEqual(parsedVersion, expectedVersion);
} catch (e) {
@@ -145,7 +145,7 @@ test.serial(
GitHubVariant.DOTCOM,
false,
features,
getRunnerLogger(true),
new RecordingLogger(),
);
t.deepEqual(source, {
@@ -231,7 +231,7 @@ for (const {
GitHubVariant.DOTCOM,
tarSupportsZstd,
features,
getRunnerLogger(true),
new RecordingLogger(),
);
t.is(source.toolsVersion, LINKED_CLI_VERSION.cliVersion);
@@ -597,7 +597,7 @@ test.serial(
undefined, // otherLanguagePacksReason
false, // useOverlayAwareDefaultCliVersion
createFeatures([]),
getRunnerLogger(true),
new RecordingLogger(),
);
t.is(result.toolsVersion, "local");
@@ -634,7 +634,7 @@ for (const toolsInput of ["nightly", "nightly-latest"]) {
GitHubVariant.DOTCOM,
true, // tarSupportsZstd
createFeatures([]),
getRunnerLogger(true),
new RecordingLogger(),
);
t.deepEqual(source, {
@@ -686,7 +686,7 @@ test.serial(
GitHubVariant.DOTCOM,
true, // tarSupportsZstd
createFeatures([]),
getRunnerLogger(true),
new RecordingLogger(),
);
t.is(source.sourceType, "download");
@@ -720,7 +720,7 @@ test.serial(
GitHubVariant.DOTCOM,
true, // tarSupportsZstd
createFeatures([Feature.ForceNightly]),
getRunnerLogger(true),
new RecordingLogger(),
);
t.is(source.sourceType, "download");
@@ -832,7 +832,7 @@ test.serial(
GitHubVariant.DOTCOM,
true,
createFeatures([]),
getRunnerLogger(true),
new RecordingLogger(),
),
{
message:
@@ -1004,7 +1004,7 @@ test.serial(
t.is(
setupCodeql.tryGetTagNameFromUrl(
"https://github.com/org/codeql-bundle-testing/releases/download/codeql-bundle-v2.19.0/codeql-bundle-linux64.tar.zst",
getRunnerLogger(true),
new RecordingLogger(),
),
"codeql-bundle-v2.19.0",
);
@@ -1016,7 +1016,7 @@ test.serial(
(t) => {
sinon.stub(toolcache, "findAllVersions").returns([]);
t.is(
setupCodeql.getLatestToolcacheVersion(getRunnerLogger(true)),
setupCodeql.getLatestToolcacheVersion(new RecordingLogger()),
undefined,
);
},
@@ -1028,7 +1028,7 @@ test.serial(
const testVersions = ["2.3.1", "3.2.1", "1.2.3"];
sinon.stub(toolcache, "findAllVersions").returns(testVersions);
t.is(setupCodeql.getLatestToolcacheVersion(getRunnerLogger(true)), "3.2.1");
t.is(setupCodeql.getLatestToolcacheVersion(new RecordingLogger()), "3.2.1");
},
);
@@ -1082,7 +1082,7 @@ test.serial(
GitHubVariant.DOTCOM,
false,
createFeatures([Feature.OverlayAnalysisMatchCodeqlVersion]),
getRunnerLogger(true),
new RecordingLogger(),
);
t.assert(listStub.calledOnce);
@@ -1121,7 +1121,7 @@ test.serial(
GitHubVariant.DOTCOM,
false,
createFeatures([Feature.OverlayAnalysisMatchCodeqlVersion]),
getRunnerLogger(true),
new RecordingLogger(),
);
t.assert(listStub.notCalled);
@@ -1159,7 +1159,7 @@ test.serial(
GitHubVariant.DOTCOM,
true, // tarSupportsZstd
createFeatures([]),
getRunnerLogger(true),
new RecordingLogger(),
);
t.is(source.sourceType, "download");
@@ -1213,7 +1213,7 @@ test.serial(
variant,
true, // tarSupportsZstd
createFeatures([]),
getRunnerLogger(true),
new RecordingLogger(),
);
t.is(source.sourceType, "download");
@@ -1283,7 +1283,7 @@ for (const fallback of [false, true]) {
undefined, // otherLanguagePacksReason
false, // useOverlayAwareDefaultCliVersion
createFeatures([]),
getRunnerLogger(true),
new RecordingLogger(),
);
t.true(fetchRelease.calledTwice);
@@ -1548,7 +1548,7 @@ for (const error of [
undefined, // otherLanguagePacksReason
false, // useOverlayAwareDefaultCliVersion
createFeatures([]),
getRunnerLogger(true),
new RecordingLogger(),
),
{ is: error },
);
@@ -1584,7 +1584,7 @@ test.serial(
undefined, // otherLanguagePacksReason
false, // useOverlayAwareDefaultCliVersion
createFeatures([]),
getRunnerLogger(true),
new RecordingLogger(),
),
{ is: error },
);
@@ -1617,7 +1617,7 @@ test.serial(
overlayMatchEnabledVersions,
["javascript"],
createFeatures([Feature.OverlayAnalysisMatchCodeqlVersion]),
getRunnerLogger(true),
new RecordingLogger(),
);
t.deepEqual(result, [
{ cliVersion: "2.20.1", tagName: "codeql-bundle-v2.20.1" },
@@ -1640,7 +1640,7 @@ test.serial(
overlayMatchEnabledVersions,
["javascript"],
createFeatures([Feature.OverlayAnalysisMatchCodeqlVersion]),
getRunnerLogger(true),
new RecordingLogger(),
);
t.deepEqual(result, []);
},
@@ -1657,7 +1657,7 @@ const noLanguagesMacro = makeMacro({
overlayMatchEnabledVersions,
rawLanguages,
createFeatures([Feature.OverlayAnalysisMatchCodeqlVersion]),
getRunnerLogger(true),
new RecordingLogger(),
);
t.deepEqual(result, []);
t.assert(
@@ -1682,7 +1682,7 @@ test.serial(
overlayMatchEnabledVersions,
["javascript"],
createFeatures([Feature.OverlayAnalysisMatchCodeqlVersion]),
getRunnerLogger(true),
new RecordingLogger(),
);
t.deepEqual(result, []);
},
@@ -1702,7 +1702,7 @@ test.serial(
overlayMatchEnabledVersions,
["javascript"],
createFeatures([Feature.OverlayAnalysisMatchCodeqlVersion]),
getRunnerLogger(true),
new RecordingLogger(),
);
t.deepEqual(result, [
{ cliVersion: "2.20.2", tagName: "codeql-bundle-v2.20.2" },
@@ -1719,7 +1719,7 @@ test.serial(
overlayMatchEnabledVersions,
["javascript"],
createFeatures([]),
getRunnerLogger(true),
new RecordingLogger(),
);
t.deepEqual(result, []);
t.assert(
@@ -1743,7 +1743,7 @@ test.serial(
overlayMatchEnabledVersions,
["javascript"],
createFeatures([Feature.OverlayAnalysisMatchCodeqlVersionDryRun]),
getRunnerLogger(true),
new RecordingLogger(),
);
t.deepEqual(
result,
@@ -1774,7 +1774,7 @@ test.serial(
Feature.OverlayAnalysisMatchCodeqlVersion,
Feature.OverlayAnalysisMatchCodeqlVersionDryRun,
]),
getRunnerLogger(true),
new RecordingLogger(),
);
t.deepEqual(result, [
{ cliVersion: "2.20.1", tagName: "codeql-bundle-v2.20.1" },
@@ -2080,7 +2080,7 @@ test.serial(
env: new ReadOnlyEnv({
[ActionsEnvVars.RUNNER_TOOL_CACHE]: injectedRoot,
}),
logger: getRunnerLogger(true),
logger: new RecordingLogger(),
});
t.deepEqual(result, {
@@ -2235,7 +2235,7 @@ test.serial(
undefined, // otherLanguagePacksReason
false, // useOverlayAwareDefaultCliVersion
createFeatures([]),
getRunnerLogger(true),
new RecordingLogger(),
);
t.is(
@@ -2275,7 +2275,7 @@ test.serial(
undefined, // otherLanguagePacksReason
false, // useOverlayAwareDefaultCliVersion
createFeatures([]),
getRunnerLogger(true),
new RecordingLogger(),
),
{ is: error },
);
@@ -2390,7 +2390,7 @@ test.serial(
"isToolcacheOnWorkspaceFilesystem assumes a different filesystem when it cannot tell",
async (t) => {
await withTmpDir(async (tmpDir) => {
const logger = getRunnerLogger(true);
const logger = new RecordingLogger();
setupActionsVars(tmpDir, tmpDir);
t.true(toolsDownload.isToolcacheOnWorkspaceFilesystem(logger));