Browse Source

chore: add option to return next version from prepare-release (#14212)

* chore: add option to return next version from prepare-release

* shuffle logic
Shelley Vohr 6 years ago
parent
commit
8f5923f9bf
1 changed files with 20 additions and 18 deletions
  1. 20 18
      script/prepare-release.js

+ 20 - 18
script/prepare-release.js

@@ -31,7 +31,9 @@ const gitDir = path.resolve(__dirname, '..')
 github.authenticate({type: 'token', token: process.env.ELECTRON_GITHUB_TOKEN})
 
 async function getNewVersion (dryRun) {
-  console.log(`Bumping for new "${versionType}" version.`)
+  if (!dryRun) {
+    console.log(`Bumping for new "${versionType}" version.`)
+  }
   let bumpScript = path.join(__dirname, 'bump-version.py')
   let scriptArgs = [bumpScript, '--bump', versionType]
   if (args.stable) {
@@ -261,25 +263,25 @@ async function prepareRelease (isBeta, notesOnly) {
     console.log(`${fail} Automatic release is only supported for beta and nightly releases`)
     process.exit(1)
   }
-  let currentBranch
-  if (args.branch) {
-    currentBranch = args.branch
-  } else {
-    currentBranch = await getCurrentBranch(gitDir)
-  }
-  if (notesOnly) {
-    let releaseNotes = await getReleaseNotes(currentBranch)
-    console.log(`Draft release notes are: \n${releaseNotes}`)
+  if (args.dryRun) {
+    let newVersion = await getNewVersion(true)
+    console.log(newVersion)
   } else {
-    const changes = await changesToRelease(currentBranch)
-    if (changes) {
-      await verifyNewVersion()
-      await createRelease(currentBranch, isBeta)
-      await pushRelease(currentBranch)
-      await runReleaseBuilds(currentBranch)
+    const currentBranch = (args.branch) ? args.branch : await getCurrentBranch(gitDir)
+    if (notesOnly) {
+      let releaseNotes = await getReleaseNotes(currentBranch)
+      console.log(`Draft release notes are: \n${releaseNotes}`)
     } else {
-      console.log(`There are no new changes to this branch since the last release, aborting release.`)
-      process.exit(1)
+      const changes = await changesToRelease(currentBranch)
+      if (changes) {
+        await verifyNewVersion()
+        await createRelease(currentBranch, isBeta)
+        await pushRelease(currentBranch)
+        await runReleaseBuilds(currentBranch)
+      } else {
+        console.log(`There are no new changes to this branch since the last release, aborting release.`)
+        process.exit(1)
+      }
     }
   }
 }