|
@@ -135,9 +135,6 @@ env-mas: &env-mas
|
|
|
MAS_BUILD: 'true'
|
|
|
|
|
|
# Misc build configuration options.
|
|
|
-env-enable-sccache: &env-enable-sccache
|
|
|
- USE_SCCACHE: true
|
|
|
-
|
|
|
env-send-slack-notifications: &env-send-slack-notifications
|
|
|
NOTIFY_SLACK: true
|
|
|
|
|
@@ -271,22 +268,10 @@ step-setup-env-for-build: &step-setup-env-for-build
|
|
|
# To find `gn` executable.
|
|
|
echo 'export CHROMIUM_BUILDTOOLS_PATH="'"$PWD"'/src/buildtools"' >> $BASH_ENV
|
|
|
|
|
|
- if [ "$USE_SCCACHE" == "true" ]; then
|
|
|
- # https://github.com/mozilla/sccache
|
|
|
- SCCACHE_PATH="$PWD/src/electron/external_binaries/sccache"
|
|
|
- echo 'export SCCACHE_PATH="'"$SCCACHE_PATH"'"' >> $BASH_ENV
|
|
|
- if [ "$CIRCLE_PR_NUMBER" != "" ]; then
|
|
|
- #if building a fork set readonly access to sccache
|
|
|
- echo 'export SCCACHE_BUCKET="electronjs-sccache-ci"' >> $BASH_ENV
|
|
|
- echo 'export SCCACHE_TWO_TIER=true' >> $BASH_ENV
|
|
|
- fi
|
|
|
- fi
|
|
|
-
|
|
|
step-setup-goma-for-build: &step-setup-goma-for-build
|
|
|
run:
|
|
|
name: Setup Goma
|
|
|
command: |
|
|
|
- echo 'export USE_GOMA=true' >> $BASH_ENV
|
|
|
echo 'export NUMBER_OF_NINJA_PROCESSES=300' >> $BASH_ENV
|
|
|
if [ "`uname`" == "Darwin" ]; then
|
|
|
echo 'ulimit -n 10000' >> $BASH_ENV
|
|
@@ -407,11 +392,7 @@ step-gn-gen-default: &step-gn-gen-default
|
|
|
name: Default GN gen
|
|
|
command: |
|
|
|
cd src
|
|
|
- if [ "$USE_GOMA" == "true" ]; then
|
|
|
- gn gen out/Default --args="import(\"$GN_CONFIG\") import(\"$GN_GOMA_FILE\") $GN_EXTRA_ARGS $GN_BUILDFLAG_ARGS"
|
|
|
- else
|
|
|
- gn gen out/Default --args="import(\"$GN_CONFIG\") cc_wrapper=\"$SCCACHE_PATH\" $GN_EXTRA_ARGS $GN_BUILDFLAG_ARGS"
|
|
|
- fi
|
|
|
+ gn gen out/Default --args="import(\"$GN_CONFIG\") import(\"$GN_GOMA_FILE\") $GN_EXTRA_ARGS $GN_BUILDFLAG_ARGS"
|
|
|
|
|
|
step-gn-check: &step-gn-check
|
|
|
run:
|
|
@@ -508,11 +489,7 @@ step-electron-maybe-chromedriver-gn-gen: &step-electron-maybe-chromedriver-gn-ge
|
|
|
command: |
|
|
|
cd src
|
|
|
if [ "$TARGET_ARCH" == "arm" ] || [ "$TARGET_ARCH" == "arm64" ]; then
|
|
|
- if [ "$USE_GOMA" == "true" ]; then
|
|
|
- gn gen out/chromedriver --args="import(\"$GN_CONFIG\") import(\"$GN_GOMA_FILE\") is_component_ffmpeg=false proprietary_codecs=false $GN_EXTRA_ARGS $GN_BUILDFLAG_ARGS"
|
|
|
- else
|
|
|
- gn gen out/chromedriver --args="import(\"$GN_CONFIG\") cc_wrapper=\"$SCCACHE_PATH\" is_component_ffmpeg=false proprietary_codecs=false $GN_EXTRA_ARGS $GN_BUILDFLAG_ARGS"
|
|
|
- fi
|
|
|
+ gn gen out/chromedriver --args="import(\"$GN_CONFIG\") import(\"$GN_GOMA_FILE\") is_component_ffmpeg=false proprietary_codecs=false $GN_EXTRA_ARGS $GN_BUILDFLAG_ARGS"
|
|
|
fi
|
|
|
|
|
|
step-electron-chromedriver-build: &step-electron-chromedriver-build
|
|
@@ -623,11 +600,7 @@ step-ffmpeg-gn-gen: &step-ffmpeg-gn-gen
|
|
|
name: ffmpeg GN gen
|
|
|
command: |
|
|
|
cd src
|
|
|
- if [ "$USE_GOMA" == "true" ]; then
|
|
|
- gn gen out/ffmpeg --args="import(\"//electron/build/args/ffmpeg.gn\") import(\"$GN_GOMA_FILE\") $GN_EXTRA_ARGS"
|
|
|
- else
|
|
|
- gn gen out/ffmpeg --args="import(\"//electron/build/args/ffmpeg.gn\") cc_wrapper=\"$SCCACHE_PATH\" $GN_EXTRA_ARGS"
|
|
|
- fi
|
|
|
+ gn gen out/ffmpeg --args="import(\"//electron/build/args/ffmpeg.gn\") import(\"$GN_GOMA_FILE\") $GN_EXTRA_ARGS"
|
|
|
|
|
|
step-ffmpeg-build: &step-ffmpeg-build
|
|
|
run:
|
|
@@ -670,16 +643,17 @@ step-setup-linux-for-headless-testing: &step-setup-linux-for-headless-testing
|
|
|
sh -e /etc/init.d/xvfb start
|
|
|
fi
|
|
|
|
|
|
-step-show-sccache-stats: &step-show-sccache-stats
|
|
|
+step-show-goma-stats: &step-show-goma-stats
|
|
|
run:
|
|
|
- name: Check sccache/goma stats after build
|
|
|
+ shell: /bin/bash
|
|
|
+ name: Check goma stats after build
|
|
|
command: |
|
|
|
- if [ "$SCCACHE_PATH" != "" ]; then
|
|
|
- $SCCACHE_PATH -s
|
|
|
- fi
|
|
|
- if [ "$USE_GOMA" == "true" ]; then
|
|
|
- $LOCAL_GOMA_DIR/goma_ctl.py stat
|
|
|
- fi
|
|
|
+ set +e
|
|
|
+ set +o pipefail
|
|
|
+ $LOCAL_GOMA_DIR/goma_ctl.py stat
|
|
|
+ $LOCAL_GOMA_DIR/diagnose_goma_log.py
|
|
|
+ true
|
|
|
+ when: always
|
|
|
|
|
|
step-mksnapshot-build: &step-mksnapshot-build
|
|
|
run:
|
|
@@ -1050,6 +1024,7 @@ steps-electron-gn-check: &steps-electron-gn-check
|
|
|
- *step-maybe-early-exit-doc-only-change
|
|
|
- *step-depot-tools-add-to-path
|
|
|
- *step-setup-env-for-build
|
|
|
+ - *step-setup-goma-for-build
|
|
|
- *step-gn-gen-default
|
|
|
- *step-gn-check
|
|
|
|
|
@@ -1083,6 +1058,7 @@ steps-electron-ts-compile-for-doc-change: &steps-electron-ts-compile-for-doc-cha
|
|
|
|
|
|
- *step-depot-tools-add-to-path
|
|
|
- *step-setup-env-for-build
|
|
|
+ - *step-setup-goma-for-build
|
|
|
- *step-restore-brew-cache
|
|
|
- *step-get-more-space-on-mac
|
|
|
- *step-install-npm-deps-on-mac
|
|
@@ -1092,26 +1068,13 @@ steps-electron-ts-compile-for-doc-change: &steps-electron-ts-compile-for-doc-cha
|
|
|
#Compile ts/js to verify doc change didn't break anything
|
|
|
- *step-ts-compile
|
|
|
|
|
|
-steps-chromedriver-build: &steps-chromedriver-build
|
|
|
- steps:
|
|
|
- - attach_workspace:
|
|
|
- at: .
|
|
|
- - *step-depot-tools-add-to-path
|
|
|
- - *step-setup-env-for-build
|
|
|
- - *step-fix-sync-on-mac
|
|
|
-
|
|
|
- - *step-electron-maybe-chromedriver-gn-gen
|
|
|
- - *step-electron-chromedriver-build
|
|
|
- - *step-electron-chromedriver-store
|
|
|
-
|
|
|
- - *step-maybe-notify-slack-failure
|
|
|
-
|
|
|
steps-native-tests: &steps-native-tests
|
|
|
steps:
|
|
|
- attach_workspace:
|
|
|
at: .
|
|
|
- *step-depot-tools-add-to-path
|
|
|
- *step-setup-env-for-build
|
|
|
+ - *step-setup-goma-for-build
|
|
|
- *step-gn-gen-default
|
|
|
|
|
|
- run:
|
|
@@ -1119,7 +1082,7 @@ steps-native-tests: &steps-native-tests
|
|
|
command: |
|
|
|
cd src
|
|
|
ninja -C out/Default $BUILD_TARGET
|
|
|
- - *step-show-sccache-stats
|
|
|
+ - *step-show-goma-stats
|
|
|
|
|
|
- *step-setup-linux-for-headless-testing
|
|
|
- run:
|
|
@@ -1413,7 +1376,7 @@ commands:
|
|
|
- *step-nodejs-headers-build
|
|
|
- *step-nodejs-headers-store
|
|
|
|
|
|
- - *step-show-sccache-stats
|
|
|
+ - *step-show-goma-stats
|
|
|
|
|
|
# mksnapshot
|
|
|
- *step-mksnapshot-build
|
|
@@ -1501,13 +1464,14 @@ commands:
|
|
|
- *step-gclient-sync
|
|
|
- *step-delete-git-directories
|
|
|
- *step-minimize-workspace-size-from-checkout
|
|
|
- - *step-fix-sync-on-mac
|
|
|
+ - *step-fix-sync-on-mac
|
|
|
- *step-setup-env-for-build
|
|
|
+ - *step-setup-goma-for-build
|
|
|
- *step-gn-gen-default
|
|
|
|
|
|
# Electron app
|
|
|
- *step-electron-build
|
|
|
- - *step-show-sccache-stats
|
|
|
+ - *step-show-goma-stats
|
|
|
- *step-maybe-generate-breakpad-symbols
|
|
|
- *step-maybe-electron-dist-strip
|
|
|
- *step-electron-dist-build
|
|
@@ -1691,14 +1655,6 @@ jobs:
|
|
|
<<: *env-testing-build
|
|
|
<<: *steps-electron-gn-check
|
|
|
|
|
|
- linux-x64-chromedriver:
|
|
|
- <<: *machine-linux-medium
|
|
|
- environment:
|
|
|
- <<: *env-linux-medium
|
|
|
- <<: *env-release-build
|
|
|
- <<: *env-send-slack-notifications
|
|
|
- <<: *steps-chromedriver-build
|
|
|
-
|
|
|
linux-x64-release:
|
|
|
<<: *machine-linux-2xlarge
|
|
|
environment:
|
|
@@ -1718,8 +1674,8 @@ jobs:
|
|
|
<<: *env-linux-2xlarge-release
|
|
|
GCLIENT_EXTRA_ARGS: '--custom-var=checkout_boto=True --custom-var=checkout_requests=True'
|
|
|
<<: *env-release-build
|
|
|
- <<: *env-enable-sccache
|
|
|
UPLOAD_TO_S3: << pipeline.parameters.upload-to-s3 >>
|
|
|
+ <<: *env-ninja-status
|
|
|
steps:
|
|
|
- electron-publish:
|
|
|
attach: false
|
|
@@ -1730,8 +1686,8 @@ jobs:
|
|
|
environment:
|
|
|
<<: *env-linux-2xlarge-release
|
|
|
<<: *env-release-build
|
|
|
- <<: *env-enable-sccache
|
|
|
UPLOAD_TO_S3: << pipeline.parameters.upload-to-s3 >>
|
|
|
+ <<: *env-ninja-status
|
|
|
steps:
|
|
|
- electron-publish:
|
|
|
attach: true
|
|
@@ -1751,15 +1707,6 @@ jobs:
|
|
|
checkout: true
|
|
|
use-out-cache: false
|
|
|
|
|
|
- linux-ia32-chromedriver:
|
|
|
- <<: *machine-linux-medium
|
|
|
- environment:
|
|
|
- <<: *env-linux-medium
|
|
|
- <<: *env-ia32
|
|
|
- <<: *env-release-build
|
|
|
- <<: *env-send-slack-notifications
|
|
|
- <<: *steps-chromedriver-build
|
|
|
-
|
|
|
linux-ia32-release:
|
|
|
<<: *machine-linux-2xlarge
|
|
|
environment:
|
|
@@ -1781,9 +1728,9 @@ jobs:
|
|
|
GCLIENT_EXTRA_ARGS: '--custom-var=checkout_boto=True --custom-var=checkout_requests=True'
|
|
|
<<: *env-ia32
|
|
|
<<: *env-release-build
|
|
|
- <<: *env-enable-sccache
|
|
|
<<: *env-32bit-release
|
|
|
UPLOAD_TO_S3: << pipeline.parameters.upload-to-s3 >>
|
|
|
+ <<: *env-ninja-status
|
|
|
steps:
|
|
|
- electron-publish:
|
|
|
attach: false
|
|
@@ -1795,9 +1742,9 @@ jobs:
|
|
|
<<: *env-linux-2xlarge-release
|
|
|
<<: *env-ia32
|
|
|
<<: *env-release-build
|
|
|
- <<: *env-enable-sccache
|
|
|
<<: *env-32bit-release
|
|
|
UPLOAD_TO_S3: << pipeline.parameters.upload-to-s3 >>
|
|
|
+ <<: *env-ninja-status
|
|
|
steps:
|
|
|
- electron-publish:
|
|
|
attach: true
|
|
@@ -1818,15 +1765,6 @@ jobs:
|
|
|
checkout: true
|
|
|
use-out-cache: false
|
|
|
|
|
|
- linux-arm-chromedriver:
|
|
|
- <<: *machine-linux-medium
|
|
|
- environment:
|
|
|
- <<: *env-linux-medium
|
|
|
- <<: *env-arm
|
|
|
- <<: *env-release-build
|
|
|
- <<: *env-send-slack-notifications
|
|
|
- <<: *steps-chromedriver-build
|
|
|
-
|
|
|
linux-arm-release:
|
|
|
<<: *machine-linux-2xlarge
|
|
|
environment:
|
|
@@ -1847,10 +1785,10 @@ jobs:
|
|
|
<<: *env-linux-2xlarge-release
|
|
|
<<: *env-arm
|
|
|
<<: *env-release-build
|
|
|
- <<: *env-enable-sccache
|
|
|
<<: *env-32bit-release
|
|
|
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 >>
|
|
|
+ <<: *env-ninja-status
|
|
|
steps:
|
|
|
- electron-publish:
|
|
|
attach: false
|
|
@@ -1862,9 +1800,9 @@ jobs:
|
|
|
<<: *env-linux-2xlarge-release
|
|
|
<<: *env-arm
|
|
|
<<: *env-release-build
|
|
|
- <<: *env-enable-sccache
|
|
|
<<: *env-32bit-release
|
|
|
UPLOAD_TO_S3: << pipeline.parameters.upload-to-s3 >>
|
|
|
+ <<: *env-ninja-status
|
|
|
steps:
|
|
|
- electron-publish:
|
|
|
attach: true
|
|
@@ -1893,15 +1831,6 @@ jobs:
|
|
|
<<: *env-testing-build
|
|
|
<<: *steps-electron-gn-check
|
|
|
|
|
|
- linux-arm64-chromedriver:
|
|
|
- <<: *machine-linux-medium
|
|
|
- environment:
|
|
|
- <<: *env-linux-medium
|
|
|
- <<: *env-arm64
|
|
|
- <<: *env-release-build
|
|
|
- <<: *env-send-slack-notifications
|
|
|
- <<: *steps-chromedriver-build
|
|
|
-
|
|
|
linux-arm64-release:
|
|
|
<<: *machine-linux-2xlarge
|
|
|
environment:
|
|
@@ -1922,9 +1851,9 @@ jobs:
|
|
|
<<: *env-linux-2xlarge-release
|
|
|
<<: *env-arm64
|
|
|
<<: *env-release-build
|
|
|
- <<: *env-enable-sccache
|
|
|
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 >>
|
|
|
+ <<: *env-ninja-status
|
|
|
steps:
|
|
|
- electron-publish:
|
|
|
attach: false
|
|
@@ -1936,8 +1865,8 @@ jobs:
|
|
|
<<: *env-linux-2xlarge-release
|
|
|
<<: *env-arm64
|
|
|
<<: *env-release-build
|
|
|
- <<: *env-enable-sccache
|
|
|
UPLOAD_TO_S3: << pipeline.parameters.upload-to-s3 >>
|
|
|
+ <<: *env-ninja-status
|
|
|
steps:
|
|
|
- electron-publish:
|
|
|
attach: true
|
|
@@ -1965,14 +1894,6 @@ jobs:
|
|
|
<<: *env-testing-build
|
|
|
<<: *steps-electron-gn-check
|
|
|
|
|
|
- osx-chromedriver:
|
|
|
- <<: *machine-mac
|
|
|
- environment:
|
|
|
- <<: *env-machine-mac
|
|
|
- <<: *env-release-build
|
|
|
- <<: *env-send-slack-notifications
|
|
|
- <<: *steps-chromedriver-build
|
|
|
-
|
|
|
osx-release:
|
|
|
<<: *machine-mac-large
|
|
|
environment:
|
|
@@ -1992,9 +1913,9 @@ jobs:
|
|
|
environment:
|
|
|
<<: *env-mac-large-release
|
|
|
<<: *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 >>
|
|
|
+ <<: *env-ninja-status
|
|
|
steps:
|
|
|
- electron-publish:
|
|
|
attach: false
|
|
@@ -2005,8 +1926,8 @@ jobs:
|
|
|
environment:
|
|
|
<<: *env-mac-large-release
|
|
|
<<: *env-release-build
|
|
|
- <<: *env-enable-sccache
|
|
|
UPLOAD_TO_S3: << pipeline.parameters.upload-to-s3 >>
|
|
|
+ <<: *env-ninja-status
|
|
|
steps:
|
|
|
- electron-publish:
|
|
|
attach: true
|
|
@@ -2057,9 +1978,9 @@ jobs:
|
|
|
<<: *env-mac-large-release
|
|
|
<<: *env-mas
|
|
|
<<: *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 >>
|
|
|
+ <<: *env-ninja-status
|
|
|
steps:
|
|
|
- electron-publish:
|
|
|
attach: false
|
|
@@ -2071,7 +1992,6 @@ jobs:
|
|
|
<<: *env-mac-large-release
|
|
|
<<: *env-mas
|
|
|
<<: *env-release-build
|
|
|
- <<: *env-enable-sccache
|
|
|
UPLOAD_TO_S3: << pipeline.parameters.upload-to-s3 >>
|
|
|
steps:
|
|
|
- electron-publish:
|