Skip to content

Commit

Permalink
Merge branch 'master' into fix-bgpage-devtools
Browse files Browse the repository at this point in the history
  • Loading branch information
nornagon committed Jun 4, 2020
2 parents da5464e + 491caf5 commit 687cc0c
Show file tree
Hide file tree
Showing 1,030 changed files with 41,814 additions and 35,240 deletions.
187 changes: 42 additions & 145 deletions .circleci/config.yml
Expand Up @@ -67,6 +67,10 @@ machine-linux-medium: &machine-linux-medium
<<: *docker-image
resource_class: medium

machine-linux-xlarge: &machine-linux-xlarge
<<: *docker-image
resource_class: xlarge

machine-linux-2xlarge: &machine-linux-2xlarge
<<: *docker-image
resource_class: 2xlarge+
Expand Down Expand Up @@ -227,7 +231,25 @@ step-gclient-sync: &step-gclient-sync
$GCLIENT_EXTRA_ARGS \
"$CIRCLE_REPOSITORY_URL"
gclient sync --with_branch_heads --with_tags
ELECTRON_USE_THREE_WAY_MERGE_FOR_PATCHES=1 gclient sync --with_branch_heads --with_tags
# Re-export all the patches to check if there were changes.
python src/electron/script/export_all_patches.py src/electron/patches/config.json
cd src/electron
git update-index --refresh || true
if ! git diff-index --quiet HEAD --; then
# There are changes to the patches. Make a git commit with the updated patches
git add patches
GIT_COMMITTER_NAME="Electron Bot" GIT_COMMITTER_EMAIL="anonymous@electronjs.org" git commit -m "update patches" --author="Electron Bot <anonymous@electronjs.org>"
# Export it
mkdir -p ../../patches
git format-patch -1 --stdout --keep-subject --no-stat --full-index > ../../patches/update-patches.patch
echo
echo "======================================================================"
echo "There were changes to the patches when applying."
echo "Check the CI artifacts for a patch you can apply to fix it."
echo "======================================================================"
exit 1
fi
fi
step-setup-env-for-build: &step-setup-env-for-build
Expand Down Expand Up @@ -347,7 +369,7 @@ step-install-signing-cert-on-mac: &step-install-signing-cert-on-mac
command: |
if [ "`uname`" == "Darwin" ]; then
cd src/electron
./script/codesign/import-testing-cert-ci.sh
./script/codesign/generate-identity.sh
fi
step-install-gnutar-on-mac: &step-install-gnutar-on-mac
Expand Down Expand Up @@ -648,8 +670,10 @@ step-mksnapshot-build: &step-mksnapshot-build
if [ "`uname`" != "Darwin" ]; then
if [ "$TARGET_ARCH" == "arm" ]; then
electron/script/strip-binaries.py --file $PWD/out/Default/clang_x86_v8_arm/mksnapshot
electron/script/strip-binaries.py --file $PWD/out/Default/clang_x86_v8_arm/v8_context_snapshot_generator
elif [ "$TARGET_ARCH" == "arm64" ]; then
electron/script/strip-binaries.py --file $PWD/out/Default/clang_x64_v8_arm64/mksnapshot
electron/script/strip-binaries.py --file $PWD/out/Default/clang_x64_v8_arm64/v8_context_snapshot_generator
else
electron/script/strip-binaries.py --file $PWD/out/Default/mksnapshot
electron/script/strip-binaries.py --file $PWD/out/Default/v8_context_snapshot_generator
Expand Down Expand Up @@ -686,6 +710,8 @@ step-maybe-generate-breakpad-symbols: &step-maybe-generate-breakpad-symbols
if [ "$GENERATE_SYMBOLS" == "true" ]; then
cd src
ninja -C out/Default electron:electron_symbols
cd out/Default/breakpad_symbols
find . -name \*.sym -print0 | xargs -0 npx @sentry/cli@1.51.1 difutil bundle-sources
fi
step-maybe-zip-symbols: &step-maybe-zip-symbols
Expand Down Expand Up @@ -975,6 +1001,8 @@ steps-checkout-and-save-cache: &steps-checkout-and-save-cache
- *step-set-git-cache-path
# This sync call only runs if .circle-sync-done is an EMPTY file
- *step-gclient-sync
- store_artifacts:
path: patches
- *step-save-git-cache
# These next few steps reset Electron to the correct commit regardless of which cache was restored
- run:
Expand Down Expand Up @@ -1101,18 +1129,6 @@ steps-verify-ffmpeg: &steps-verify-ffmpeg
- *step-verify-ffmpeg
- *step-maybe-notify-slack-failure

