2022-04-20 00:39:40 +02:00
|
|
|
import { getLatestsSemVersionedTagFactory } from "./tools/octokit-addons/getLatestsSemVersionedTag";
|
|
|
|
import { Octokit } from "@octokit/rest";
|
|
|
|
import cliSelect from "cli-select";
|
2024-02-04 10:25:48 +01:00
|
|
|
import { lastKeycloakVersionWithAccountV1 } from "./constants";
|
2022-04-20 00:39:40 +02:00
|
|
|
|
|
|
|
export async function promptKeycloakVersion() {
|
|
|
|
const { getLatestsSemVersionedTag } = (() => {
|
|
|
|
const { octokit } = (() => {
|
|
|
|
const githubToken = process.env.GITHUB_TOKEN;
|
|
|
|
|
|
|
|
const octokit = new Octokit(githubToken === undefined ? undefined : { "auth": githubToken });
|
|
|
|
|
|
|
|
return { octokit };
|
|
|
|
})();
|
|
|
|
|
|
|
|
const { getLatestsSemVersionedTag } = getLatestsSemVersionedTagFactory({ octokit });
|
|
|
|
|
|
|
|
return { getLatestsSemVersionedTag };
|
|
|
|
})();
|
|
|
|
|
2023-09-03 01:38:38 +02:00
|
|
|
console.log("Select Keycloak version?");
|
2022-04-20 00:39:40 +02:00
|
|
|
|
2022-04-22 18:22:28 +02:00
|
|
|
const tags = [
|
|
|
|
...(await getLatestsSemVersionedTag({
|
|
|
|
"count": 10,
|
|
|
|
"owner": "keycloak",
|
2022-08-20 11:44:48 +07:00
|
|
|
"repo": "keycloak"
|
2022-04-22 18:22:28 +02:00
|
|
|
}).then(arr => arr.map(({ tag }) => tag))),
|
2024-02-04 10:25:48 +01:00
|
|
|
lastKeycloakVersionWithAccountV1,
|
2024-03-16 05:34:55 +01:00
|
|
|
"19.0.1",
|
2022-08-20 11:44:48 +07:00
|
|
|
"11.0.3"
|
2022-04-22 18:22:28 +02:00
|
|
|
];
|
2022-04-20 12:23:28 +02:00
|
|
|
|
|
|
|
if (process.env["GITHUB_ACTIONS"] === "true") {
|
|
|
|
return { "keycloakVersion": tags[0] };
|
|
|
|
}
|
|
|
|
|
2022-04-20 00:39:40 +02:00
|
|
|
const { value: keycloakVersion } = await cliSelect<string>({
|
2022-08-20 11:44:48 +07:00
|
|
|
"values": tags
|
2022-04-20 00:39:40 +02:00
|
|
|
}).catch(() => {
|
|
|
|
console.log("Aborting");
|
|
|
|
|
|
|
|
process.exit(-1);
|
|
|
|
});
|
|
|
|
|
|
|
|
console.log(keycloakVersion);
|
|
|
|
|
|
|
|
return { keycloakVersion };
|
|
|
|
}
|