build: add arm64 macOS publish jobs (#24652)
* build: add arm64 macOS publish jobs * update ci-release-build to run new arm64 macOS publish jobs * fixup circleci config validate issues Co-authored-by: John Kleinschmidt <jkleinsc@github.com>
This commit is contained in:
parent
a12602dbc3
commit
589968f9fc
3 changed files with 117 additions and 22 deletions
|
@ -37,10 +37,18 @@ parameters:
|
||||||
type: boolean
|
type: boolean
|
||||||
default: false
|
default: false
|
||||||
|
|
||||||
|
run-osx-publish-arm64:
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
|
|
||||||
run-mas-publish:
|
run-mas-publish:
|
||||||
type: boolean
|
type: boolean
|
||||||
default: false
|
default: false
|
||||||
|
|
||||||
|
run-mas-publish-arm64:
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
|
|
||||||
run-linux-publish:
|
run-linux-publish:
|
||||||
type: boolean
|
type: boolean
|
||||||
default: false
|
default: false
|
||||||
|
@ -145,6 +153,7 @@ env-mas: &env-mas
|
||||||
env-mas-apple-silicon: &env-mas-apple-silicon
|
env-mas-apple-silicon: &env-mas-apple-silicon
|
||||||
GN_EXTRA_ARGS: 'target_cpu = "arm64" is_mas_build = true'
|
GN_EXTRA_ARGS: 'target_cpu = "arm64" is_mas_build = true'
|
||||||
MAS_BUILD: 'true'
|
MAS_BUILD: 'true'
|
||||||
|
TARGET_ARCH: arm64
|
||||||
|
|
||||||
# Misc build configuration options.
|
# Misc build configuration options.
|
||||||
env-enable-sccache: &env-enable-sccache
|
env-enable-sccache: &env-enable-sccache
|
||||||
|
@ -1764,7 +1773,7 @@ jobs:
|
||||||
<<: *env-enable-sccache
|
<<: *env-enable-sccache
|
||||||
UPLOAD_TO_S3: << pipeline.parameters.upload-to-s3 >>
|
UPLOAD_TO_S3: << pipeline.parameters.upload-to-s3 >>
|
||||||
steps:
|
steps:
|
||||||
- electron-publish:
|
- electron-publish:
|
||||||
attach: false
|
attach: false
|
||||||
checkout: true
|
checkout: true
|
||||||
|
|
||||||
|
@ -1776,7 +1785,7 @@ jobs:
|
||||||
<<: *env-enable-sccache
|
<<: *env-enable-sccache
|
||||||
UPLOAD_TO_S3: << pipeline.parameters.upload-to-s3 >>
|
UPLOAD_TO_S3: << pipeline.parameters.upload-to-s3 >>
|
||||||
steps:
|
steps:
|
||||||
- electron-publish:
|
- electron-publish:
|
||||||
attach: true
|
attach: true
|
||||||
checkout: false
|
checkout: false
|
||||||
|
|
||||||
|
@ -1828,7 +1837,7 @@ jobs:
|
||||||
<<: *env-32bit-release
|
<<: *env-32bit-release
|
||||||
UPLOAD_TO_S3: << pipeline.parameters.upload-to-s3 >>
|
UPLOAD_TO_S3: << pipeline.parameters.upload-to-s3 >>
|
||||||
steps:
|
steps:
|
||||||
- electron-publish:
|
- electron-publish:
|
||||||
attach: false
|
attach: false
|
||||||
checkout: true
|
checkout: true
|
||||||
|
|
||||||
|
@ -1842,7 +1851,7 @@ jobs:
|
||||||
<<: *env-32bit-release
|
<<: *env-32bit-release
|
||||||
UPLOAD_TO_S3: << pipeline.parameters.upload-to-s3 >>
|
UPLOAD_TO_S3: << pipeline.parameters.upload-to-s3 >>
|
||||||
steps:
|
steps:
|
||||||
- electron-publish:
|
- electron-publish:
|
||||||
attach: true
|
attach: true
|
||||||
checkout: false
|
checkout: false
|
||||||
|
|
||||||
|
@ -1895,7 +1904,7 @@ jobs:
|
||||||
GCLIENT_EXTRA_ARGS: '--custom-var=checkout_arm=True --custom-var=checkout_boto=True --custom-var=checkout_requests=True'
|
GCLIENT_EXTRA_ARGS: '--custom-var=checkout_arm=True --custom-var=checkout_boto=True --custom-var=checkout_requests=True'
|
||||||
UPLOAD_TO_S3: << pipeline.parameters.upload-to-s3 >>
|
UPLOAD_TO_S3: << pipeline.parameters.upload-to-s3 >>
|
||||||
steps:
|
steps:
|
||||||
- electron-publish:
|
- electron-publish:
|
||||||
attach: false
|
attach: false
|
||||||
checkout: true
|
checkout: true
|
||||||
|
|
||||||
|
@ -1909,7 +1918,7 @@ jobs:
|
||||||
<<: *env-32bit-release
|
<<: *env-32bit-release
|
||||||
UPLOAD_TO_S3: << pipeline.parameters.upload-to-s3 >>
|
UPLOAD_TO_S3: << pipeline.parameters.upload-to-s3 >>
|
||||||
steps:
|
steps:
|
||||||
- electron-publish:
|
- electron-publish:
|
||||||
attach: true
|
attach: true
|
||||||
checkout: false
|
checkout: false
|
||||||
|
|
||||||
|
@ -1969,7 +1978,7 @@ jobs:
|
||||||
GCLIENT_EXTRA_ARGS: '--custom-var=checkout_arm64=True --custom-var=checkout_boto=True --custom-var=checkout_requests=True'
|
GCLIENT_EXTRA_ARGS: '--custom-var=checkout_arm64=True --custom-var=checkout_boto=True --custom-var=checkout_requests=True'
|
||||||
UPLOAD_TO_S3: << pipeline.parameters.upload-to-s3 >>
|
UPLOAD_TO_S3: << pipeline.parameters.upload-to-s3 >>
|
||||||
steps:
|
steps:
|
||||||
- electron-publish:
|
- electron-publish:
|
||||||
attach: false
|
attach: false
|
||||||
checkout: true
|
checkout: true
|
||||||
|
|
||||||
|
@ -1982,7 +1991,7 @@ jobs:
|
||||||
<<: *env-enable-sccache
|
<<: *env-enable-sccache
|
||||||
UPLOAD_TO_S3: << pipeline.parameters.upload-to-s3 >>
|
UPLOAD_TO_S3: << pipeline.parameters.upload-to-s3 >>
|
||||||
steps:
|
steps:
|
||||||
- electron-publish:
|
- electron-publish:
|
||||||
attach: true
|
attach: true
|
||||||
checkout: false
|
checkout: false
|
||||||
|
|
||||||
|
@ -2031,7 +2040,21 @@ jobs:
|
||||||
GCLIENT_EXTRA_ARGS: '--custom-var=checkout_boto=True --custom-var=checkout_requests=True'
|
GCLIENT_EXTRA_ARGS: '--custom-var=checkout_boto=True --custom-var=checkout_requests=True'
|
||||||
UPLOAD_TO_S3: << pipeline.parameters.upload-to-s3 >>
|
UPLOAD_TO_S3: << pipeline.parameters.upload-to-s3 >>
|
||||||
steps:
|
steps:
|
||||||
- electron-publish:
|
- electron-publish:
|
||||||
|
attach: false
|
||||||
|
checkout: true
|
||||||
|
|
||||||
|
osx-publish-arm64:
|
||||||
|
<<: *machine-mac-large-arm
|
||||||
|
environment:
|
||||||
|
<<: *env-mac-large-release
|
||||||
|
<<: *env-release-build
|
||||||
|
<<: *env-enable-sccache
|
||||||
|
<<: *env-apple-silicon
|
||||||
|
GCLIENT_EXTRA_ARGS: '--custom-var=checkout_boto=True --custom-var=checkout_requests=True'
|
||||||
|
UPLOAD_TO_S3: << pipeline.parameters.upload-to-s3 >>
|
||||||
|
steps:
|
||||||
|
- electron-publish:
|
||||||
attach: false
|
attach: false
|
||||||
checkout: true
|
checkout: true
|
||||||
|
|
||||||
|
@ -2043,7 +2066,20 @@ jobs:
|
||||||
<<: *env-enable-sccache
|
<<: *env-enable-sccache
|
||||||
UPLOAD_TO_S3: << pipeline.parameters.upload-to-s3 >>
|
UPLOAD_TO_S3: << pipeline.parameters.upload-to-s3 >>
|
||||||
steps:
|
steps:
|
||||||
- electron-publish:
|
- electron-publish:
|
||||||
|
attach: true
|
||||||
|
checkout: false
|
||||||
|
|
||||||
|
osx-publish-arm64-skip-checkout:
|
||||||
|
<<: *machine-mac-large-arm
|
||||||
|
environment:
|
||||||
|
<<: *env-mac-large-release
|
||||||
|
<<: *env-release-build
|
||||||
|
<<: *env-enable-sccache
|
||||||
|
<<: *env-apple-silicon
|
||||||
|
UPLOAD_TO_S3: << pipeline.parameters.upload-to-s3 >>
|
||||||
|
steps:
|
||||||
|
- electron-publish:
|
||||||
attach: true
|
attach: true
|
||||||
checkout: false
|
checkout: false
|
||||||
|
|
||||||
|
@ -2112,11 +2148,25 @@ jobs:
|
||||||
GCLIENT_EXTRA_ARGS: '--custom-var=checkout_boto=True --custom-var=checkout_requests=True'
|
GCLIENT_EXTRA_ARGS: '--custom-var=checkout_boto=True --custom-var=checkout_requests=True'
|
||||||
UPLOAD_TO_S3: << pipeline.parameters.upload-to-s3 >>
|
UPLOAD_TO_S3: << pipeline.parameters.upload-to-s3 >>
|
||||||
steps:
|
steps:
|
||||||
- electron-publish:
|
- electron-publish:
|
||||||
attach: false
|
attach: false
|
||||||
checkout: true
|
checkout: true
|
||||||
|
|
||||||
mas-publish-skip-checkout:
|
mas-publish-arm64:
|
||||||
|
<<: *machine-mac-large-arm
|
||||||
|
environment:
|
||||||
|
<<: *env-mac-large-release
|
||||||
|
<<: *env-mas-apple-silicon
|
||||||
|
<<: *env-release-build
|
||||||
|
<<: *env-enable-sccache
|
||||||
|
GCLIENT_EXTRA_ARGS: '--custom-var=checkout_boto=True --custom-var=checkout_requests=True'
|
||||||
|
UPLOAD_TO_S3: << pipeline.parameters.upload-to-s3 >>
|
||||||
|
steps:
|
||||||
|
- electron-publish:
|
||||||
|
attach: false
|
||||||
|
checkout: true
|
||||||
|
|
||||||
|
mas-publish-x64-skip-checkout:
|
||||||
<<: *machine-mac-large
|
<<: *machine-mac-large
|
||||||
environment:
|
environment:
|
||||||
<<: *env-mac-large-release
|
<<: *env-mac-large-release
|
||||||
|
@ -2125,7 +2175,20 @@ jobs:
|
||||||
<<: *env-enable-sccache
|
<<: *env-enable-sccache
|
||||||
UPLOAD_TO_S3: << pipeline.parameters.upload-to-s3 >>
|
UPLOAD_TO_S3: << pipeline.parameters.upload-to-s3 >>
|
||||||
steps:
|
steps:
|
||||||
- electron-publish:
|
- electron-publish:
|
||||||
|
attach: true
|
||||||
|
checkout: false
|
||||||
|
|
||||||
|
mas-publish-arm64-skip-checkout:
|
||||||
|
<<: *machine-mac-large-arm
|
||||||
|
environment:
|
||||||
|
<<: *env-mac-large-release
|
||||||
|
<<: *env-mas-apple-silicon
|
||||||
|
<<: *env-release-build
|
||||||
|
<<: *env-enable-sccache
|
||||||
|
UPLOAD_TO_S3: << pipeline.parameters.upload-to-s3 >>
|
||||||
|
steps:
|
||||||
|
- electron-publish:
|
||||||
attach: true
|
attach: true
|
||||||
checkout: false
|
checkout: false
|
||||||
|
|
||||||
|
@ -2429,6 +2492,18 @@ workflows:
|
||||||
- mas-publish:
|
- mas-publish:
|
||||||
context: release-env
|
context: release-env
|
||||||
|
|
||||||
|
publish-osx-arm64:
|
||||||
|
when: << pipeline.parameters.run-osx-publish-arm64 >>
|
||||||
|
jobs:
|
||||||
|
- osx-publish-arm64:
|
||||||
|
context: release-env
|
||||||
|
|
||||||
|
publish-mas-arm64:
|
||||||
|
when: << pipeline.parameters.run-mas-publish-arm64 >>
|
||||||
|
jobs:
|
||||||
|
- mas-publish-arm64:
|
||||||
|
context: release-env
|
||||||
|
|
||||||
publish-macos:
|
publish-macos:
|
||||||
when: << pipeline.parameters.run-macos-publish >>
|
when: << pipeline.parameters.run-macos-publish >>
|
||||||
jobs:
|
jobs:
|
||||||
|
@ -2436,7 +2511,13 @@ workflows:
|
||||||
- osx-publish-x64-skip-checkout:
|
- osx-publish-x64-skip-checkout:
|
||||||
requires:
|
requires:
|
||||||
- mac-checkout
|
- mac-checkout
|
||||||
- mas-publish-skip-checkout:
|
- mas-publish-x64-skip-checkout:
|
||||||
|
requires:
|
||||||
|
- mac-checkout
|
||||||
|
- osx-publish-arm64-skip-checkout:
|
||||||
|
requires:
|
||||||
|
- mac-checkout
|
||||||
|
- mas-publish-arm64-skip-checkout:
|
||||||
requires:
|
requires:
|
||||||
- mac-checkout
|
- mac-checkout
|
||||||
|
|
||||||
|
|
|
@ -15,19 +15,21 @@ const appVeyorJobs = {
|
||||||
'electron-woa': 'electron-woa-release'
|
'electron-woa': 'electron-woa-release'
|
||||||
};
|
};
|
||||||
|
|
||||||
const circleCIJobs = [
|
const circleCIPublishWorkflows = [
|
||||||
|
'linux-publish',
|
||||||
|
'macos-publish'
|
||||||
|
];
|
||||||
|
|
||||||
|
const circleCIJobs = circleCIPublishWorkflows.concat([
|
||||||
'linux-arm-publish',
|
'linux-arm-publish',
|
||||||
'linux-arm64-publish',
|
'linux-arm64-publish',
|
||||||
'linux-ia32-publish',
|
'linux-ia32-publish',
|
||||||
'linux-x64-publish',
|
'linux-x64-publish',
|
||||||
'mas-publish',
|
'mas-publish',
|
||||||
'osx-publish'
|
'mas-publish-arm64',
|
||||||
];
|
'osx-publish',
|
||||||
|
'osx-publish-arm64'
|
||||||
const circleCIPublishWorkflows = [
|
]);
|
||||||
'linux-publish',
|
|
||||||
'macos-publish'
|
|
||||||
];
|
|
||||||
|
|
||||||
const vstsArmJobs = [
|
const vstsArmJobs = [
|
||||||
'electron-arm-testing',
|
'electron-arm-testing',
|
||||||
|
|
|
@ -97,17 +97,22 @@ function check (condition, statement, exitIfFail = false) {
|
||||||
function assetsForVersion (version, validatingRelease) {
|
function assetsForVersion (version, validatingRelease) {
|
||||||
const patterns = [
|
const patterns = [
|
||||||
`chromedriver-${version}-darwin-x64.zip`,
|
`chromedriver-${version}-darwin-x64.zip`,
|
||||||
|
`chromedriver-${version}-darwin-arm64.zip`,
|
||||||
`chromedriver-${version}-linux-arm64.zip`,
|
`chromedriver-${version}-linux-arm64.zip`,
|
||||||
`chromedriver-${version}-linux-armv7l.zip`,
|
`chromedriver-${version}-linux-armv7l.zip`,
|
||||||
`chromedriver-${version}-linux-ia32.zip`,
|
`chromedriver-${version}-linux-ia32.zip`,
|
||||||
`chromedriver-${version}-linux-x64.zip`,
|
`chromedriver-${version}-linux-x64.zip`,
|
||||||
`chromedriver-${version}-mas-x64.zip`,
|
`chromedriver-${version}-mas-x64.zip`,
|
||||||
|
`chromedriver-${version}-mas-arm64.zip`,
|
||||||
`chromedriver-${version}-win32-ia32.zip`,
|
`chromedriver-${version}-win32-ia32.zip`,
|
||||||
`chromedriver-${version}-win32-x64.zip`,
|
`chromedriver-${version}-win32-x64.zip`,
|
||||||
`chromedriver-${version}-win32-arm64.zip`,
|
`chromedriver-${version}-win32-arm64.zip`,
|
||||||
`electron-${version}-darwin-x64-dsym.zip`,
|
`electron-${version}-darwin-x64-dsym.zip`,
|
||||||
`electron-${version}-darwin-x64-symbols.zip`,
|
`electron-${version}-darwin-x64-symbols.zip`,
|
||||||
`electron-${version}-darwin-x64.zip`,
|
`electron-${version}-darwin-x64.zip`,
|
||||||
|
`electron-${version}-darwin-arm64-dsym.zip`,
|
||||||
|
`electron-${version}-darwin-arm64-symbols.zip`,
|
||||||
|
`electron-${version}-darwin-arm64.zip`,
|
||||||
`electron-${version}-linux-arm64-symbols.zip`,
|
`electron-${version}-linux-arm64-symbols.zip`,
|
||||||
`electron-${version}-linux-arm64.zip`,
|
`electron-${version}-linux-arm64.zip`,
|
||||||
`electron-${version}-linux-armv7l-symbols.zip`,
|
`electron-${version}-linux-armv7l-symbols.zip`,
|
||||||
|
@ -120,6 +125,9 @@ function assetsForVersion (version, validatingRelease) {
|
||||||
`electron-${version}-mas-x64-dsym.zip`,
|
`electron-${version}-mas-x64-dsym.zip`,
|
||||||
`electron-${version}-mas-x64-symbols.zip`,
|
`electron-${version}-mas-x64-symbols.zip`,
|
||||||
`electron-${version}-mas-x64.zip`,
|
`electron-${version}-mas-x64.zip`,
|
||||||
|
`electron-${version}-mas-arm64-dsym.zip`,
|
||||||
|
`electron-${version}-mas-arm64-symbols.zip`,
|
||||||
|
`electron-${version}-mas-arm64.zip`,
|
||||||
`electron-${version}-win32-ia32-pdb.zip`,
|
`electron-${version}-win32-ia32-pdb.zip`,
|
||||||
`electron-${version}-win32-ia32-symbols.zip`,
|
`electron-${version}-win32-ia32-symbols.zip`,
|
||||||
`electron-${version}-win32-ia32.zip`,
|
`electron-${version}-win32-ia32.zip`,
|
||||||
|
@ -133,20 +141,24 @@ function assetsForVersion (version, validatingRelease) {
|
||||||
'electron.d.ts',
|
'electron.d.ts',
|
||||||
'hunspell_dictionaries.zip',
|
'hunspell_dictionaries.zip',
|
||||||
`ffmpeg-${version}-darwin-x64.zip`,
|
`ffmpeg-${version}-darwin-x64.zip`,
|
||||||
|
`ffmpeg-${version}-darwin-arm64.zip`,
|
||||||
`ffmpeg-${version}-linux-arm64.zip`,
|
`ffmpeg-${version}-linux-arm64.zip`,
|
||||||
`ffmpeg-${version}-linux-armv7l.zip`,
|
`ffmpeg-${version}-linux-armv7l.zip`,
|
||||||
`ffmpeg-${version}-linux-ia32.zip`,
|
`ffmpeg-${version}-linux-ia32.zip`,
|
||||||
`ffmpeg-${version}-linux-x64.zip`,
|
`ffmpeg-${version}-linux-x64.zip`,
|
||||||
`ffmpeg-${version}-mas-x64.zip`,
|
`ffmpeg-${version}-mas-x64.zip`,
|
||||||
|
`ffmpeg-${version}-mas-arm64.zip`,
|
||||||
`ffmpeg-${version}-win32-ia32.zip`,
|
`ffmpeg-${version}-win32-ia32.zip`,
|
||||||
`ffmpeg-${version}-win32-x64.zip`,
|
`ffmpeg-${version}-win32-x64.zip`,
|
||||||
`ffmpeg-${version}-win32-arm64.zip`,
|
`ffmpeg-${version}-win32-arm64.zip`,
|
||||||
`mksnapshot-${version}-darwin-x64.zip`,
|
`mksnapshot-${version}-darwin-x64.zip`,
|
||||||
|
`mksnapshot-${version}-darwin-arm64.zip`,
|
||||||
`mksnapshot-${version}-linux-arm64-x64.zip`,
|
`mksnapshot-${version}-linux-arm64-x64.zip`,
|
||||||
`mksnapshot-${version}-linux-armv7l-x64.zip`,
|
`mksnapshot-${version}-linux-armv7l-x64.zip`,
|
||||||
`mksnapshot-${version}-linux-ia32.zip`,
|
`mksnapshot-${version}-linux-ia32.zip`,
|
||||||
`mksnapshot-${version}-linux-x64.zip`,
|
`mksnapshot-${version}-linux-x64.zip`,
|
||||||
`mksnapshot-${version}-mas-x64.zip`,
|
`mksnapshot-${version}-mas-x64.zip`,
|
||||||
|
`mksnapshot-${version}-mas-arm64.zip`,
|
||||||
`mksnapshot-${version}-win32-ia32.zip`,
|
`mksnapshot-${version}-win32-ia32.zip`,
|
||||||
`mksnapshot-${version}-win32-x64.zip`,
|
`mksnapshot-${version}-win32-x64.zip`,
|
||||||
`mksnapshot-${version}-win32-arm64-x64.zip`,
|
`mksnapshot-${version}-win32-arm64-x64.zip`,
|
||||||
|
|
Loading…
Reference in a new issue