chore: expose release id for use in cleanup (#15845) (#15949)

chore: expose release id for use in cleanup (backport: 3-0-x)
This commit is contained in:
trop[bot] 2018-12-05 09:36:35 -08:00 committed by Shelley Vohr
parent 688b345033
commit 6de26d3b4a
2 changed files with 17 additions and 15 deletions

View file

@ -149,7 +149,7 @@ async function createRelease (branchToTarget, isBeta) {
console.log(`Checking for existing draft release.`) console.log(`Checking for existing draft release.`)
let releases = await github.repos.getReleases(githubOpts) let releases = await github.repos.getReleases(githubOpts)
.catch(err => { .catch(err => {
console.log('$fail} Could not get releases. Error was', err) console.log(`${fail} Could not get releases. Error was: `, err)
}) })
let drafts = releases.data.filter(release => release.draft && let drafts = releases.data.filter(release => release.draft &&
release.tag_name === newVersion) release.tag_name === newVersion)
@ -180,13 +180,13 @@ async function createRelease (branchToTarget, isBeta) {
} }
githubOpts.tag_name = newVersion githubOpts.tag_name = newVersion
githubOpts.target_commitish = newVersion.indexOf('nightly') !== -1 ? 'master' : branchToTarget githubOpts.target_commitish = newVersion.indexOf('nightly') !== -1 ? 'master' : branchToTarget
console.log('creating release with github opts', githubOpts) const release = await github.repos.createRelease(githubOpts)
await github.repos.createRelease(githubOpts)
.catch(err => { .catch(err => {
console.log(`${fail} Error creating new release: `, err) console.log(`${fail} Error creating new release: `, err)
process.exit(1) process.exit(1)
}) })
console.log(`${pass} Draft release for ${newVersion} has been created.`) console.log(`Release has been created with id: ${release.id}.`)
console.log(`${pass} Draft release for ${newVersion} successful.`)
} }
async function pushRelease (branch) { async function pushRelease (branch) {

View file

@ -50,13 +50,14 @@ async function revertBumpCommit (tag) {
} }
} }
async function deleteDraft (tag, targetRepo) { async function deleteDraft (releaseId, targetRepo) {
try { try {
const result = await github.repos.getReleaseByTag({ const result = await github.repos.getRelease({
owner: 'electron', owner: 'electron',
repo: targetRepo, repo: targetRepo,
tag id: parseInt(releaseId, 10)
}) })
console.log(result)
if (!result.draft) { if (!result.draft) {
console.log(`Published releases cannot be deleted.`) console.log(`Published releases cannot be deleted.`)
process.exit(1) process.exit(1)
@ -67,9 +68,9 @@ async function deleteDraft (tag, targetRepo) {
release_id: result.id release_id: result.id
}) })
} }
console.log(`Successfully deleted draft with tag ${tag} from ${targetRepo}`) console.log(`Successfully deleted draft with id ${releaseId} from ${targetRepo}`)
} catch (err) { } catch (err) {
console.error(`Couldn't delete draft with tag ${tag} from ${targetRepo}: `, err) console.error(`Couldn't delete draft with id ${releaseId} from ${targetRepo}: `, err)
process.exit(1) process.exit(1)
} }
} }
@ -89,18 +90,19 @@ async function deleteTag (tag, targetRepo) {
} }
async function cleanReleaseArtifacts () { async function cleanReleaseArtifacts () {
const tag = args.tag const releaseId = args.releaseId
const isNightly = args.tag.includes('nightly') const isNightly = args.tag.includes('nightly')
if (isNightly) { if (isNightly) {
await deleteDraft(tag, 'nightlies') await deleteDraft(releaseId, 'nightlies')
await deleteTag(tag, 'nightlies') await deleteTag(args.tag, 'nightlies')
} else { } else {
await deleteDraft(tag, 'electron') console.log('we are here')
await deleteDraft(releaseId, 'electron')
} }
await deleteTag(tag, 'electron') await deleteTag(args.tag, 'electron')
await revertBumpCommit(tag) await revertBumpCommit(args.tag)
console.log('Failed release artifact cleanup complete') console.log('Failed release artifact cleanup complete')
} }