steps-verify-mksnapshot: &steps-verify-mksnapshot
steps:
- attach_workspace:
at: .
- *step-depot-tools-add-to-path
- *step-electron-dist-unzip
- *step-mksnapshot-unzip
- *step-setup-linux-for-headless-testing

- *step-verify-mksnapshot
- *step-maybe-notify-slack-failure

steps-verify-chromedriver: &steps-verify-chromedriver
steps:
- attach_workspace:
Expand Down Expand Up @@ -1148,8 +1164,8 @@ steps-tests: &steps-tests
ELECTRON_DISABLE_SECURITY_WARNINGS: 1
command: |
cd src
(cd electron && node script/yarn test --runners=main --enable-logging --files $(circleci tests glob spec-main/*-spec.ts | circleci tests split))
(cd electron && node script/yarn test --runners=remote --enable-logging --files $(circleci tests glob spec/*-spec.js | circleci tests split))
(cd electron && node script/yarn test --runners=main --trace-uncaught --enable-logging --files $(circleci tests glob spec-main/*-spec.ts | circleci tests split))
(cd electron && node script/yarn test --runners=remote --trace-uncaught --enable-logging --files $(circleci tests glob spec/*-spec.js | circleci tests split))
- run:
name: Check test results existence
command: |
Expand Down Expand Up @@ -1307,6 +1323,8 @@ commands:
- *step-set-git-cache-path
# This sync call only runs if .circle-sync-done is an EMPTY file
- *step-gclient-sync
- store_artifacts:
path: patches
# These next few steps reset Electron to the correct commit regardless of which cache was restored
- when:
condition: << parameters.preserve-vendor-dirs >>
Expand Down Expand Up @@ -1619,9 +1637,9 @@ jobs:

# Layer 2: Builds.
linux-x64-testing:
<<: *machine-linux-2xlarge
<<: *machine-linux-xlarge
environment:
<<: *env-linux-2xlarge
<<: *env-global
<<: *env-testing-build
<<: *env-ninja-status
GCLIENT_EXTRA_ARGS: '--custom-var=checkout_arm=True --custom-var=checkout_arm64=True'
Expand Down Expand Up @@ -1699,9 +1717,9 @@ jobs:
checkout: false

linux-ia32-testing:
<<: *machine-linux-2xlarge
<<: *machine-linux-xlarge
environment:
<<: *env-linux-2xlarge
<<: *env-global
<<: *env-ia32
<<: *env-testing-build
<<: *env-ninja-status
Expand Down Expand Up @@ -1765,9 +1783,9 @@ jobs:
checkout: false

linux-arm-testing:
<<: *machine-linux-2xlarge
<<: *machine-linux-xlarge
environment:
<<: *env-linux-2xlarge
<<: *env-global
<<: *env-arm
<<: *env-testing-build
<<: *env-ninja-status
Expand Down Expand Up @@ -1832,9 +1850,9 @@ jobs:
checkout: false

linux-arm64-testing:
<<: *machine-linux-2xlarge
<<: *machine-linux-xlarge
environment:
<<: *env-linux-2xlarge
<<: *env-global
<<: *env-arm64
<<: *env-testing-build
<<: *env-ninja-status
Expand Down Expand Up @@ -1997,14 +2015,6 @@ jobs:
<<: *env-testing-build
<<: *steps-electron-gn-check

mas-chromedriver:
<<: *machine-mac
environment:
<<: *env-machine-mac
<<: *env-release-build
<<: *env-send-slack-notifications
<<: *steps-chromedriver-build

mas-release:
<<: *machine-mac-large
environment:
Expand Down Expand Up @@ -2124,22 +2134,6 @@ jobs:
<<: *env-send-slack-notifications
<<: *steps-verify-ffmpeg

linux-x64-verify-mksnapshot:
<<: *machine-linux-medium
environment:
<<: *env-linux-medium
<<: *env-headless-testing
<<: *env-send-slack-notifications
<<: *steps-verify-mksnapshot

linux-x64-verify-chromedriver:
<<: *machine-linux-medium
environment:
<<: *env-linux-medium
<<: *env-headless-testing
<<: *env-send-slack-notifications
<<: *steps-verify-chromedriver

linux-ia32-testing-tests:
<<: *machine-linux-medium
environment:
Expand Down Expand Up @@ -2186,23 +2180,6 @@ jobs:
<<: *env-send-slack-notifications
<<: *steps-verify-ffmpeg

linux-ia32-verify-mksnapshot:
<<: *machine-linux-medium
environment:
<<: *env-linux-medium
<<: *env-ia32
<<: *env-headless-testing
<<: *env-send-slack-notifications
<<: *steps-verify-mksnapshot

linux-ia32-verify-chromedriver:
<<: *machine-linux-medium
environment:
<<: *env-linux-medium
<<: *env-headless-testing
<<: *env-send-slack-notifications
<<: *steps-verify-chromedriver

osx-testing-tests:
<<: *machine-mac-large
environment:
Expand All @@ -2226,20 +2203,6 @@ jobs:
<<: *env-send-slack-notifications
<<: *steps-verify-ffmpeg

osx-verify-mksnapshot:
<<: *machine-mac
environment:
<<: *env-machine-mac
<<: *env-send-slack-notifications
<<: *steps-verify-mksnapshot

osx-verify-chromedriver:
<<: *machine-mac
environment:
<<: *env-machine-mac
<<: *env-send-slack-notifications
<<: *steps-verify-chromedriver

mas-testing-tests:
<<: *machine-mac-large
environment:
Expand All @@ -2263,20 +2226,6 @@ jobs:
<<: *env-send-slack-notifications
<<: *steps-verify-ffmpeg

mas-verify-mksnapshot:
<<: *machine-mac
environment:
<<: *env-machine-mac
<<: *env-send-slack-notifications
<<: *steps-verify-mksnapshot

mas-verify-chromedriver:
<<: *machine-mac
environment:
<<: *env-machine-mac
<<: *env-send-slack-notifications
<<: *steps-verify-chromedriver

# Layer 4: Summary.
linux-x64-release-summary:
<<: *machine-linux-medium
Expand Down Expand Up @@ -2495,67 +2444,37 @@ workflows:
- linux-x64-release-tests:
requires:
- linux-x64-release
- linux-x64-chromedriver:
requires:
- linux-checkout-fast
- linux-x64-verify-ffmpeg:
requires:
- linux-x64-release
- linux-x64-verify-mksnapshot:
requires:
- linux-x64-release
- linux-x64-verify-chromedriver:
requires:
- linux-x64-release
- linux-x64-chromedriver
- linux-x64-release-summary:
requires:
- linux-x64-release
- linux-x64-release-tests
- linux-x64-verify-ffmpeg
- linux-x64-chromedriver

- linux-ia32-release
- linux-ia32-release-tests:
requires:
- linux-ia32-release
- linux-ia32-chromedriver:
requires:
- linux-checkout-fast
- linux-ia32-verify-ffmpeg:
requires:
- linux-ia32-release
- linux-ia32-verify-mksnapshot:
requires:
- linux-ia32-release
- linux-x64-verify-chromedriver:
requires:
- linux-ia32-release
- linux-ia32-chromedriver
- linux-ia32-release-summary:
requires:
- linux-ia32-release
- linux-ia32-release-tests
- linux-ia32-verify-ffmpeg
- linux-ia32-chromedriver

- linux-arm-release
- linux-arm-chromedriver:
requires:
- linux-checkout-fast
- linux-arm-release-summary:
requires:
- linux-arm-release
- linux-arm-chromedriver

- linux-arm64-release
- linux-arm64-chromedriver:
requires:
- linux-checkout-fast
- linux-arm64-release-summary:
requires:
- linux-arm64-release
- linux-arm64-chromedriver

nightly-mac-release-test:
triggers:
Expand All @@ -2576,51 +2495,29 @@ workflows:
- osx-release-tests:
requires:
- osx-release
- osx-chromedriver:
requires:
- mac-checkout-fast
- osx-verify-ffmpeg:
requires:
- osx-release
- osx-verify-mksnapshot:
requires:
- osx-release
- osx-verify-chromedriver:
requires:
- osx-release
- osx-chromedriver
- osx-release-summary:
requires:
- osx-release
- osx-release-tests
- osx-verify-ffmpeg
- osx-chromedriver

- mas-release:
requires:
- mac-checkout-and-save-cache
- mas-release-tests:
requires:
- mas-release
- mas-chromedriver:
requires:
- mac-checkout-fast
- mas-verify-ffmpeg:
requires:
- mas-release
- mas-verify-mksnapshot:
requires:
- mas-release
- mas-verify-chromedriver:
requires:
- mas-release
- mas-chromedriver
- mas-release-summary:
requires:
- mas-release
- mas-release-tests
- mas-verify-ffmpeg
- mas-chromedriver

# Various slow and non-essential checks we run only nightly.
# Sanitizer jobs should be added here.
Expand Down

0 comments on commit 687cc0c

Please sign in to comment.