diff --git a/script/release.js b/script/release.js index 9863ef912cd5..7ddd069e2168 100755 --- a/script/release.js +++ b/script/release.js @@ -6,7 +6,6 @@ const assert = require('assert') const fs = require('fs') const { execSync } = require('child_process') const GitHub = require('github') -const { GitProcess } = require('dugite') const nugget = require('nugget') const pkg = require('../package.json') const pkgVersion = `v${pkg.version}` @@ -24,7 +23,6 @@ const github = new GitHub({ followRedirects: false }) github.authenticate({type: 'token', token: process.env.ELECTRON_GITHUB_TOKEN}) -const gitDir = path.resolve(__dirname, '..') async function getDraftRelease (version, skipValidation) { 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) - if (release.draft) { - await verifyAssets(release) - } else { - await verifyShasums(downloadUrls) - .catch(err => { - console.log(`${fail} error verifyingShasums`, err) - }) + if (!validatingRelease || !release.draft) { + if (release.draft) { + await verifyAssets(release) + } else { + await verifyShasums(downloadUrls) + .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) { @@ -276,7 +276,6 @@ async function makeRelease (releaseToValidate) { draftRelease = await getDraftRelease(pkgVersion, true) await validateReleaseAssets(draftRelease) await publishRelease(draftRelease) - await cleanupReleaseBranch() console.log(`${pass} SUCCESS!!! Release has been published. Please run ` + `"npm run publish-to-npm" to publish release to npm.`) } @@ -444,25 +443,4 @@ async function validateChecksums (validationArgs) { `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)