mirror of https://github.com/electron/electron
54 lines
1.1 KiB
TypeScript
54 lines
1.1 KiB
TypeScript
import { parseArgs } from 'node:util';
|
|
|
|
import { runReleaseCIJobs } from '../run-release-ci-jobs';
|
|
|
|
const { values: { ghRelease, job, arch, ci, commit, newVersion }, positionals } = parseArgs({
|
|
options: {
|
|
ghRelease: {
|
|
type: 'boolean'
|
|
},
|
|
job: {
|
|
type: 'string'
|
|
},
|
|
arch: {
|
|
type: 'string'
|
|
},
|
|
ci: {
|
|
type: 'string'
|
|
},
|
|
commit: {
|
|
type: 'string'
|
|
},
|
|
newVersion: {
|
|
type: 'string'
|
|
}
|
|
},
|
|
allowPositionals: true
|
|
});
|
|
|
|
const targetBranch = positionals[0];
|
|
|
|
if (positionals.length < 1) {
|
|
console.log(`Trigger CI to build release builds of electron.
|
|
Usage: ci-release-build.js [--job=CI_JOB_NAME] [--arch=INDIVIDUAL_ARCH] [--ci=AppVeyor|GitHubActions]
|
|
[--ghRelease] [--commit=sha] [--newVersion=version_tag] TARGET_BRANCH
|
|
`);
|
|
process.exit(0);
|
|
}
|
|
|
|
if (ci === 'GitHubActions' || !ci) {
|
|
if (!newVersion) {
|
|
console.error('--newVersion is required for GitHubActions');
|
|
process.exit(1);
|
|
}
|
|
}
|
|
|
|
runReleaseCIJobs(targetBranch, {
|
|
ci: ci as 'GitHubActions' | 'AppVeyor',
|
|
ghRelease,
|
|
job: job as any,
|
|
arch,
|
|
newVersion: newVersion!,
|
|
commit
|
|
});
|