about summary refs log tree commit diff
diff options
context:
space:
mode:
authorbjorn3 <17426603+bjorn3@users.noreply.github.com>2023-03-25 14:46:58 +0000
committerbjorn3 <17426603+bjorn3@users.noreply.github.com>2023-03-25 16:24:15 +0000
commitaab1526164f56f3543eb7569836eb75e9ca86379 (patch)
tree9857b04332603ca5e1a75bdbffd11399e748b03b
parentcc570ae05c2ce6fc5d890953344394f65d102f93 (diff)
downloadrust-aab1526164f56f3543eb7569836eb75e9ca86379.tar.gz
rust-aab1526164f56f3543eb7569836eb75e9ca86379.zip
Recreate the release every time
To ensure people who watch the repo for release notifications actually get a
notification.
-rw-r--r--.github/actions/github-release/main.js36
1 files changed, 17 insertions, 19 deletions
diff --git a/.github/actions/github-release/main.js b/.github/actions/github-release/main.js
index 5f756aed3ee..6fcfca34ea7 100644
--- a/.github/actions/github-release/main.js
+++ b/.github/actions/github-release/main.js
@@ -83,30 +83,28 @@ async function runOnce() {
     }
   }
 
-  // Try to load the release for this tag, and if it doesn't exist then make a
-  // new one. We might race with other builders on creation, though, so if the
-  // creation fails try again to get the release by the tag.
-  let release = null;
+  // Delete a previous release
   try {
     core.info(`fetching release`);
-    release = await octokit.rest.repos.getReleaseByTag({ owner, repo, tag: name });
+    let release = await octokit.rest.repos.getReleaseByTag({ owner, repo, tag: name });
+    console.log("found release: ", JSON.stringify(release.data, null, 2));
+    await octokit.rest.repos.deleteRelease({
+      owner,
+      repo,
+      release_id: release.data.id,
+    });
+    console.log("deleted release");
   } catch (e) {
     console.log("ERROR: ", JSON.stringify(e, null, 2));
-    core.info(`creating a release`);
-    try {
-      release = await octokit.rest.repos.createRelease({
-        owner,
-        repo,
-        tag_name: name,
-        prerelease: name === 'dev',
-      });
-    } catch (e) {
-      console.log("ERROR: ", JSON.stringify(e, null, 2));
-      core.info(`fetching one more time`);
-      release = await octokit.rest.repos.getReleaseByTag({ owner, repo, tag: name });
-    }
   }
-  console.log("found release: ", JSON.stringify(release.data, null, 2));
+
+  console.log("creating a release");
+  let release = await octokit.rest.repos.createRelease({
+    owner,
+    repo,
+    tag_name: name,
+    prerelease: name === 'dev',
+  });
 
   // Delete all assets from a previous run
   for (const asset of release.data.assets) {