Merge pull request #1597 from github/rneatherway/ghe-dotcom
Account for versioning of ghe.com
This commit is contained in:
commit
aefd9896b1
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["DOTCOM"] = 0] = "DOTCOM";
|
||||||
GitHubVariant[GitHubVariant["GHES"] = 1] = "GHES";
|
GitHubVariant[GitHubVariant["GHES"] = 1] = "GHES";
|
||||||
GitHubVariant[GitHubVariant["GHAE"] = 2] = "GHAE";
|
GitHubVariant[GitHubVariant["GHAE"] = 2] = "GHAE";
|
||||||
|
GitHubVariant[GitHubVariant["GHE_DOTCOM"] = 3] = "GHE_DOTCOM";
|
||||||
})(GitHubVariant = exports.GitHubVariant || (exports.GitHubVariant = {}));
|
})(GitHubVariant = exports.GitHubVariant || (exports.GitHubVariant = {}));
|
||||||
async function getGitHubVersion(apiDetails) {
|
async function getGitHubVersion(apiDetails) {
|
||||||
// We can avoid making an API request in the standard dotcom case
|
// 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") {
|
if (response.headers[GITHUB_ENTERPRISE_VERSION_HEADER] === "GitHub AE") {
|
||||||
return { type: GitHubVariant.GHAE };
|
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];
|
const version = response.headers[GITHUB_ENTERPRISE_VERSION_HEADER];
|
||||||
return { type: GitHubVariant.GHES, version };
|
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,
|
apiURL: undefined,
|
||||||
});
|
});
|
||||||
t.deepEqual({ type: util.GitHubVariant.DOTCOM }, v3);
|
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 = [
|
const ML_POWERED_JS_STATUS_TESTS = [
|
||||||
// If no packs are loaded, status is false.
|
// 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;
|
cliVersion: string;
|
||||||
tagName: string;
|
tagName: string;
|
||||||
variant: util.GitHubVariant.GHAE | util.GitHubVariant.GHES;
|
variant:
|
||||||
|
| util.GitHubVariant.GHAE
|
||||||
|
| util.GitHubVariant.GHES
|
||||||
|
| util.GitHubVariant.GHE_DOTCOM;
|
||||||
};
|
};
|
||||||
|
|
||||||
export interface FeatureEnablement {
|
export interface FeatureEnablement {
|
||||||
|
|
|
||||||
|
|
@ -237,6 +237,14 @@ test("getGitHubVersion", async (t) => {
|
||||||
apiURL: undefined,
|
apiURL: undefined,
|
||||||
});
|
});
|
||||||
t.deepEqual({ type: util.GitHubVariant.DOTCOM }, v3);
|
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]> = [
|
const ML_POWERED_JS_STATUS_TESTS: Array<[string[], string]> = [
|
||||||
|
|
|
||||||
|
|
@ -305,10 +305,12 @@ export enum GitHubVariant {
|
||||||
DOTCOM,
|
DOTCOM,
|
||||||
GHES,
|
GHES,
|
||||||
GHAE,
|
GHAE,
|
||||||
|
GHE_DOTCOM,
|
||||||
}
|
}
|
||||||
export type GitHubVersion =
|
export type GitHubVersion =
|
||||||
| { type: GitHubVariant.DOTCOM }
|
| { type: GitHubVariant.DOTCOM }
|
||||||
| { type: GitHubVariant.GHAE }
|
| { type: GitHubVariant.GHAE }
|
||||||
|
| { type: GitHubVariant.GHE_DOTCOM }
|
||||||
| { type: GitHubVariant.GHES; version: string };
|
| { type: GitHubVariant.GHES; version: string };
|
||||||
|
|
||||||
export async function getGitHubVersion(
|
export async function getGitHubVersion(
|
||||||
|
|
@ -334,6 +336,10 @@ export async function getGitHubVersion(
|
||||||
return { type: GitHubVariant.GHAE };
|
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;
|
const version = response.headers[GITHUB_ENTERPRISE_VERSION_HEADER] as string;
|
||||||
return { type: GitHubVariant.GHES, version };
|
return { type: GitHubVariant.GHES, version };
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue