Account for versioning of ghe.com
This commit is contained in:
parent
760583e70d
commit
3ca2260643
8 changed files with 32 additions and 4 deletions
File diff suppressed because one or more lines are too long
4
lib/util.js
generated
4
lib/util.js
generated
|
|
@ -260,6 +260,7 @@ var GitHubVariant;
|
|||
GitHubVariant[GitHubVariant["DOTCOM"] = 0] = "DOTCOM";
|
||||
GitHubVariant[GitHubVariant["GHES"] = 1] = "GHES";
|
||||
GitHubVariant[GitHubVariant["GHAE"] = 2] = "GHAE";
|
||||
GitHubVariant[GitHubVariant["GHE_DOTCOM"] = 3] = "GHE_DOTCOM";
|
||||
})(GitHubVariant = exports.GitHubVariant || (exports.GitHubVariant = {}));
|
||||
async function getGitHubVersion(apiDetails) {
|
||||
// We can avoid making an API request in the standard dotcom case
|
||||
|
|
@ -278,6 +279,9 @@ async function getGitHubVersion(apiDetails) {
|
|||
if (response.headers[GITHUB_ENTERPRISE_VERSION_HEADER] === "GitHub AE") {
|
||||
return { type: GitHubVariant.GHAE };
|
||||
}
|
||||
if (response.headers[GITHUB_ENTERPRISE_VERSION_HEADER] === "ghe.com") {
|
||||
return { type: GitHubVariant.GHE_DOTCOM };
|
||||
}
|
||||
const version = response.headers[GITHUB_ENTERPRISE_VERSION_HEADER];
|
||||
return { type: GitHubVariant.GHES, version };
|
||||
}
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
7
lib/util.test.js
generated
7
lib/util.test.js
generated
|
|
@ -182,6 +182,13 @@ function mockGetMetaVersionHeader(versionHeader) {
|
|||
apiURL: undefined,
|
||||
});
|
||||
t.deepEqual({ type: util.GitHubVariant.DOTCOM }, v3);
|
||||
mockGetMetaVersionHeader("ghe.com");
|
||||
const gheDotcom = await util.getGitHubVersion({
|
||||
auth: "",
|
||||
url: "https://foo.ghe.com",
|
||||
apiURL: undefined,
|
||||
});
|
||||
t.deepEqual({ type: util.GitHubVariant.GHE_DOTCOM }, gheDotcom);
|
||||
});
|
||||
const ML_POWERED_JS_STATUS_TESTS = [
|
||||
// If no packs are loaded, status is false.
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
|
|
@ -22,7 +22,10 @@ export type CodeQLDefaultVersionInfo =
|
|||
| {
|
||||
cliVersion: string;
|
||||
tagName: string;
|
||||
variant: util.GitHubVariant.GHAE | util.GitHubVariant.GHES;
|
||||
variant:
|
||||
| util.GitHubVariant.GHAE
|
||||
| util.GitHubVariant.GHES
|
||||
| util.GitHubVariant.GHE_DOTCOM;
|
||||
};
|
||||
|
||||
export interface FeatureEnablement {
|
||||
|
|
|
|||
|
|
@ -237,6 +237,14 @@ test("getGitHubVersion", async (t) => {
|
|||
apiURL: undefined,
|
||||
});
|
||||
t.deepEqual({ type: util.GitHubVariant.DOTCOM }, v3);
|
||||
|
||||
mockGetMetaVersionHeader("ghe.com");
|
||||
const gheDotcom = await util.getGitHubVersion({
|
||||
auth: "",
|
||||
url: "https://foo.ghe.com",
|
||||
apiURL: undefined,
|
||||
});
|
||||
t.deepEqual({ type: util.GitHubVariant.GHE_DOTCOM }, gheDotcom);
|
||||
});
|
||||
|
||||
const ML_POWERED_JS_STATUS_TESTS: Array<[string[], string]> = [
|
||||
|
|
|
|||
|
|
@ -305,10 +305,12 @@ export enum GitHubVariant {
|
|||
DOTCOM,
|
||||
GHES,
|
||||
GHAE,
|
||||
GHE_DOTCOM,
|
||||
}
|
||||
export type GitHubVersion =
|
||||
| { type: GitHubVariant.DOTCOM }
|
||||
| { type: GitHubVariant.GHAE }
|
||||
| { type: GitHubVariant.GHE_DOTCOM }
|
||||
| { type: GitHubVariant.GHES; version: string };
|
||||
|
||||
export async function getGitHubVersion(
|
||||
|
|
@ -334,6 +336,10 @@ export async function getGitHubVersion(
|
|||
return { type: GitHubVariant.GHAE };
|
||||
}
|
||||
|
||||
if (response.headers[GITHUB_ENTERPRISE_VERSION_HEADER] === "ghe.com") {
|
||||
return { type: GitHubVariant.GHE_DOTCOM };
|
||||
}
|
||||
|
||||
const version = response.headers[GITHUB_ENTERPRISE_VERSION_HEADER] as string;
|
||||
return { type: GitHubVariant.GHES, version };
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue