Determine CodeQL version from feature flags on GHEC-DR

This commit is contained in:
Henry Mercer
2025-12-10 17:19:12 +00:00
parent 52f930e50a
commit 7a55ffeaf1
16 changed files with 204 additions and 200 deletions
+14 -11
View File
@@ -83091,7 +83091,7 @@ function parseGitHubUrl(inputUrl) {
var CODEQL_ACTION_WARNED_ABOUT_VERSION_ENV_VAR = "CODEQL_ACTION_WARNED_ABOUT_VERSION";
var hasBeenWarnedAboutVersion = false;
function checkGitHubVersionInRange(version, logger) {
if (hasBeenWarnedAboutVersion || version.type !== 1 /* GHES */) {
if (hasBeenWarnedAboutVersion || version.type !== "GHES" /* GHES */) {
return;
}
const disallowedAPIVersionReason = apiVersionInRange(
@@ -83249,7 +83249,7 @@ async function checkDiskUsage(logger) {
function checkActionVersion(version, githubVersion) {
if (!semver.satisfies(version, ">=4") && // do not log error if the customer is already running v4
!process.env["CODEQL_ACTION_DID_LOG_VERSION_DEPRECATION" /* LOG_VERSION_DEPRECATION */]) {
if (githubVersion.type === 0 /* DOTCOM */ || githubVersion.type === 2 /* GHE_DOTCOM */ || githubVersion.type === 1 /* GHES */ && semver.satisfies(
if (githubVersion.type === "GitHub.com" /* DOTCOM */ || githubVersion.type === "GHEC-DR" /* GHE_DOTCOM */ || githubVersion.type === "GHES" /* GHES */ && semver.satisfies(
semver.coerce(githubVersion.version) ?? "0.0.0",
">=3.20"
)) {
@@ -83492,17 +83492,17 @@ function getAuthorizationHeaderFor(logger, apiDetails, url) {
var cachedGitHubVersion = void 0;
async function getGitHubVersionFromApi(apiClient, apiDetails) {
if (parseGitHubUrl(apiDetails.url) === GITHUB_DOTCOM_URL) {
return { type: 0 /* DOTCOM */ };
return { type: "GitHub.com" /* DOTCOM */ };
}
const response = await apiClient.rest.meta.get();
if (response.headers[GITHUB_ENTERPRISE_VERSION_HEADER] === void 0) {
return { type: 0 /* DOTCOM */ };
return { type: "GitHub.com" /* DOTCOM */ };
}
if (response.headers[GITHUB_ENTERPRISE_VERSION_HEADER] === "ghe.com") {
return { type: 2 /* GHE_DOTCOM */ };
return { type: "GHEC-DR" /* GHE_DOTCOM */ };
}
const version = response.headers[GITHUB_ENTERPRISE_VERSION_HEADER];
return { type: 1 /* GHES */, version };
return { type: "GHES" /* GHES */, version };
}
async function getGitHubVersion() {
if (cachedGitHubVersion === void 0) {
@@ -84167,15 +84167,15 @@ var GitHubFeatureFlags = class {
return version;
}
async getDefaultCliVersion(variant) {
if (variant === 0 /* DOTCOM */) {
return await this.getDefaultDotcomCliVersion();
if (supportsFeatureFlags(variant)) {
return await this.getDefaultCliVersionFromFlags();
}
return {
cliVersion,
tagName: bundleVersion
};
}
async getDefaultDotcomCliVersion() {
async getDefaultCliVersionFromFlags() {
const response = await this.getAllFeatures();
const enabledFeatureFlagCliVersions = Object.entries(response).map(
([f, isEnabled]) => isEnabled ? this.getCliVersionFromFeatureFlag(f) : void 0
@@ -84264,7 +84264,7 @@ var GitHubFeatureFlags = class {
}
}
async loadApiResponse() {
if (this.gitHubVersion.type !== 0 /* DOTCOM */ && this.gitHubVersion.type !== 2 /* GHE_DOTCOM */) {
if (!supportsFeatureFlags(this.gitHubVersion.type)) {
this.logger.debug(
"Not running against github.com. Disabling all toggleable features."
);
@@ -84317,6 +84317,9 @@ var GitHubFeatureFlags = class {
}
}
};
function supportsFeatureFlags(githubVariant) {
return githubVariant === "GitHub.com" /* DOTCOM */ || githubVariant === "GHEC-DR" /* GHE_DOTCOM */;
}
// src/init.ts
var toolrunner4 = __toESM(require_toolrunner());
@@ -85261,7 +85264,7 @@ async function getCodeQLSource(toolsInput, defaultCliVersion, apiDetails, varian
toolsVersion: cliVersion2 ?? humanReadableVersion
};
}
if (variant !== 0 /* DOTCOM */ && !forceShippedTools && !toolsInput) {
if (variant === "GHES" /* GHES */ && !forceShippedTools && !toolsInput) {
const result = await findOverridingToolsInCache(
humanReadableVersion,
logger