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
+6 -6
View File
@@ -119256,7 +119256,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(
@@ -119458,17 +119458,17 @@ function getApiClient() {
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) {
@@ -120965,7 +120965,7 @@ async function uploadDebugArtifacts(logger, toUpload, rootDir, artifactName, ghV
}
}
async function getArtifactUploaderClient(logger, ghVariant) {
if (ghVariant === 1 /* GHES */) {
if (ghVariant === "GHES" /* GHES */) {
logger.info(
"Debug artifacts can be consumed with `actions/download-artifact@v3` because the `v4` version is not yet compatible on GHES."
);
+18 -15
View File
@@ -87417,7 +87417,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"
)) {
@@ -87793,17 +87793,17 @@ function getAuthorizationHeaderFor(logger, apiDetails, url2) {
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) {
@@ -88945,15 +88945,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
@@ -89042,7 +89042,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."
);
@@ -89095,6 +89095,9 @@ var GitHubFeatureFlags = class {
}
}
};
function supportsFeatureFlags(githubVariant) {
return githubVariant === "GitHub.com" /* DOTCOM */ || githubVariant === "GHEC-DR" /* GHE_DOTCOM */;
}
// src/diff-informed-analysis-utils.ts
async function getDiffInformedAnalysisBranches(codeql, features, logger) {
@@ -89102,7 +89105,7 @@ async function getDiffInformedAnalysisBranches(codeql, features, logger) {
return void 0;
}
const gitHubVersion = await getGitHubVersion();
if (gitHubVersion.type === 1 /* GHES */ && satisfiesGHESVersion(gitHubVersion.version, "<3.19", true)) {
if (gitHubVersion.type === "GHES" /* GHES */ && satisfiesGHESVersion(gitHubVersion.version, "<3.19", true)) {
return void 0;
}
const branches = getPullRequestBranches();
@@ -90134,7 +90137,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
@@ -91686,7 +91689,7 @@ async function cleanupAndUploadDatabases(repositoryNwo, codeql, config, apiDetai
logger.debug("In test mode. Skipping database upload.");
return;
}
if (config.gitHubVersion.type !== 0 /* DOTCOM */ && config.gitHubVersion.type !== 2 /* GHE_DOTCOM */) {
if (config.gitHubVersion.type !== "GitHub.com" /* DOTCOM */ && config.gitHubVersion.type !== "GHEC-DR" /* GHE_DOTCOM */) {
logger.debug("Not running against github.com or GHEC-DR. Skipping upload.");
return;
}
@@ -93140,7 +93143,7 @@ function areAllRunsUnique(sarifObjects) {
return true;
}
async function shouldShowCombineSarifFilesDeprecationWarning(sarifObjects, githubVersion) {
if (githubVersion.type === 1 /* GHES */ && satisfiesGHESVersion(githubVersion.version, "<3.14", true)) {
if (githubVersion.type === "GHES" /* GHES */ && satisfiesGHESVersion(githubVersion.version, "<3.14", true)) {
return false;
}
return !areAllRunsUnique(sarifObjects) && !process.env.CODEQL_MERGE_SARIF_DEPRECATION_WARNING;
@@ -93155,7 +93158,7 @@ async function throwIfCombineSarifFilesDisabled(sarifObjects, githubVersion) {
);
}
async function shouldDisableCombineSarifFiles(sarifObjects, githubVersion) {
if (githubVersion.type === 1 /* GHES */) {
if (githubVersion.type === "GHES" /* GHES */) {
if (satisfiesGHESVersion(githubVersion.version, "<3.18", true)) {
return false;
}
@@ -93170,7 +93173,7 @@ async function combineSarifFilesUsingCLI(sarifFiles, gitHubVersion, features, lo
const sarifObjects = sarifFiles.map((sarifFile) => {
return JSON.parse(fs15.readFileSync(sarifFile, "utf8"));
});
const deprecationWarningMessage = gitHubVersion.type === 1 /* GHES */ ? "and will be removed in GitHub Enterprise Server 3.18" : "and will be removed in July 2025";
const deprecationWarningMessage = gitHubVersion.type === "GHES" /* GHES */ ? "and will be removed in GitHub Enterprise Server 3.18" : "and will be removed in July 2025";
const deprecationMoreInformationMessage = "For more information, see https://github.blog/changelog/2024-05-06-code-scanning-will-stop-combining-runs-from-a-single-upload";
if (!areAllRunsProducedByCodeQL(sarifObjects)) {
await throwIfCombineSarifFilesDisabled(sarifObjects, gitHubVersion);
+13 -10
View File
@@ -83034,7 +83034,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(
@@ -83161,7 +83161,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"
)) {
@@ -83367,17 +83367,17 @@ function getApiClient() {
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) {
@@ -84264,15 +84264,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
@@ -84361,7 +84361,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."
);
@@ -84414,6 +84414,9 @@ var GitHubFeatureFlags = class {
}
}
};
function supportsFeatureFlags(githubVariant) {
return githubVariant === "GitHub.com" /* DOTCOM */ || githubVariant === "GHEC-DR" /* GHE_DOTCOM */;
}
// src/trap-caching.ts
var actionsCache2 = __toESM(require_cache3());
+17 -14
View File
@@ -122166,7 +122166,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(
@@ -122668,17 +122668,17 @@ function getAuthorizationHeaderFor(logger, apiDetails, url2) {
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) {
@@ -123705,15 +123705,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
@@ -123802,7 +123802,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."
);
@@ -123855,6 +123855,9 @@ var GitHubFeatureFlags = class {
}
}
};
function supportsFeatureFlags(githubVariant) {
return githubVariant === "GitHub.com" /* DOTCOM */ || githubVariant === "GHEC-DR" /* GHE_DOTCOM */;
}
// src/diff-informed-analysis-utils.ts
function getDiffRangesJsonFilePath() {
@@ -124630,7 +124633,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
@@ -125688,7 +125691,7 @@ async function uploadDebugArtifacts(logger, toUpload, rootDir, artifactName, ghV
}
}
async function getArtifactUploaderClient(logger, ghVariant) {
if (ghVariant === 1 /* GHES */) {
if (ghVariant === "GHES" /* GHES */) {
logger.info(
"Debug artifacts can be consumed with `actions/download-artifact@v3` because the `v4` version is not yet compatible on GHES."
);
@@ -127162,7 +127165,7 @@ function areAllRunsUnique(sarifObjects) {
return true;
}
async function shouldShowCombineSarifFilesDeprecationWarning(sarifObjects, githubVersion) {
if (githubVersion.type === 1 /* GHES */ && satisfiesGHESVersion(githubVersion.version, "<3.14", true)) {
if (githubVersion.type === "GHES" /* GHES */ && satisfiesGHESVersion(githubVersion.version, "<3.14", true)) {
return false;
}
return !areAllRunsUnique(sarifObjects) && !process.env.CODEQL_MERGE_SARIF_DEPRECATION_WARNING;
@@ -127177,7 +127180,7 @@ async function throwIfCombineSarifFilesDisabled(sarifObjects, githubVersion) {
);
}
async function shouldDisableCombineSarifFiles(sarifObjects, githubVersion) {
if (githubVersion.type === 1 /* GHES */) {
if (githubVersion.type === "GHES" /* GHES */) {
if (satisfiesGHESVersion(githubVersion.version, "<3.18", true)) {
return false;
}
@@ -127192,7 +127195,7 @@ async function combineSarifFilesUsingCLI(sarifFiles, gitHubVersion, features, lo
const sarifObjects = sarifFiles.map((sarifFile) => {
return JSON.parse(fs14.readFileSync(sarifFile, "utf8"));
});
const deprecationWarningMessage = gitHubVersion.type === 1 /* GHES */ ? "and will be removed in GitHub Enterprise Server 3.18" : "and will be removed in July 2025";
const deprecationWarningMessage = gitHubVersion.type === "GHES" /* GHES */ ? "and will be removed in GitHub Enterprise Server 3.18" : "and will be removed in July 2025";
const deprecationMoreInformationMessage = "For more information, see https://github.blog/changelog/2024-05-06-code-scanning-will-stop-combining-runs-from-a-single-upload";
if (!areAllRunsProducedByCodeQL(sarifObjects)) {
await throwIfCombineSarifFilesDisabled(sarifObjects, gitHubVersion);
+16 -13
View File
@@ -84534,7 +84534,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(
@@ -84738,7 +84738,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"
)) {
@@ -85118,17 +85118,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) {
@@ -85350,7 +85350,7 @@ var RepositoryPropertyName = /* @__PURE__ */ ((RepositoryPropertyName2) => {
return RepositoryPropertyName2;
})(RepositoryPropertyName || {});
async function loadPropertiesFromApi(gitHubVersion, logger, repositoryNwo) {
if (gitHubVersion.type === 1 /* GHES */) {
if (gitHubVersion.type === "GHES" /* GHES */) {
return {};
}
try {
@@ -86359,15 +86359,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
@@ -86456,7 +86456,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."
);
@@ -86509,6 +86509,9 @@ var GitHubFeatureFlags = class {
}
}
};
function supportsFeatureFlags(githubVariant) {
return githubVariant === "GitHub.com" /* DOTCOM */ || githubVariant === "GHEC-DR" /* GHE_DOTCOM */;
}
// src/diff-informed-analysis-utils.ts
async function shouldPerformDiffInformedAnalysis(codeql, features, logger) {
@@ -86519,7 +86522,7 @@ async function getDiffInformedAnalysisBranches(codeql, features, logger) {
return void 0;
}
const gitHubVersion = await getGitHubVersion();
if (gitHubVersion.type === 1 /* GHES */ && satisfiesGHESVersion(gitHubVersion.version, "<3.19", true)) {
if (gitHubVersion.type === "GHES" /* GHES */ && satisfiesGHESVersion(gitHubVersion.version, "<3.19", true)) {
return void 0;
}
const branches = getPullRequestBranches();
@@ -88382,7 +88385,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
+6 -6
View File
@@ -83034,7 +83034,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(
@@ -83173,7 +83173,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"
)) {
@@ -83375,17 +83375,17 @@ function getApiClient() {
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) {
+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
+6 -6
View File
@@ -119235,7 +119235,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(
@@ -119341,17 +119341,17 @@ function getApiClient() {
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) {
@@ -119848,7 +119848,7 @@ var glob = __toESM(require_glob3());
// src/debug-artifacts.ts
async function getArtifactUploaderClient(logger, ghVariant) {
if (ghVariant === 1 /* GHES */) {
if (ghVariant === "GHES" /* GHES */) {
logger.info(
"Debug artifacts can be consumed with `actions/download-artifact@v3` because the `v4` version is not yet compatible on GHES."
);
+8 -8
View File
@@ -86348,17 +86348,17 @@ function getAuthorizationHeaderFor(logger, apiDetails, url2) {
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) {
@@ -87977,7 +87977,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
@@ -90031,7 +90031,7 @@ function areAllRunsUnique(sarifObjects) {
return true;
}
async function shouldShowCombineSarifFilesDeprecationWarning(sarifObjects, githubVersion) {
if (githubVersion.type === 1 /* GHES */ && satisfiesGHESVersion(githubVersion.version, "<3.14", true)) {
if (githubVersion.type === "GHES" /* GHES */ && satisfiesGHESVersion(githubVersion.version, "<3.14", true)) {
return false;
}
return !areAllRunsUnique(sarifObjects) && !process.env.CODEQL_MERGE_SARIF_DEPRECATION_WARNING;
@@ -90046,7 +90046,7 @@ async function throwIfCombineSarifFilesDisabled(sarifObjects, githubVersion) {
);
}
async function shouldDisableCombineSarifFiles(sarifObjects, githubVersion) {
if (githubVersion.type === 1 /* GHES */) {
if (githubVersion.type === "GHES" /* GHES */) {
if (satisfiesGHESVersion(githubVersion.version, "<3.18", true)) {
return false;
}
@@ -90061,7 +90061,7 @@ async function combineSarifFilesUsingCLI(sarifFiles, gitHubVersion, features, lo
const sarifObjects = sarifFiles.map((sarifFile) => {
return JSON.parse(fs11.readFileSync(sarifFile, "utf8"));
});
const deprecationWarningMessage = gitHubVersion.type === 1 /* GHES */ ? "and will be removed in GitHub Enterprise Server 3.18" : "and will be removed in July 2025";
const deprecationWarningMessage = gitHubVersion.type === "GHES" /* GHES */ ? "and will be removed in GitHub Enterprise Server 3.18" : "and will be removed in July 2025";
const deprecationMoreInformationMessage = "For more information, see https://github.blog/changelog/2024-05-06-code-scanning-will-stop-combining-runs-from-a-single-upload";
if (!areAllRunsProducedByCodeQL(sarifObjects)) {
await throwIfCombineSarifFilesDisabled(sarifObjects, gitHubVersion);
+6 -6
View File
@@ -119235,7 +119235,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(
@@ -119345,17 +119345,17 @@ function getApiClient() {
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) {
@@ -119920,7 +119920,7 @@ async function uploadDebugArtifacts(logger, toUpload, rootDir, artifactName, ghV
}
}
async function getArtifactUploaderClient(logger, ghVariant) {
if (ghVariant === 1 /* GHES */) {
if (ghVariant === "GHES" /* GHES */) {
logger.info(
"Debug artifacts can be consumed with `actions/download-artifact@v3` because the `v4` version is not yet compatible on GHES."
);
+16 -13
View File
@@ -86069,7 +86069,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"
)) {
@@ -86394,17 +86394,17 @@ function getAuthorizationHeaderFor(logger, apiDetails, url2) {
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) {
@@ -87117,15 +87117,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
@@ -87214,7 +87214,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."
);
@@ -87267,6 +87267,9 @@ var GitHubFeatureFlags = class {
}
}
};
function supportsFeatureFlags(githubVariant) {
return githubVariant === "GitHub.com" /* DOTCOM */ || githubVariant === "GHEC-DR" /* GHE_DOTCOM */;
}
// src/status-report.ts
var os = __toESM(require("os"));
@@ -88495,7 +88498,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
@@ -90549,7 +90552,7 @@ function areAllRunsUnique(sarifObjects) {
return true;
}
async function shouldShowCombineSarifFilesDeprecationWarning(sarifObjects, githubVersion) {
if (githubVersion.type === 1 /* GHES */ && satisfiesGHESVersion(githubVersion.version, "<3.14", true)) {
if (githubVersion.type === "GHES" /* GHES */ && satisfiesGHESVersion(githubVersion.version, "<3.14", true)) {
return false;
}
return !areAllRunsUnique(sarifObjects) && !process.env.CODEQL_MERGE_SARIF_DEPRECATION_WARNING;
@@ -90564,7 +90567,7 @@ async function throwIfCombineSarifFilesDisabled(sarifObjects, githubVersion) {
);
}
async function shouldDisableCombineSarifFiles(sarifObjects, githubVersion) {
if (githubVersion.type === 1 /* GHES */) {
if (githubVersion.type === "GHES" /* GHES */) {
if (satisfiesGHESVersion(githubVersion.version, "<3.18", true)) {
return false;
}
@@ -90579,7 +90582,7 @@ async function combineSarifFilesUsingCLI(sarifFiles, gitHubVersion, features, lo
const sarifObjects = sarifFiles.map((sarifFile) => {
return JSON.parse(fs12.readFileSync(sarifFile, "utf8"));
});
const deprecationWarningMessage = gitHubVersion.type === 1 /* GHES */ ? "and will be removed in GitHub Enterprise Server 3.18" : "and will be removed in July 2025";
const deprecationWarningMessage = gitHubVersion.type === "GHES" /* GHES */ ? "and will be removed in GitHub Enterprise Server 3.18" : "and will be removed in July 2025";
const deprecationMoreInformationMessage = "For more information, see https://github.blog/changelog/2024-05-06-code-scanning-will-stop-combining-runs-from-a-single-upload";
if (!areAllRunsProducedByCodeQL(sarifObjects)) {
await throwIfCombineSarifFilesDisabled(sarifObjects, gitHubVersion);