Skip to content
Snippets Groups Projects
Unverified Commit 6ae88524 authored by metabase-bot[bot]'s avatar metabase-bot[bot] Committed by GitHub
Browse files

Fix milestone name in release script (#40169) (#40170)


* Fix milestone name for gold version

* Reuse getMilestoneName

* Add more tests

Co-authored-by: default avatarKamil Mielnik <kamil@kamilmielnik.com>
parent cc46ef25
Branches
Tags
No related merge requests found
/* eslint-disable no-console */
import type { Issue, ReleaseProps } from "./types";
import {
getOSSVersion,
isLatestVersion,
getMilestoneName,
getNextVersions,
isLatestVersion,
isValidVersionString,
} from "./version-helpers";
import type { ReleaseProps, Issue } from "./types";
const getMilestones = async ({
github,
owner,
repo,
}: Omit<ReleaseProps, 'version'>) => {
}: Omit<ReleaseProps, "version">) => {
const milestones = await github.rest.issues.listMilestones({
owner,
repo,
......@@ -29,12 +28,7 @@ export const findMilestone = async ({
repo,
}: ReleaseProps) => {
const milestones = await getMilestones({ github, owner, repo });
// our milestones don't have the v prefix or a .0 suffix
const expectedMilestoneName = getOSSVersion(version)
.replace(/^v/, "")
.replace(/-rc\d+$/i, "") // RC versions use the major version milestone
.replace(/\.0$/, '');
const expectedMilestoneName = getMilestoneName(version);
return milestones.find(
(milestone: { title: string; number: number }) =>
......@@ -69,8 +63,8 @@ export const openNextMilestones = async ({
repo,
version,
}: ReleaseProps) => {
const nextMilestones = getNextVersions(version).map(version =>
getOSSVersion(version).replace(/^v/, ""),
const nextMilestones = getNextVersions(version).map(versionString =>
getMilestoneName(versionString),
);
await Promise.all(
......
......@@ -171,3 +171,11 @@ export const getNextVersions = (versionString: string): string[] => {
return [];
};
// our milestones don't have the v prefix or a .0 suffix
export const getMilestoneName = (version: string) => {
return getOSSVersion(version)
.replace(/^v/, "")
.replace(/-rc\d+$/i, "") // RC versions use the major version milestone
.replace(/\.0$/, "");
};
......@@ -9,6 +9,7 @@ import {
isLatestVersion,
getBuildRequirements,
getNextVersions,
getMilestoneName,
} from "./version-helpers";
describe("version-helpers", () => {
......@@ -394,3 +395,16 @@ describe("version-helpers", () => {
});
});
});
describe("getMilestoneName", () => {
it.each([
["v0.50.0", "0.50"],
["v1.50.0", "0.50"],
["v1.50.0-rc1", "0.50"],
["v1.50.0-RC1", "0.50"],
["v0.50.1", "0.50.1"],
["v1.50.1", "0.50.1"],
])("%s -> %s", (input, expected) => {
expect(getMilestoneName(input)).toBe(expected);
});
});
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment