make target branch name mandatory and specific ci job optional
add it as an npm script `npm run mock-release -- TARGET_BRANCH`
This commit is contained in:
parent
63632f1137
commit
85a811db55
2 changed files with 37 additions and 28 deletions
|
@ -53,6 +53,7 @@
|
||||||
"create-api-json": "electron-docs-linter docs --outfile=out/electron-api.json --version=$npm_package_version",
|
"create-api-json": "electron-docs-linter docs --outfile=out/electron-api.json --version=$npm_package_version",
|
||||||
"create-typescript-definitions": "npm run create-api-json && electron-typescript-definitions --in=out/electron-api.json --out=out/electron.d.ts",
|
"create-typescript-definitions": "npm run create-api-json && electron-typescript-definitions --in=out/electron-api.json --out=out/electron.d.ts",
|
||||||
"merge-release": "node ./script/merge-release.js",
|
"merge-release": "node ./script/merge-release.js",
|
||||||
|
"mock-release": "node ./script/ci-release-build.js",
|
||||||
"preinstall": "node -e 'process.exit(0)'",
|
"preinstall": "node -e 'process.exit(0)'",
|
||||||
"publish-to-npm": "node ./script/publish-to-npm.js",
|
"publish-to-npm": "node ./script/publish-to-npm.js",
|
||||||
"prepack": "check-for-leaks",
|
"prepack": "check-for-leaks",
|
||||||
|
|
|
@ -9,25 +9,12 @@ const ciJobs = [
|
||||||
'electron-linux-arm'
|
'electron-linux-arm'
|
||||||
]
|
]
|
||||||
|
|
||||||
if (args._.length < 1) {
|
const CIcall = (buildUrl, targetBranch, job) => {
|
||||||
console.log(`Trigger Circle CI to build release builds of electron.
|
console.log(`Triggering CircleCI to run build job: ${job} on branch: ${targetBranch} with release flag.`)
|
||||||
Usage: ci-release-build.js [--branch=TARGET_BRANCH] CI_JOB_NAME
|
|
||||||
`)
|
|
||||||
process.exit(1)
|
|
||||||
}
|
|
||||||
|
|
||||||
const targetBranch = args['branch'] || 'master'
|
request({
|
||||||
const ciJob = args._[0]
|
|
||||||
assert(ciJobs.includes(ciJob), `Unknown ci job name: ${ciJob}.`)
|
|
||||||
assert(process.env.CIRCLE_TOKEN, 'CIRCLE_TOKEN not found in environment')
|
|
||||||
|
|
||||||
const circleBuildURL = `https://circleci.com/api/v1.1/project/github/electron/electron/tree/${targetBranch}?circle-token=${process.env.CIRCLE_TOKEN}`
|
|
||||||
|
|
||||||
console.log(`Triggering CircleCI to run build job: ${ciJob} against branch: ${targetBranch} with release flag.`)
|
|
||||||
|
|
||||||
request({
|
|
||||||
method: 'POST',
|
method: 'POST',
|
||||||
url: circleBuildURL,
|
url: buildUrl,
|
||||||
headers: {
|
headers: {
|
||||||
'Content-Type': 'application/json',
|
'Content-Type': 'application/json',
|
||||||
'Accept': 'application/json'
|
'Accept': 'application/json'
|
||||||
|
@ -35,14 +22,35 @@ request({
|
||||||
body: JSON.stringify({
|
body: JSON.stringify({
|
||||||
'build_parameters': {
|
'build_parameters': {
|
||||||
'RUN_RELEASE_BUILD': 'true',
|
'RUN_RELEASE_BUILD': 'true',
|
||||||
'CIRCLE_JOB': ciJob
|
'CIRCLE_JOB': job
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}, (err, res, body) => {
|
}, (err, res, body) => {
|
||||||
if (!err && body) {
|
if (!err && res.statusCode >= 200 && res.statusCode < 300) {
|
||||||
const build = JSON.parse(body)
|
const build = JSON.parse(body)
|
||||||
console.log(`check ${build.build_url} for status`)
|
console.log(`Check ${build.build_url} for status. (${job})`)
|
||||||
} else {
|
} else {
|
||||||
console.log('error', err)
|
console.log('Error: ', err || JSON.parse(res.body), job)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
if (args._.length < 1) {
|
||||||
|
console.log(`Trigger Circle CI to build release builds of electron.
|
||||||
|
Usage: ci-release-build.js [--job=CI_JOB_NAME] TARGET_BRANCH
|
||||||
|
`)
|
||||||
|
process.exit(1)
|
||||||
|
}
|
||||||
|
|
||||||
|
assert(process.env.CIRCLE_TOKEN, 'CIRCLE_TOKEN not found in environment')
|
||||||
|
|
||||||
|
const targetBranch = args._[0]
|
||||||
|
const job = args['job']
|
||||||
|
const circleBuildUrl = `https://circleci.com/api/v1.1/project/github/electron/electron/tree/${targetBranch}?circle-token=${process.env.CIRCLE_TOKEN}`
|
||||||
|
|
||||||
|
if (job) {
|
||||||
|
assert(ciJobs.includes(job), `Unknown CI job name: ${job}.`)
|
||||||
|
CIcall(circleBuildUrl, targetBranch, job)
|
||||||
|
} else {
|
||||||
|
ciJobs.forEach((job) => CIcall(circleBuildUrl, targetBranch, job))
|
||||||
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue