Browse Source

build: fix beta version bumper logic for betas beyond 10 (#22810)

Samuel Attard 5 years ago
parent
commit
e678794dd0
2 changed files with 13 additions and 1 deletions
  1. 5 1
      script/release/version-utils.js
  2. 8 0
      spec-main/version-bump-spec.ts

+ 5 - 1
script/release/version-utils.js

@@ -44,7 +44,11 @@ async function nextBeta (v) {
 
   const tagBlob = await GitProcess.exec(['tag', '--list', '-l', `v${next}-beta.*`], ELECTRON_DIR);
   const tags = tagBlob.stdout.split('\n').filter(e => e !== '');
-  tags.sort((t1, t2) => semver.gt(t1, t2));
+  tags.sort((t1, t2) => {
+    const a = parseInt(t1.split('.').pop(), 10);
+    const b = parseInt(t2.split('.').pop(), 10);
+    return a - b;
+  });
 
   // increment the latest existing beta tag or start at beta.1 if it's a new beta line
   return tags.length === 0 ? `${next}-beta.1` : semver.inc(tags.pop(), 'prerelease');

+ 8 - 0
spec-main/version-bump-spec.ts

@@ -95,6 +95,14 @@ describe('version-bumper', () => {
       expect(next).to.equal('2.0.0-beta.9');
     });
 
+    it('bumps to beta from beta if the previous beta is at least beta.10', async () => {
+      const version = 'v6.0.0-beta.10';
+      const next = await nextVersion('beta', version);
+      // Last 6.0.0 beta we did was beta.15
+      // So we expect a beta.16 here
+      expect(next).to.equal('6.0.0-beta.16');
+    });
+
     it('bumps to stable from beta', async () => {
       const version = 'v2.0.0-beta.1';
       const next = await nextVersion('stable', version);