|
@@ -1,3 +1,46 @@
|
|
|
+version: 2.1
|
|
|
+
|
|
|
+parameters:
|
|
|
+ upload-to-s3:
|
|
|
+ type: string
|
|
|
+ default: '1'
|
|
|
+
|
|
|
+ run-lint:
|
|
|
+ type: boolean
|
|
|
+ default: true
|
|
|
+
|
|
|
+ run-build-linux:
|
|
|
+ type: boolean
|
|
|
+ default: true
|
|
|
+
|
|
|
+ run-build-mac:
|
|
|
+ type: boolean
|
|
|
+ default: true
|
|
|
+
|
|
|
+ run-linux-x64-publish:
|
|
|
+ type: boolean
|
|
|
+ default: false
|
|
|
+
|
|
|
+ run-linux-ia32-publish:
|
|
|
+ type: boolean
|
|
|
+ default: false
|
|
|
+
|
|
|
+ run-linux-arm-publish:
|
|
|
+ type: boolean
|
|
|
+ default: false
|
|
|
+
|
|
|
+ run-linux-arm64-publish:
|
|
|
+ type: boolean
|
|
|
+ default: false
|
|
|
+
|
|
|
+ run-osx-publish:
|
|
|
+ type: boolean
|
|
|
+ default: false
|
|
|
+
|
|
|
+ run-mas-publish:
|
|
|
+ type: boolean
|
|
|
+ default: false
|
|
|
+
|
|
|
# The config expects the following environment variables to be set:
|
|
|
# - "SLACK_WEBHOOK" Slack hook URL to send notifications.
|
|
|
#
|
|
@@ -86,7 +129,7 @@ env-enable-sccache: &env-enable-sccache
|
|
|
|
|
|
env-send-slack-notifications: &env-send-slack-notifications
|
|
|
NOTIFY_SLACK: true
|
|
|
-
|
|
|
+
|
|
|
env-global: &env-global
|
|
|
ELECTRON_OUT_DIR: Default
|
|
|
|
|
@@ -162,16 +205,15 @@ step-gclient-sync: &step-gclient-sync
|
|
|
run:
|
|
|
name: Gclient sync
|
|
|
command: |
|
|
|
- gclient config \
|
|
|
+ # If we did not restore a complete sync then we need to sync for realz
|
|
|
+ if [ ! -s "src/electron/.circle-sync-done" ]; then
|
|
|
+ gclient config \
|
|
|
--name "src/electron" \
|
|
|
--unmanaged \
|
|
|
$GCLIENT_EXTRA_ARGS \
|
|
|
"$CIRCLE_REPOSITORY_URL"
|
|
|
-
|
|
|
- gclient sync --with_branch_heads --with_tags
|
|
|
-
|
|
|
- # Manually run update-external-binaries.py with system python
|
|
|
- python src/electron/script/update-external-binaries.py
|
|
|
+ gclient sync --with_branch_heads --with_tags
|
|
|
+ fi
|
|
|
|
|
|
step-setup-env-for-build: &step-setup-env-for-build
|
|
|
run:
|
|
@@ -198,6 +240,13 @@ step-restore-brew-cache: &step-restore-brew-cache
|
|
|
keys:
|
|
|
- v1-brew-cache-{{ arch }}
|
|
|
|
|
|
+step-save-brew-cache: &step-save-brew-cache
|
|
|
+ save_cache:
|
|
|
+ paths:
|
|
|
+ - /usr/local/Homebrew
|
|
|
+ key: v1-brew-cache-{{ arch }}
|
|
|
+ name: Persisting brew cache
|
|
|
+
|
|
|
step-get-more-space-on-mac: &step-get-more-space-on-mac
|
|
|
run:
|
|
|
name: Free up space on MacOS
|
|
@@ -237,11 +286,16 @@ step-fix-sync-on-mac: &step-fix-sync-on-mac
|
|
|
# Fix Clang Install (wrong binary)
|
|
|
rm -rf src/third_party/llvm-build
|
|
|
python src/tools/clang/scripts/update.py
|
|
|
- # Fix Framework Header Installs (symlinks not retained)
|
|
|
- rm -rf src/electron/external_binaries
|
|
|
- python src/electron/script/update-external-binaries.py
|
|
|
fi
|
|
|
|
|
|
+# Manually run update-external-binaries.py with system python
|
|
|
+step-fixup-external-binaries: &step-fixup-external-binaries
|
|
|
+ run:
|
|
|
+ name: Update external binaries
|
|
|
+ command: |
|
|
|
+ rm -rf src/electron/external_binaries
|
|
|
+ python src/electron/script/update-external-binaries.py
|
|
|
+
|
|
|
step-install-signing-cert-on-mac: &step-install-signing-cert-on-mac
|
|
|
run:
|
|
|
name: Import and trust self-signed codesigning cert on MacOS
|
|
@@ -554,6 +608,93 @@ step-fix-known-hosts-linux: &step-fix-known-hosts-linux
|
|
|
./src/electron/.circleci/fix-known-hosts.sh
|
|
|
fi
|
|
|
|
|
|
+# Checkout Steps
|
|
|
+step-generate-deps-hash: &step-generate-deps-hash
|
|
|
+ run:
|
|
|
+ name: Generate DEPS Hash
|
|
|
+ command: node src/electron/script/generate-deps-hash.js
|
|
|
+
|
|
|
+step-touch-sync-done: &step-touch-sync-done
|
|
|
+ run:
|
|
|
+ name: Touch Sync Done
|
|
|
+ command: touch src/electron/.circle-sync-done
|
|
|
+
|
|
|
+# Restore exact src cache based on the hash of DEPS and patches/*
|
|
|
+# If no cache is matched EXACTLY then the .circle-sync-done file is empty
|
|
|
+# If a cache is matched EXACTLY then the .circle-sync-done file contains "done"
|
|
|
+step-maybe-restore-src-cache: &step-maybe-restore-src-cache
|
|
|
+ restore_cache:
|
|
|
+ paths:
|
|
|
+ - ./src
|
|
|
+ keys:
|
|
|
+ - v5-src-cache-{{ arch }}-{{ checksum "src/electron/.depshash" }}
|
|
|
+ name: Restoring src cache
|
|
|
+
|
|
|
+# Restore exact or closest git cache based on the hash of DEPS and .circle-sync-done
|
|
|
+# If the src cache was restored above then this will match an empty cache
|
|
|
+# If the src cache was not restored above then this will match a close git cache
|
|
|
+step-maybe-restore-git-cache: &step-maybe-restore-git-cache
|
|
|
+ restore_cache:
|
|
|
+ paths:
|
|
|
+ - ~/.gclient-cache
|
|
|
+ keys:
|
|
|
+ - v2-gclient-cache-{{ arch }}-{{ checksum "src/electron/.circle-sync-done" }}-{{ checksum "src/electron/DEPS" }}
|
|
|
+ - v2-gclient-cache-{{ arch }}-{{ checksum "src/electron/.circle-sync-done" }}
|
|
|
+ name: Conditionally restoring git cache
|
|
|
+
|
|
|
+step-set-git-cache-path: &step-set-git-cache-path
|
|
|
+ run:
|
|
|
+ name: Set GIT_CACHE_PATH to make gclient to use the cache
|
|
|
+ command: |
|
|
|
+ # CircleCI does not support interpolation when setting environment variables.
|
|
|
+ # https://circleci.com/docs/2.0/env-vars/#setting-an-environment-variable-in-a-shell-command
|
|
|
+ echo 'export GIT_CACHE_PATH="$HOME/.gclient-cache"' >> $BASH_ENV
|
|
|
+
|
|
|
+# Persist the git cache based on the hash of DEPS and .circle-sync-done
|
|
|
+# If the src cache was restored above then this will persist an empty cache
|
|
|
+step-save-git-cache: &step-save-git-cache
|
|
|
+ save_cache:
|
|
|
+ paths:
|
|
|
+ - ~/.gclient-cache
|
|
|
+ key: v2-gclient-cache-{{ arch }}-{{ checksum "src/electron/.circle-sync-done" }}-{{ checksum "src/electron/DEPS" }}
|
|
|
+ name: Persisting git cache
|
|
|
+
|
|
|
+step-run-electron-only-hooks: &step-run-electron-only-hooks
|
|
|
+ run:
|
|
|
+ name: Run Electron Only Hooks
|
|
|
+ command: gclient runhooks --spec="solutions=[{'name':'src/electron','url':None,'deps_file':'DEPS','custom_vars':{'process_deps':False},'managed':False}]"
|
|
|
+
|
|
|
+step-generate-deps-hash-cleanly: &step-generate-deps-hash-cleanly
|
|
|
+ run:
|
|
|
+ name: Generate DEPS Hash
|
|
|
+ command: (cd src/electron && git checkout .) && node src/electron/script/generate-deps-hash.js
|
|
|
+
|
|
|
+# Mark the sync as done for future cache saving
|
|
|
+step-mark-sync-done: &step-mark-sync-done
|
|
|
+ run:
|
|
|
+ name: Mark Sync Done
|
|
|
+ command: echo DONE > src/electron/.circle-sync-done
|
|
|
+
|
|
|
+# Minimize the size of the cache
|
|
|
+step-minimize-workspace-size-from-checkout: &step-minimize-workspace-size-from-checkout
|
|
|
+ run:
|
|
|
+ name: Remove some unused data to avoid storing it in the workspace/cache
|
|
|
+ command: |
|
|
|
+ rm -rf src/android_webview
|
|
|
+ rm -rf src/ios
|
|
|
+ rm -rf src/third_party/blink/web_tests
|
|
|
+ rm -rf src/third_party/blink/perf_tests
|
|
|
+ rm -rf src/third_party/hunspell_dictionaries
|
|
|
+ rm -rf src/third_party/WebKit/LayoutTests
|
|
|
+
|
|
|
+# Save the src cache based on the deps hash
|
|
|
+step-save-src-cache: &step-save-src-cache
|
|
|
+ save_cache:
|
|
|
+ paths:
|
|
|
+ - ./src
|
|
|
+ key: v5-src-cache-{{ arch }}-{{ checksum "src/electron/.depshash" }}
|
|
|
+ name: Persisting src cache
|
|
|
+
|
|
|
# Lists of steps.
|
|
|
steps-lint: &steps-lint
|
|
|
steps:
|
|
@@ -570,7 +711,7 @@ steps-lint: &steps-lint
|
|
|
chromium_revision="$(grep -A1 chromium_version src/electron/DEPS | tr -d '\n' | cut -d\' -f4)"
|
|
|
gn_version="$(curl -sL "https://chromium.googlesource.com/chromium/src/+/${chromium_revision}/DEPS?format=TEXT" | base64 -d | grep gn_version | head -n1 | cut -d\' -f4)"
|
|
|
|
|
|
- cipd ensure -ensure-file - -root . <<-CIPD
|
|
|
+ cipd ensure -ensure-file - -root . \<<-CIPD
|
|
|
\$ServiceURL https://chrome-infra-packages.appspot.com/
|
|
|
@Subdir buildtools/linux64
|
|
|
gn/gn/linux-amd64 $gn_version
|
|
@@ -590,7 +731,7 @@ steps-lint: &steps-lint
|
|
|
node script/yarn install
|
|
|
node script/yarn lint
|
|
|
|
|
|
-steps-checkout: &steps-checkout
|
|
|
+steps-checkout-fast: &steps-checkout-fast
|
|
|
steps:
|
|
|
- *step-checkout-electron
|
|
|
- *step-depot-tools-get
|
|
@@ -599,40 +740,57 @@ steps-checkout: &steps-checkout
|
|
|
- *step-get-more-space-on-mac
|
|
|
- *step-install-gnutar-on-mac
|
|
|
|
|
|
- - restore_cache:
|
|
|
- paths:
|
|
|
- - ~/.gclient-cache
|
|
|
- keys:
|
|
|
- - v1-gclient-cache-{{ arch }}-{{ checksum "src/electron/DEPS" }}
|
|
|
- - v1-gclient-cache-{{ arch }}-
|
|
|
- - run:
|
|
|
- name: Set GIT_CACHE_PATH to make gclient to use the cache
|
|
|
- command: |
|
|
|
- # CircleCI does not support interpolation when setting environment variables.
|
|
|
- # https://circleci.com/docs/2.0/env-vars/#setting-an-environment-variable-in-a-shell-command
|
|
|
- echo 'export GIT_CACHE_PATH="$HOME/.gclient-cache"' >> $BASH_ENV
|
|
|
+ - *step-generate-deps-hash
|
|
|
+ - *step-touch-sync-done
|
|
|
+ - *step-maybe-restore-src-cache
|
|
|
+ - *step-maybe-restore-git-cache
|
|
|
+ - *step-set-git-cache-path
|
|
|
+ # This sync call only runs if .circle-sync-done is an EMPTY file
|
|
|
- *step-gclient-sync
|
|
|
- - save_cache:
|
|
|
- paths:
|
|
|
- - ~/.gclient-cache
|
|
|
- key: v1-gclient-cache-{{ arch }}-{{ checksum "src/electron/DEPS" }}
|
|
|
- - save_cache:
|
|
|
- paths:
|
|
|
- - /usr/local/Homebrew
|
|
|
- key: v1-brew-cache-{{ arch }}
|
|
|
-
|
|
|
+ # These next few steps reset Electron to the correct commit regardless of which cache was restored
|
|
|
- run:
|
|
|
- name: Remove some unused data to avoid storing it in the workspace
|
|
|
- command: |
|
|
|
- rm -rf src/android_webview
|
|
|
- rm -rf src/ios
|
|
|
- rm -rf src/third_party/WebKit/LayoutTests
|
|
|
+ name: Wipe Electron
|
|
|
+ command: rm -rf src/electron
|
|
|
+ - *step-checkout-electron
|
|
|
+ - *step-run-electron-only-hooks
|
|
|
+ - *step-generate-deps-hash-cleanly
|
|
|
+ - *step-mark-sync-done
|
|
|
+ - *step-minimize-workspace-size-from-checkout
|
|
|
- persist_to_workspace:
|
|
|
root: .
|
|
|
paths:
|
|
|
- depot_tools
|
|
|
- src
|
|
|
|
|
|
+steps-checkout-and-save-cache: &steps-checkout-and-save-cache
|
|
|
+ steps:
|
|
|
+ - *step-checkout-electron
|
|
|
+ - *step-depot-tools-get
|
|
|
+ - *step-depot-tools-add-to-path
|
|
|
+ - *step-restore-brew-cache
|
|
|
+ - *step-get-more-space-on-mac
|
|
|
+ - *step-install-gnutar-on-mac
|
|
|
+
|
|
|
+ - *step-generate-deps-hash
|
|
|
+ - *step-touch-sync-done
|
|
|
+ - *step-maybe-restore-src-cache
|
|
|
+ - *step-maybe-restore-git-cache
|
|
|
+ - *step-set-git-cache-path
|
|
|
+ # This sync call only runs if .circle-sync-done is an EMPTY file
|
|
|
+ - *step-gclient-sync
|
|
|
+ - *step-save-git-cache
|
|
|
+ # These next few steps reset Electron to the correct commit regardless of which cache was restored
|
|
|
+ - run:
|
|
|
+ name: Wipe Electron
|
|
|
+ command: rm -rf src/electron
|
|
|
+ - *step-checkout-electron
|
|
|
+ - *step-run-electron-only-hooks
|
|
|
+ - *step-generate-deps-hash-cleanly
|
|
|
+ - *step-mark-sync-done
|
|
|
+ - *step-minimize-workspace-size-from-checkout
|
|
|
+ - *step-save-src-cache
|
|
|
+ - *step-save-brew-cache
|
|
|
+
|
|
|
steps-electron-gn-check: &steps-electron-gn-check
|
|
|
steps:
|
|
|
- attach_workspace:
|
|
@@ -648,6 +806,7 @@ steps-electron-build: &steps-electron-build
|
|
|
at: .
|
|
|
- *step-depot-tools-add-to-path
|
|
|
- *step-setup-env-for-build
|
|
|
+ - *step-fixup-external-binaries
|
|
|
- *step-gn-gen-default
|
|
|
|
|
|
# Electron app
|
|
@@ -671,6 +830,7 @@ steps-electron-build-for-tests: &steps-electron-build-for-tests
|
|
|
- *step-get-more-space-on-mac
|
|
|
- *step-install-npm-deps-on-mac
|
|
|
- *step-fix-sync-on-mac
|
|
|
+ - *step-fixup-external-binaries
|
|
|
- *step-gn-gen-default
|
|
|
- *step-delete-git-directories
|
|
|
|
|
@@ -716,6 +876,7 @@ steps-electron-build-for-publish: &steps-electron-build-for-publish
|
|
|
- *step-restore-brew-cache
|
|
|
- *step-get-more-space-on-mac
|
|
|
- *step-gclient-sync
|
|
|
+ - *step-fixup-external-binaries
|
|
|
- *step-setup-env-for-build
|
|
|
- *step-gn-gen-default
|
|
|
- *step-delete-git-directories
|
|
@@ -758,6 +919,7 @@ steps-chromedriver-build: &steps-chromedriver-build
|
|
|
- *step-depot-tools-add-to-path
|
|
|
- *step-setup-env-for-build
|
|
|
- *step-fix-sync-on-mac
|
|
|
+ - *step-fixup-external-binaries
|
|
|
- *step-gn-gen-default
|
|
|
|
|
|
- *step-electron-chromedriver-build
|
|
@@ -866,7 +1028,6 @@ chromium-upgrade-branches: &chromium-upgrade-branches
|
|
|
/chromium\-upgrade\/[0-9]+/
|
|
|
|
|
|
# List of all jobs.
|
|
|
-version: 2
|
|
|
jobs:
|
|
|
# Layer 0: Lint. Standalone.
|
|
|
lint:
|
|
@@ -876,33 +1037,47 @@ jobs:
|
|
|
<<: *steps-lint
|
|
|
|
|
|
# Layer 1: Checkout.
|
|
|
- linux-checkout:
|
|
|
+ linux-checkout-fast:
|
|
|
<<: *machine-linux-2xlarge
|
|
|
environment:
|
|
|
<<: *env-linux-2xlarge
|
|
|
GCLIENT_EXTRA_ARGS: '--custom-var=checkout_arm=True --custom-var=checkout_arm64=True'
|
|
|
- <<: *steps-checkout
|
|
|
+ <<: *steps-checkout-fast
|
|
|
+
|
|
|
+ linux-checkout-and-save-cache:
|
|
|
+ <<: *machine-linux-2xlarge
|
|
|
+ environment:
|
|
|
+ <<: *env-linux-2xlarge
|
|
|
+ GCLIENT_EXTRA_ARGS: '--custom-var=checkout_arm=True --custom-var=checkout_arm64=True'
|
|
|
+ <<: *steps-checkout-and-save-cache
|
|
|
|
|
|
linux-checkout-for-native-tests:
|
|
|
<<: *machine-linux-2xlarge
|
|
|
environment:
|
|
|
<<: *env-linux-2xlarge
|
|
|
GCLIENT_EXTRA_ARGS: '--custom-var=checkout_pyyaml=True'
|
|
|
- <<: *steps-checkout
|
|
|
+ <<: *steps-checkout-fast
|
|
|
|
|
|
linux-checkout-for-native-tests-with-no-patches:
|
|
|
<<: *machine-linux-2xlarge
|
|
|
environment:
|
|
|
<<: *env-linux-2xlarge
|
|
|
GCLIENT_EXTRA_ARGS: '--custom-var=apply_patches=False --custom-var=checkout_pyyaml=True'
|
|
|
- <<: *steps-checkout
|
|
|
+ <<: *steps-checkout-fast
|
|
|
+
|
|
|
+ mac-checkout-fast:
|
|
|
+ <<: *machine-linux-2xlarge
|
|
|
+ environment:
|
|
|
+ <<: *env-linux-2xlarge
|
|
|
+ GCLIENT_EXTRA_ARGS: '--custom-var=checkout_mac=True --custom-var=host_os=mac'
|
|
|
+ <<: *steps-checkout-fast
|
|
|
|
|
|
- mac-checkout:
|
|
|
+ mac-checkout-and-save-cache:
|
|
|
<<: *machine-linux-2xlarge
|
|
|
environment:
|
|
|
<<: *env-linux-2xlarge
|
|
|
GCLIENT_EXTRA_ARGS: '--custom-var=checkout_mac=True --custom-var=host_os=mac'
|
|
|
- <<: *steps-checkout
|
|
|
+ <<: *steps-checkout-and-save-cache
|
|
|
|
|
|
# Layer 2: Builds.
|
|
|
linux-x64-debug:
|
|
@@ -959,6 +1134,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 >>
|
|
|
<<: *steps-electron-build-for-publish
|
|
|
|
|
|
linux-ia32-debug:
|
|
@@ -1006,6 +1183,8 @@ jobs:
|
|
|
GCLIENT_EXTRA_ARGS: '--custom-var=checkout_boto=True --custom-var=checkout_requests=True'
|
|
|
<<: *env-ia32
|
|
|
<<: *env-release-build
|
|
|
+ <<: *env-enable-sccache
|
|
|
+ UPLOAD_TO_S3: << pipeline.parameters.upload-to-s3 >>
|
|
|
<<: *steps-electron-build-for-publish
|
|
|
|
|
|
linux-arm-debug:
|
|
@@ -1053,7 +1232,9 @@ jobs:
|
|
|
<<: *env-linux-2xlarge-release
|
|
|
<<: *env-arm
|
|
|
<<: *env-release-build
|
|
|
+ <<: *env-enable-sccache
|
|
|
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-build-for-publish
|
|
|
|
|
|
linux-arm64-debug:
|
|
@@ -1117,7 +1298,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 >>
|
|
|
<<: *steps-electron-build-for-publish
|
|
|
|
|
|
osx-testing:
|
|
@@ -1172,7 +1355,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 >>
|
|
|
<<: *steps-electron-build-for-publish
|
|
|
|
|
|
mas-testing:
|
|
@@ -1233,7 +1418,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 >>
|
|
|
<<: *steps-electron-build-for-publish
|
|
|
|
|
|
# Layer 3: Tests.
|
|
@@ -1455,78 +1642,127 @@ jobs:
|
|
|
|
|
|
workflows:
|
|
|
version: 2
|
|
|
+
|
|
|
+ # The publish workflows below each contain one job so that they are
|
|
|
+ # compatible with how sudowoodo works today. If these workflows are
|
|
|
+ # changed to have multiple jobs, then scripts/release/ci-release-build.js
|
|
|
+ # will need to be updated and there will most likely need to be changes to
|
|
|
+ # sudowoodo
|
|
|
+
|
|
|
+ publish-x64-linux:
|
|
|
+ when: << pipeline.parameters.run-linux-x64-publish >>
|
|
|
+ jobs:
|
|
|
+ - linux-x64-publish:
|
|
|
+ context: release-env
|
|
|
+
|
|
|
+ publish-ia32-linux:
|
|
|
+ when: << pipeline.parameters.run-linux-ia32-publish >>
|
|
|
+ jobs:
|
|
|
+ - linux-ia32-publish:
|
|
|
+ context: release-env
|
|
|
+
|
|
|
+ publish-arm-linux:
|
|
|
+ when: << pipeline.parameters.run-linux-arm-publish >>
|
|
|
+ jobs:
|
|
|
+ - linux-arm-publish:
|
|
|
+ context: release-env
|
|
|
+
|
|
|
+ publish-arm64-linux:
|
|
|
+ when: << pipeline.parameters.run-linux-arm64-publish >>
|
|
|
+ jobs:
|
|
|
+ - linux-arm64-publish:
|
|
|
+ context: release-env
|
|
|
+
|
|
|
+ publish-osx:
|
|
|
+ when: << pipeline.parameters.run-osx-publish >>
|
|
|
+ jobs:
|
|
|
+ - osx-publish:
|
|
|
+ context: release-env
|
|
|
+
|
|
|
+ publish-mas:
|
|
|
+ when: << pipeline.parameters.run-mas-publish >>
|
|
|
+ jobs:
|
|
|
+ - mas-publish:
|
|
|
+ context: release-env
|
|
|
+
|
|
|
lint:
|
|
|
+ when: << pipeline.parameters.run-lint >>
|
|
|
jobs:
|
|
|
- lint
|
|
|
|
|
|
build-linux:
|
|
|
+ when: << pipeline.parameters.run-build-linux >>
|
|
|
jobs:
|
|
|
- - linux-checkout
|
|
|
+ - linux-checkout-fast
|
|
|
+ - linux-checkout-and-save-cache
|
|
|
|
|
|
- linux-x64-debug:
|
|
|
requires:
|
|
|
- - linux-checkout
|
|
|
+ - linux-checkout-fast
|
|
|
- linux-x64-debug-gn-check:
|
|
|
requires:
|
|
|
- - linux-checkout
|
|
|
+ - linux-checkout-fast
|
|
|
- linux-x64-testing:
|
|
|
requires:
|
|
|
- - linux-checkout
|
|
|
+ - linux-checkout-fast
|
|
|
- linux-x64-testing-gn-check:
|
|
|
requires:
|
|
|
- - linux-checkout
|
|
|
+ - linux-checkout-fast
|
|
|
- linux-x64-testing-tests:
|
|
|
requires:
|
|
|
- linux-x64-testing
|
|
|
|
|
|
- linux-ia32-debug:
|
|
|
requires:
|
|
|
- - linux-checkout
|
|
|
+ - linux-checkout-fast
|
|
|
- linux-ia32-testing:
|
|
|
requires:
|
|
|
- - linux-checkout
|
|
|
+ - linux-checkout-fast
|
|
|
- linux-ia32-testing-tests:
|
|
|
requires:
|
|
|
- linux-ia32-testing
|
|
|
|
|
|
- linux-arm-debug:
|
|
|
requires:
|
|
|
- - linux-checkout
|
|
|
+ - linux-checkout-fast
|
|
|
- linux-arm-testing:
|
|
|
requires:
|
|
|
- - linux-checkout
|
|
|
+ - linux-checkout-fast
|
|
|
|
|
|
- linux-arm64-debug:
|
|
|
requires:
|
|
|
- - linux-checkout
|
|
|
+ - linux-checkout-fast
|
|
|
- linux-arm64-debug-gn-check:
|
|
|
requires:
|
|
|
- - linux-checkout
|
|
|
+ - linux-checkout-fast
|
|
|
- linux-arm64-testing:
|
|
|
requires:
|
|
|
- - linux-checkout
|
|
|
+ - linux-checkout-fast
|
|
|
- linux-arm64-testing-gn-check:
|
|
|
requires:
|
|
|
- - linux-checkout
|
|
|
+ - linux-checkout-fast
|
|
|
|
|
|
build-mac:
|
|
|
+ when: << pipeline.parameters.run-build-mac >>
|
|
|
jobs:
|
|
|
- - mac-checkout
|
|
|
+ - mac-checkout-fast
|
|
|
+ - mac-checkout-and-save-cache
|
|
|
+
|
|
|
- osx-testing:
|
|
|
requires:
|
|
|
- - mac-checkout
|
|
|
+ - mac-checkout-fast
|
|
|
|
|
|
- osx-debug:
|
|
|
requires:
|
|
|
- - mac-checkout
|
|
|
+ - mac-checkout-fast
|
|
|
|
|
|
- osx-debug-gn-check:
|
|
|
requires:
|
|
|
- - mac-checkout
|
|
|
+ - mac-checkout-fast
|
|
|
|
|
|
- osx-testing-gn-check:
|
|
|
requires:
|
|
|
- - mac-checkout
|
|
|
+ - mac-checkout-fast
|
|
|
|
|
|
- osx-testing-tests:
|
|
|
requires:
|
|
@@ -1534,19 +1770,19 @@ workflows:
|
|
|
|
|
|
- mas-testing:
|
|
|
requires:
|
|
|
- - mac-checkout
|
|
|
+ - mac-checkout-fast
|
|
|
|
|
|
- mas-debug:
|
|
|
requires:
|
|
|
- - mac-checkout
|
|
|
+ - mac-checkout-fast
|
|
|
|
|
|
- mas-debug-gn-check:
|
|
|
requires:
|
|
|
- - mac-checkout
|
|
|
+ - mac-checkout-fast
|
|
|
|
|
|
- mas-testing-gn-check:
|
|
|
requires:
|
|
|
- - mac-checkout
|
|
|
+ - mac-checkout-fast
|
|
|
|
|
|
- mas-testing-tests:
|
|
|
requires:
|
|
@@ -1562,11 +1798,11 @@ workflows:
|
|
|
- master
|
|
|
- *chromium-upgrade-branches
|
|
|
jobs:
|
|
|
- - linux-checkout
|
|
|
+ - linux-checkout-fast
|
|
|
|
|
|
- linux-x64-release:
|
|
|
requires:
|
|
|
- - linux-checkout
|
|
|
+ - linux-checkout-fast
|
|
|
- linux-x64-release-tests:
|
|
|
requires:
|
|
|
- linux-x64-release
|
|
@@ -1578,7 +1814,7 @@ workflows:
|
|
|
- linux-x64-release
|
|
|
- linux-x64-chromedriver:
|
|
|
requires:
|
|
|
- - linux-checkout
|
|
|
+ - linux-checkout-fast
|
|
|
- linux-x64-release-summary:
|
|
|
requires:
|
|
|
- linux-x64-release
|
|
@@ -1588,7 +1824,7 @@ workflows:
|
|
|
|
|
|
- linux-ia32-release:
|
|
|
requires:
|
|
|
- - linux-checkout
|
|
|
+ - linux-checkout-fast
|
|
|
- linux-ia32-release-tests:
|
|
|
requires:
|
|
|
- linux-ia32-release
|
|
@@ -1600,7 +1836,7 @@ workflows:
|
|
|
- linux-ia32-release
|
|
|
- linux-ia32-chromedriver:
|
|
|
requires:
|
|
|
- - linux-checkout
|
|
|
+ - linux-checkout-fast
|
|
|
- linux-ia32-release-summary:
|
|
|
requires:
|
|
|
- linux-ia32-release
|
|
@@ -1610,10 +1846,10 @@ workflows:
|
|
|
|
|
|
- linux-arm-release:
|
|
|
requires:
|
|
|
- - linux-checkout
|
|
|
+ - linux-checkout-fast
|
|
|
- linux-arm-chromedriver:
|
|
|
requires:
|
|
|
- - linux-checkout
|
|
|
+ - linux-checkout-fast
|
|
|
- linux-arm-release-summary:
|
|
|
requires:
|
|
|
- linux-arm-release
|
|
@@ -1622,10 +1858,10 @@ workflows:
|
|
|
|
|
|
- linux-arm64-release:
|
|
|
requires:
|
|
|
- - linux-checkout
|
|
|
+ - linux-checkout-fast
|
|
|
- linux-arm64-chromedriver:
|
|
|
requires:
|
|
|
- - linux-checkout
|
|
|
+ - linux-checkout-fast
|
|
|
- linux-arm64-release-summary:
|
|
|
requires:
|
|
|
- linux-arm64-release
|
|
@@ -1641,11 +1877,11 @@ workflows:
|
|
|
- master
|
|
|
- *chromium-upgrade-branches
|
|
|
jobs:
|
|
|
- - mac-checkout
|
|
|
+ - mac-checkout-fast
|
|
|
|
|
|
- osx-release:
|
|
|
requires:
|
|
|
- - mac-checkout
|
|
|
+ - mac-checkout-fast
|
|
|
- osx-release-tests:
|
|
|
requires:
|
|
|
- osx-release
|
|
@@ -1657,7 +1893,7 @@ workflows:
|
|
|
- osx-release
|
|
|
- osx-chromedriver:
|
|
|
requires:
|
|
|
- - mac-checkout
|
|
|
+ - mac-checkout-fast
|
|
|
- osx-release-summary:
|
|
|
requires:
|
|
|
- osx-release
|
|
@@ -1667,7 +1903,7 @@ workflows:
|
|
|
|
|
|
- mas-release:
|
|
|
requires:
|
|
|
- - mac-checkout
|
|
|
+ - mac-checkout-fast
|
|
|
- mas-release-tests:
|
|
|
requires:
|
|
|
- mas-release
|
|
@@ -1679,7 +1915,7 @@ workflows:
|
|
|
- mas-release
|
|
|
- mas-chromedriver:
|
|
|
requires:
|
|
|
- - mac-checkout
|
|
|
+ - mac-checkout-fast
|
|
|
- mas-release-summary:
|
|
|
requires:
|
|
|
- mas-release
|