Turns missing pr in workflow_run into warning. (#5) master
authorJarek Potiuk <jarek@potiuk.com>
Sun, 1 Nov 2020 10:44:43 +0000 (11:44 +0100)
committerGitHub <noreply@github.com>
Sun, 1 Nov 2020 10:44:43 +0000 (11:44 +0100)
* Turns missing pr in workflow_run into warning.

Sometimes (quite often really) when PR gets approved, the PR
gets merged rather quickly, without waiting for result of this
action. Or a new PR gets pushed quickly. In those cases PR will
not be found. But this is usually not a problem then and rather
than failing, we should simply print a warning and exit.

* fixup! Turns missing pr in workflow_run into warning.

Co-authored-by: Tobiasz Kędzierski <tobiasz.kedzierski@polidea.com>
dist/index.js
src/main.ts

index 8e040f7474f54c8f59214c471e8d19a598cc66a6..081b94d75853f10b08d79d8119d9f6350b119212 100644 (file)
@@ -1625,9 +1625,14 @@ function run() {
         }
         else if (eventName === 'workflow_run') {
             if (pullRequestNumberInput === 'not set') {
-                throw Error(`If action is triggered by "workflow_run" then input "pullRequestNumber" is required.`);
+                core.warning(`If action is triggered by "workflow_run" then input "pullRequestNumber" is required.\n` +
+                    `It might be missing because the pull request might have been already merged or a fixup pushed to` +
+                    `the PR branch. None of the outputs will be set as we cannot find the right PR.`);
+                return;
+            }
+            else {
+                pullRequestNumber = parseInt(pullRequestNumberInput);
             }
-            pullRequestNumber = parseInt(pullRequestNumberInput);
         }
         else {
             throw Error(`This action is only useful in "pull_request_review" or "workflow_run" triggered runs and you used it in "${eventName}"`);
index f7b61d6de82fcc859225303e592f247ae33867da..d9d012c51a67fda7ee7a09e721a3f0ea6763b549 100644 (file)
@@ -211,11 +211,15 @@ async function run(): Promise<void> {
     }
   } else if (eventName === 'workflow_run') {
     if (pullRequestNumberInput === 'not set') {
-      throw Error(
-        `If action is triggered by "workflow_run" then input "pullRequestNumber" is required.`
+      core.warning(
+        `If action is triggered by "workflow_run" then input "pullRequestNumber" is required.\n` +
+          `It might be missing because the pull request might have been already merged or a fixup pushed to` +
+          `the PR branch. None of the outputs will be set as we cannot find the right PR.`
       )
+      return
+    } else {
+      pullRequestNumber = parseInt(pullRequestNumberInput)
     }
-    pullRequestNumber = parseInt(pullRequestNumberInput)
   } else {
     throw Error(
       `This action is only useful in "pull_request_review" or "workflow_run" triggered runs and you used it in "${eventName}"`