Merge pull request #12013 from electron/release-fix
Fixes from running 2.0.0-beta.1 release
This commit is contained in:
commit
366638b1b9
1 changed files with 11 additions and 33 deletions
|
@ -6,7 +6,6 @@ const assert = require('assert')
|
||||||
const fs = require('fs')
|
const fs = require('fs')
|
||||||
const { execSync } = require('child_process')
|
const { execSync } = require('child_process')
|
||||||
const GitHub = require('github')
|
const GitHub = require('github')
|
||||||
const { GitProcess } = require('dugite')
|
|
||||||
const nugget = require('nugget')
|
const nugget = require('nugget')
|
||||||
const pkg = require('../package.json')
|
const pkg = require('../package.json')
|
||||||
const pkgVersion = `v${pkg.version}`
|
const pkgVersion = `v${pkg.version}`
|
||||||
|
@ -24,7 +23,6 @@ const github = new GitHub({
|
||||||
followRedirects: false
|
followRedirects: false
|
||||||
})
|
})
|
||||||
github.authenticate({type: 'token', token: process.env.ELECTRON_GITHUB_TOKEN})
|
github.authenticate({type: 'token', token: process.env.ELECTRON_GITHUB_TOKEN})
|
||||||
const gitDir = path.resolve(__dirname, '..')
|
|
||||||
|
|
||||||
async function getDraftRelease (version, skipValidation) {
|
async function getDraftRelease (version, skipValidation) {
|
||||||
let releaseInfo = await github.repos.getReleases({owner: 'electron', repo: 'electron'})
|
let releaseInfo = await github.repos.getReleases({owner: 'electron', repo: 'electron'})
|
||||||
|
@ -62,16 +60,18 @@ async function validateReleaseAssets (release, validatingRelease) {
|
||||||
})
|
})
|
||||||
check((failureCount === 0), `All required GitHub assets exist for release`, true)
|
check((failureCount === 0), `All required GitHub assets exist for release`, true)
|
||||||
|
|
||||||
if (release.draft) {
|
if (!validatingRelease || !release.draft) {
|
||||||
await verifyAssets(release)
|
if (release.draft) {
|
||||||
} else {
|
await verifyAssets(release)
|
||||||
await verifyShasums(downloadUrls)
|
} else {
|
||||||
.catch(err => {
|
await verifyShasums(downloadUrls)
|
||||||
console.log(`${fail} error verifyingShasums`, err)
|
.catch(err => {
|
||||||
})
|
console.log(`${fail} error verifyingShasums`, err)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
const s3Urls = s3UrlsForVersion(release.tag_name)
|
||||||
|
await verifyShasums(s3Urls, true)
|
||||||
}
|
}
|
||||||
const s3Urls = s3UrlsForVersion(release.tag_name)
|
|
||||||
await verifyShasums(s3Urls, true)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function check (condition, statement, exitIfFail = false) {
|
function check (condition, statement, exitIfFail = false) {
|
||||||
|
@ -276,7 +276,6 @@ async function makeRelease (releaseToValidate) {
|
||||||
draftRelease = await getDraftRelease(pkgVersion, true)
|
draftRelease = await getDraftRelease(pkgVersion, true)
|
||||||
await validateReleaseAssets(draftRelease)
|
await validateReleaseAssets(draftRelease)
|
||||||
await publishRelease(draftRelease)
|
await publishRelease(draftRelease)
|
||||||
await cleanupReleaseBranch()
|
|
||||||
console.log(`${pass} SUCCESS!!! Release has been published. Please run ` +
|
console.log(`${pass} SUCCESS!!! Release has been published. Please run ` +
|
||||||
`"npm run publish-to-npm" to publish release to npm.`)
|
`"npm run publish-to-npm" to publish release to npm.`)
|
||||||
}
|
}
|
||||||
|
@ -444,25 +443,4 @@ async function validateChecksums (validationArgs) {
|
||||||
`shasums defined in ${validationArgs.shaSumFile}.`)
|
`shasums defined in ${validationArgs.shaSumFile}.`)
|
||||||
}
|
}
|
||||||
|
|
||||||
async function cleanupReleaseBranch () {
|
|
||||||
console.log(`Cleaning up release branch.`)
|
|
||||||
let errorMessage = `Could not delete local release branch.`
|
|
||||||
let successMessage = `Successfully deleted local release branch.`
|
|
||||||
await callGit(['branch', '-D', 'release'], errorMessage, successMessage)
|
|
||||||
errorMessage = `Could not delete remote release branch.`
|
|
||||||
successMessage = `Successfully deleted remote release branch.`
|
|
||||||
return callGit(['push', 'origin', ':release'], errorMessage, successMessage)
|
|
||||||
}
|
|
||||||
|
|
||||||
async function callGit (args, errorMessage, successMessage) {
|
|
||||||
let gitResult = await GitProcess.exec(args, gitDir)
|
|
||||||
if (gitResult.exitCode === 0) {
|
|
||||||
console.log(`${pass} ${successMessage}`)
|
|
||||||
return true
|
|
||||||
} else {
|
|
||||||
console.log(`${fail} ${errorMessage} ${gitResult.stderr}`)
|
|
||||||
process.exit(1)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
makeRelease(args.validateRelease)
|
makeRelease(args.validateRelease)
|
||||||
|
|
Loading…
Add table
Reference in a new issue