From fbfe1c7224bef7cbf40d6bde0094cfa067cce7c8 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Fri, 7 Nov 2014 10:56:51 -0800 Subject: [PATCH] Fully fetch draft release Assets in a bad state aren't returned from the releases listing endpoint. --- build/tasks/publish-build-task.coffee | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/build/tasks/publish-build-task.coffee b/build/tasks/publish-build-task.coffee index 5f55dc4fe..13a375fff 100644 --- a/build/tasks/publish-build-task.coffee +++ b/build/tasks/publish-build-task.coffee @@ -123,10 +123,21 @@ getAtomDraftRelease = (callback) -> logError('Fetching atom/atom releases failed', error, releases) callback(error) else - for release in releases when release.draft - callback(null, release) - return - callback(new Error('No draft release in atom/atom repo')) + [firstDraft] = releases.filter ({draft}) -> draft + if firstDraft? + options = + uri: firstDraft.url + method: 'GET' + headers: defaultHeaders + json: true + request options, (error, response, body='') -> + if error? or response.statusCode isnt 200 + logError('Fetching draft release asset failed', error, body) + callback(error ? new Error(response.statusCode)) + else + callback(null, body) + else + callback(new Error('No draft release in atom/atom repo')) deleteRelease = (release) -> options =