From 0ff0a09ecaf16c2e5968efd8cfea5bf165b640b9 Mon Sep 17 00:00:00 2001 From: Sebastien Lavoie Date: Wed, 21 Aug 2019 18:28:50 -0400 Subject: [PATCH] Only run on certain actions --- lib/main.js | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/lib/main.js b/lib/main.js index 077ed9b..183fa64 100644 --- a/lib/main.js +++ b/lib/main.js @@ -5,10 +5,16 @@ const fs = require('fs'); async function run() { try { const payload = process.env.GITHUB_EVENT_PATH ? require(process.env.GITHUB_EVENT_PATH) : {} - const { release: { id: release_id, draft: isDraft }} = payload - if (isDraft) { - // Only upload to non-draft releases - return + const { action: action, release: { id: release_id }} = payload + // https://developer.github.com/v3/activity/events/types/#releaseevent + switch (action) { + case "published": + case "created": + case "prereleased": + break + default: + console.log(`Skipping release: ${action}`) + return } const [owner, repo] = process.env.GITHUB_REPOSITORY.split('/') @@ -25,6 +31,13 @@ async function run() { const { data: { upload_url: url } } = await octokit.repos.getRelease({owner, repo, release_id}) console.log(`Upload URL: ${url}`) + const { data: assets } = await octokit.repos.listAssetsForRelease({owner, repo, release_id}) + assets.forEach(({ id: asset_id, name: asset_name }) => { + if (asset_name == name) { + octokit.repos.deleteReleaseAsset({owner, repo, asset_id}) + } + }) + const headers = { 'content-type': contentType, 'content-length': fs.statSync(path).size,