]> git.ipfire.org Git - thirdparty/vuejs/core.git/commitdiff
workflow: bail release when skipping prompts + CI not passed yet
authorEvan You <evan@vuejs.org>
Tue, 6 Aug 2024 13:07:54 +0000 (21:07 +0800)
committerEvan You <evan@vuejs.org>
Tue, 6 Aug 2024 13:07:58 +0000 (21:07 +0800)
scripts/release.js

index 82ecf9f99004431a87be9aa4825dde2b81bab84f..9df761f2e38f67125f025245becc9d92845d2eca 100644 (file)
@@ -252,15 +252,23 @@ async function main() {
     let isCIPassed = await getCIResult()
     skipTests ||= isCIPassed
 
-    if (isCIPassed && !skipPrompts) {
-      /** @type {{ yes: boolean }} */
-      const { yes: promptSkipTests } = await prompt({
-        type: 'confirm',
-        name: 'yes',
-        message: `CI for this commit passed. Skip local tests?`,
-      })
-
-      skipTests = promptSkipTests
+    if (isCIPassed) {
+      if (!skipPrompts) {
+        /** @type {{ yes: boolean }} */
+        const { yes: promptSkipTests } = await prompt({
+          type: 'confirm',
+          name: 'yes',
+          message: `CI for this commit passed. Skip local tests?`,
+        })
+        skipTests = promptSkipTests
+      } else {
+        skipTests = true
+      }
+    } else if (skipPrompts) {
+      throw new Error(
+        'CI for the latest commit has not passed yet. ' +
+          'Only run the release workflow after the CI has passed.',
+      )
     }
   }