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:
Samuel Attard 2020-07-21 04:55:00 -07:00 committed by GitHub
parent a12602dbc3
commit 589968f9fc
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 117 additions and 22 deletions

View file

@ -37,10 +37,18 @@ parameters:
type: boolean
default: false
run-osx-publish-arm64:
type: boolean
default: false
run-mas-publish:
type: boolean
default: false
run-mas-publish-arm64:
type: boolean
default: false
run-linux-publish:
type: boolean
default: false
@ -145,6 +153,7 @@ env-mas: &env-mas
env-mas-apple-silicon: &env-mas-apple-silicon
GN_EXTRA_ARGS: 'target_cpu = "arm64" is_mas_build = true'
MAS_BUILD: 'true'
TARGET_ARCH: arm64
# Misc build configuration options.
env-enable-sccache: &env-enable-sccache
@ -1764,7 +1773,7 @@ jobs:
<<: *env-enable-sccache
UPLOAD_TO_S3: << pipeline.parameters.upload-to-s3 >>
steps:
- electron-publish:
- electron-publish:
attach: false
checkout: true
@ -1776,7 +1785,7 @@ jobs:
<<: *env-enable-sccache
UPLOAD_TO_S3: << pipeline.parameters.upload-to-s3 >>
steps:
- electron-publish:
- electron-publish:
attach: true
checkout: false
@ -1828,7 +1837,7 @@ jobs:
<<: *env-32bit-release
UPLOAD_TO_S3: << pipeline.parameters.upload-to-s3 >>
steps:
- electron-publish:
- electron-publish:
attach: false
checkout: true
@ -1842,7 +1851,7 @@ jobs:
<<: *env-32bit-release
UPLOAD_TO_S3: << pipeline.parameters.upload-to-s3 >>
steps:
- electron-publish:
- electron-publish:
attach: true
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'
UPLOAD_TO_S3: << pipeline.parameters.upload-to-s3 >>
steps:
- electron-publish:
- electron-publish:
attach: false
checkout: true
@ -1909,7 +1918,7 @@ jobs:
<<: *env-32bit-release
UPLOAD_TO_S3: << pipeline.parameters.upload-to-s3 >>
steps:
- electron-publish:
- electron-publish:
attach: true
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'
UPLOAD_TO_S3: << pipeline.parameters.upload-to-s3 >>
steps:
- electron-publish:
- electron-publish:
attach: false
checkout: true
@ -1982,7 +1991,7 @@ jobs:
<<: *env-enable-sccache
UPLOAD_TO_S3: << pipeline.parameters.upload-to-s3 >>
steps:
- electron-publish:
- electron-publish:
attach: true
checkout: false
@ -2031,7 +2040,21 @@ jobs:
GCLIENT_EXTRA_ARGS: '--custom-var=checkout_boto=True --custom-var=checkout_requests=True'
UPLOAD_TO_S3: << pipeline.parameters.upload-to-s3 >>
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
checkout: true
@ -2043,7 +2066,20 @@ jobs:
<<: *env-enable-sccache
UPLOAD_TO_S3: << pipeline.parameters.upload-to-s3 >>
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
checkout: false
@ -2112,11 +2148,25 @@ jobs:
GCLIENT_EXTRA_ARGS: '--custom-var=checkout_boto=True --custom-var=checkout_requests=True'
UPLOAD_TO_S3: << pipeline.parameters.upload-to-s3 >>
steps:
- electron-publish:
- electron-publish:
attach: false
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
environment:
<<: *env-mac-large-release
@ -2125,7 +2175,20 @@ jobs:
<<: *env-enable-sccache
UPLOAD_TO_S3: << pipeline.parameters.upload-to-s3 >>
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
checkout: false
@ -2429,6 +2492,18 @@ workflows:
- mas-publish:
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:
when: << pipeline.parameters.run-macos-publish >>
jobs:
@ -2436,7 +2511,13 @@ workflows:
- osx-publish-x64-skip-checkout:
requires:
- 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:
- mac-checkout

View file

@ -15,19 +15,21 @@ const appVeyorJobs = {
'electron-woa': 'electron-woa-release'
};
const circleCIJobs = [
const circleCIPublishWorkflows = [
'linux-publish',
'macos-publish'
];
const circleCIJobs = circleCIPublishWorkflows.concat([
'linux-arm-publish',
'linux-arm64-publish',
'linux-ia32-publish',
'linux-x64-publish',
'mas-publish',
'osx-publish'
];
const circleCIPublishWorkflows = [
'linux-publish',
'macos-publish'
];
'mas-publish-arm64',
'osx-publish',
'osx-publish-arm64'
]);
const vstsArmJobs = [
'electron-arm-testing',

View file

@ -97,17 +97,22 @@ function check (condition, statement, exitIfFail = false) {
function assetsForVersion (version, validatingRelease) {
const patterns = [
`chromedriver-${version}-darwin-x64.zip`,
`chromedriver-${version}-darwin-arm64.zip`,
`chromedriver-${version}-linux-arm64.zip`,
`chromedriver-${version}-linux-armv7l.zip`,
`chromedriver-${version}-linux-ia32.zip`,
`chromedriver-${version}-linux-x64.zip`,
`chromedriver-${version}-mas-x64.zip`,
`chromedriver-${version}-mas-arm64.zip`,
`chromedriver-${version}-win32-ia32.zip`,
`chromedriver-${version}-win32-x64.zip`,
`chromedriver-${version}-win32-arm64.zip`,
`electron-${version}-darwin-x64-dsym.zip`,
`electron-${version}-darwin-x64-symbols.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.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-symbols.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-symbols.zip`,
`electron-${version}-win32-ia32.zip`,
@ -133,20 +141,24 @@ function assetsForVersion (version, validatingRelease) {
'electron.d.ts',
'hunspell_dictionaries.zip',
`ffmpeg-${version}-darwin-x64.zip`,
`ffmpeg-${version}-darwin-arm64.zip`,
`ffmpeg-${version}-linux-arm64.zip`,
`ffmpeg-${version}-linux-armv7l.zip`,
`ffmpeg-${version}-linux-ia32.zip`,
`ffmpeg-${version}-linux-x64.zip`,
`ffmpeg-${version}-mas-x64.zip`,
`ffmpeg-${version}-mas-arm64.zip`,
`ffmpeg-${version}-win32-ia32.zip`,
`ffmpeg-${version}-win32-x64.zip`,
`ffmpeg-${version}-win32-arm64.zip`,
`mksnapshot-${version}-darwin-x64.zip`,
`mksnapshot-${version}-darwin-arm64.zip`,
`mksnapshot-${version}-linux-arm64-x64.zip`,
`mksnapshot-${version}-linux-armv7l-x64.zip`,
`mksnapshot-${version}-linux-ia32.zip`,
`mksnapshot-${version}-linux-x64.zip`,
`mksnapshot-${version}-mas-x64.zip`,
`mksnapshot-${version}-mas-arm64.zip`,
`mksnapshot-${version}-win32-ia32.zip`,
`mksnapshot-${version}-win32-x64.zip`,
`mksnapshot-${version}-win32-arm64-x64.zip`,