Always delete previous releases, not only for dev (#1001)
This will delete a same-name of a previous release for all tags, not just the dev tag. That way if we need to retry a tagged release we'll delete it and recreate it as usual. Closes #978
This commit is contained in:
29
.github/actions/github-release/main.js
vendored
29
.github/actions/github-release/main.js
vendored
@@ -24,24 +24,21 @@ async function runOnce() {
|
|||||||
|
|
||||||
const octokit = new github.GitHub(token);
|
const octokit = new github.GitHub(token);
|
||||||
|
|
||||||
// If this is a `dev` release then we need to actually delete the previous
|
// Delete the previous release since we can't overwrite one. This may happen
|
||||||
// release since we can't overwrite a new one. We also need to update the
|
// due to retrying an upload or it may happen because we're doing the dev
|
||||||
// `dev` tag while we're at it. So here you'll see:
|
// release.
|
||||||
//
|
const releases = await octokit.paginate("GET /repos/:owner/:repo/releases", { owner, repo });
|
||||||
// * Look for the `dev` release, then delete it if it exists
|
for (const release of releases) {
|
||||||
// * Update the `dev` release to our current sha, or create one if it doesn't
|
if (release.tag_name !== name) {
|
||||||
// exist
|
continue;
|
||||||
if (name == 'dev') {
|
|
||||||
const releases = await octokit.paginate("GET /repos/:owner/:repo/releases", { owner, repo });
|
|
||||||
for (const release of releases) {
|
|
||||||
if (release.tag_name !== 'dev') {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
const release_id = release.id;
|
|
||||||
core.info(`deleting release ${release_id}`);
|
|
||||||
await octokit.repos.deleteRelease({ owner, repo, release_id });
|
|
||||||
}
|
}
|
||||||
|
const release_id = release.id;
|
||||||
|
core.info(`deleting release ${release_id}`);
|
||||||
|
await octokit.repos.deleteRelease({ owner, repo, release_id });
|
||||||
|
}
|
||||||
|
|
||||||
|
// We also need to update the `dev` tag while we're at it on the `dev` branch.
|
||||||
|
if (name == 'dev') {
|
||||||
try {
|
try {
|
||||||
core.info(`updating dev tag`);
|
core.info(`updating dev tag`);
|
||||||
await octokit.git.updateRef({
|
await octokit.git.updateRef({
|
||||||
|
|||||||
Reference in New Issue
Block a user