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 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

View file

@ -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',

View file

@ -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`,