Merge branch 'main' into henrymercer/cli-deprecation-warning
This commit is contained in:
commit
5499d30c79
12 changed files with 86 additions and 20 deletions
|
|
@ -322,6 +322,11 @@ export const CODEQL_VERSION_INIT_WITH_QLCONFIG = "2.12.4";
|
|||
*/
|
||||
export const CODEQL_VERSION_RESOLVE_ENVIRONMENT = "2.13.4";
|
||||
|
||||
/**
|
||||
* Versions 2.13.4+ of the CodeQL CLI have an associated CodeQL Bundle release that is semantically versioned.
|
||||
*/
|
||||
export const CODEQL_VERSION_BUNDLE_SEMANTICALLY_VERSIONED = "2.13.4";
|
||||
|
||||
/**
|
||||
* Versions 2.14.0+ of the CodeQL CLI support new analysis summaries.
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -395,6 +395,25 @@ test("selects CLI v2.12.1 on Dotcom when feature flags enable v2.12.0 and v2.12.
|
|||
});
|
||||
});
|
||||
|
||||
test("includes tag name when feature flags enable version greater than v2.13.4", async (t) => {
|
||||
await withTmpDir(async (tmpDir) => {
|
||||
const features = setUpFeatureFlagTests(tmpDir);
|
||||
const expectedFeatureEnablement = initializeFeatures(true);
|
||||
expectedFeatureEnablement["default_codeql_version_2_20_0_enabled"] = true;
|
||||
mockFeatureFlagApiEndpoint(200, expectedFeatureEnablement);
|
||||
|
||||
const defaultCliVersion = await features.getDefaultCliVersion(
|
||||
GitHubVariant.DOTCOM
|
||||
);
|
||||
t.deepEqual(defaultCliVersion, {
|
||||
cliVersion: "2.20.0",
|
||||
tagName: "codeql-bundle-v2.20.0",
|
||||
toolsFeatureFlagsValid: true,
|
||||
variant: GitHubVariant.DOTCOM,
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
test(`selects CLI from defaults.json on Dotcom when no default version feature flags are enabled`, async (t) => {
|
||||
await withTmpDir(async (tmpDir) => {
|
||||
const features = setUpFeatureFlagTests(tmpDir);
|
||||
|
|
@ -406,6 +425,7 @@ test(`selects CLI from defaults.json on Dotcom when no default version feature f
|
|||
);
|
||||
t.deepEqual(defaultCliVersion, {
|
||||
cliVersion: defaults.cliVersion,
|
||||
tagName: defaults.bundleVersion,
|
||||
toolsFeatureFlagsValid: false,
|
||||
variant: GitHubVariant.DOTCOM,
|
||||
});
|
||||
|
|
|
|||
|
|
@ -4,7 +4,11 @@ import * as path from "path";
|
|||
import * as semver from "semver";
|
||||
|
||||
import { getApiClient } from "./api-client";
|
||||
import { CODEQL_VERSION_NEW_ANALYSIS_SUMMARY, CodeQL } from "./codeql";
|
||||
import {
|
||||
CODEQL_VERSION_BUNDLE_SEMANTICALLY_VERSIONED,
|
||||
CODEQL_VERSION_NEW_ANALYSIS_SUMMARY,
|
||||
CodeQL,
|
||||
} from "./codeql";
|
||||
import * as defaults from "./defaults.json";
|
||||
import { Logger } from "./logging";
|
||||
import { RepositoryNwo } from "./repository";
|
||||
|
|
@ -16,6 +20,7 @@ const DEFAULT_VERSION_FEATURE_FLAG_SUFFIX = "_enabled";
|
|||
export type CodeQLDefaultVersionInfo =
|
||||
| {
|
||||
cliVersion: string;
|
||||
tagName?: string;
|
||||
toolsFeatureFlagsValid?: boolean;
|
||||
variant: util.GitHubVariant.DOTCOM;
|
||||
}
|
||||
|
|
@ -256,14 +261,24 @@ class GitHubFeatureFlags {
|
|||
variant: util.GitHubVariant
|
||||
): Promise<CodeQLDefaultVersionInfo> {
|
||||
if (variant === util.GitHubVariant.DOTCOM) {
|
||||
const defaultDotComCliVersion = await this.getDefaultDotcomCliVersion();
|
||||
return {
|
||||
cliVersion: defaultDotComCliVersion.version,
|
||||
toolsFeatureFlagsValid: this.hasAccessedRemoteFeatureFlags
|
||||
? defaultDotComCliVersion.toolsFeatureFlagsValid
|
||||
: undefined,
|
||||
const defaultDotcomCliVersion = await this.getDefaultDotcomCliVersion();
|
||||
const cliVersion = defaultDotcomCliVersion.version;
|
||||
const result: CodeQLDefaultVersionInfo = {
|
||||
cliVersion,
|
||||
variant,
|
||||
};
|
||||
if (
|
||||
semver.gte(cliVersion, CODEQL_VERSION_BUNDLE_SEMANTICALLY_VERSIONED)
|
||||
) {
|
||||
result.tagName = `codeql-bundle-v${cliVersion}`;
|
||||
}
|
||||
|
||||
if (this.hasAccessedRemoteFeatureFlags) {
|
||||
result.toolsFeatureFlagsValid =
|
||||
defaultDotcomCliVersion.toolsFeatureFlagsValid;
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
return {
|
||||
cliVersion: defaults.cliVersion,
|
||||
|
|
|
|||
|
|
@ -411,7 +411,7 @@ export async function getCodeQLSource(
|
|||
} else {
|
||||
// Otherwise, use the default CLI version passed in.
|
||||
cliVersion = defaultCliVersion.cliVersion;
|
||||
tagName = defaultCliVersion["tagName"];
|
||||
tagName = defaultCliVersion.tagName;
|
||||
}
|
||||
|
||||
const bundleVersion =
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue