From a2761860d0261cd37c88dcf29b249747cfdd38ee Mon Sep 17 00:00:00 2001 From: Mateumiralles Date: Tue, 20 Feb 2024 18:07:48 +0100 Subject: [PATCH] Checking if proposed release is RC with semver --- package.json | 2 +- src/commands/githubActions/bumpUpstream/format.ts | 6 ++++-- test/commands/gaBumpUpstream/format.test.ts | 10 +++++++++- yarn.lock | 9 ++++++++- 4 files changed, 22 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index e57c046f..3d2ccb38 100644 --- a/package.json +++ b/package.json @@ -60,7 +60,7 @@ "prettier": "^2.1.2", "request": "^2.88.2", "rimraf": "^3.0.2", - "semver": "^5.6.0", + "semver": "^7.6.0", "source-map-support": "^0.5.19", "tar-fs": "^2.0.0", "timestring": "^5.0.1", diff --git a/src/commands/githubActions/bumpUpstream/format.ts b/src/commands/githubActions/bumpUpstream/format.ts index d24f9cca..b9486f4d 100644 --- a/src/commands/githubActions/bumpUpstream/format.ts +++ b/src/commands/githubActions/bumpUpstream/format.ts @@ -1,3 +1,5 @@ +import semver from "semver"; + export interface VersionToUpdate { repoSlug: string; newVersion: string; @@ -30,6 +32,6 @@ export function getUpstreamVersionTag( //Checking if the proposed realease is nightly or realeaseCandidate export function isUndesiredRealease(version: string): boolean { - const regexPattern = /-rc\.|-RC\.|nightly/; - return regexPattern.test(version); + if (semver.valid(version) && !semver.prerelease(version)) return false; + else return true; } diff --git a/test/commands/gaBumpUpstream/format.test.ts b/test/commands/gaBumpUpstream/format.test.ts index af921da6..f083ef98 100644 --- a/test/commands/gaBumpUpstream/format.test.ts +++ b/test/commands/gaBumpUpstream/format.test.ts @@ -71,6 +71,11 @@ describe("command / gaBumpUpstream / format", () => { newVersion: "v0.1.4-rc.0", currentVersion: "v0.1.2" }, + { + repoSlug: "ipfs/kubo", + newVersion: "v0.27.0-rc1", + currentVersion: "v0.1.2" + }, { repoSlug: "sigp/lighthouse", newVersion: "v0.1.4-RC.0", @@ -92,8 +97,11 @@ describe("command / gaBumpUpstream / format", () => { it("isRealeaseCandidate", () => { expect(isUndesiredRealease(versionsToUpdate[2].newVersion)).equal(true); }); - it("isNightlyRealease", () => { + it("isRealeaseCandidate", () => { expect(isUndesiredRealease(versionsToUpdate[3].newVersion)).equal(true); }); + it("isNightlyRealease", () => { + expect(isUndesiredRealease(versionsToUpdate[4].newVersion)).equal(true); + }); }); }); diff --git a/yarn.lock b/yarn.lock index ef16df5f..4ce488ae 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3394,7 +3394,7 @@ safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.2, safe-buffer@~5.2.0: resolved "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz" integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== -semver@^5.5.0, semver@^5.6.0: +semver@^5.5.0: version "5.7.1" resolved "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz" integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== @@ -3411,6 +3411,13 @@ semver@^7.5.0: dependencies: lru-cache "^6.0.0" +semver@^7.6.0: + version "7.6.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.0.tgz#1a46a4db4bffcccd97b743b5005c8325f23d4e2d" + integrity sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg== + dependencies: + lru-cache "^6.0.0" + serialize-javascript@6.0.0: version "6.0.0" resolved "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz"