|
@@ -64,6 +64,14 @@ executors:
|
|
|
resource_class: electronjs/macos-arm64
|
|
|
machine: true
|
|
|
|
|
|
+ linux-arm:
|
|
|
+ resource_class: electronjs/linux-arm
|
|
|
+ machine: true
|
|
|
+
|
|
|
+ linux-arm64:
|
|
|
+ resource_class: electronjs/linux-arm64
|
|
|
+ machine: true
|
|
|
+
|
|
|
# The config expects the following environment variables to be set:
|
|
|
# - "SLACK_WEBHOOK" Slack hook URL to send notifications.
|
|
|
#
|
|
@@ -211,7 +219,11 @@ step-maybe-cleanup-arm64-mac: &step-maybe-cleanup-arm64-mac
|
|
|
killall Safari || echo "No Safari processes left running"
|
|
|
rm -rf ~/Library/Application\ Support/Electron*
|
|
|
rm -rf ~/Library/Application\ Support/electron*
|
|
|
+ elif [ "$TARGET_ARCH" == "arm" ] || [ "$TARGET_ARCH" == "arm64" ]; then
|
|
|
+ pkill Xvfb || echo "Xvfb not running"
|
|
|
+ pkill electron || echo "electron not running"
|
|
|
fi
|
|
|
+
|
|
|
when: always
|
|
|
|
|
|
step-checkout-electron: &step-checkout-electron
|
|
@@ -704,7 +716,7 @@ step-verify-mksnapshot: &step-verify-mksnapshot
|
|
|
command: |
|
|
|
if [ "$IS_ASAN" != "1" ]; then
|
|
|
cd src
|
|
|
- if [ "$TARGET_ARCH" == "arm64" ] &&[ "`uname`" == "Darwin" ]; then
|
|
|
+ if [ "$TARGET_ARCH" == "arm" ] || [ "$TARGET_ARCH" == "arm64" ]; then
|
|
|
python electron/script/verify-mksnapshot.py --source-root "$PWD" --build-dir out/Default --snapshot-files-dir $PWD/cross-arch-snapshots
|
|
|
else
|
|
|
python electron/script/verify-mksnapshot.py --source-root "$PWD" --build-dir out/Default
|
|
@@ -829,28 +841,6 @@ step-maybe-cross-arch-snapshot: &step-maybe-cross-arch-snapshot
|
|
|
cp out/Default-mksnapshot-test/*.bin cross-arch-snapshots
|
|
|
fi
|
|
|
|
|
|
-step-maybe-trigger-arm-test: &step-maybe-trigger-arm-test
|
|
|
- run:
|
|
|
- name: Trigger an arm test on VSTS if applicable
|
|
|
- command: |
|
|
|
- cd src
|
|
|
- # Only run for non-fork prs
|
|
|
- if [ "$TRIGGER_ARM_TEST" == "true" ] && [ -z "$CIRCLE_PR_NUMBER" ]; then
|
|
|
- #Trigger VSTS job, passing along CircleCI job number and branch to build
|
|
|
- if [ "`uname`" == "Darwin" ]; then
|
|
|
- if [ x"$MAS_BUILD" == x"true" ]; then
|
|
|
- export DEVOPS_BUILD="electron-mas-arm64-testing"
|
|
|
- else
|
|
|
- export DEVOPS_BUILD="electron-osx-arm64-testing"
|
|
|
- fi
|
|
|
- echo "Triggering $DEVOPS_BUILD build on Azure DevOps"
|
|
|
- node electron/script/release/ci-release-build.js --job=$DEVOPS_BUILD --ci=DevOps --armTest --circleBuildNum=$CIRCLE_BUILD_NUM $CIRCLE_BRANCH
|
|
|
- else
|
|
|
- echo "Triggering electron-$TARGET_ARCH-testing build on VSTS"
|
|
|
- node electron/script/release/ci-release-build.js --job=electron-$TARGET_ARCH-testing --ci=VSTS --armTest --circleBuildNum=$CIRCLE_BUILD_NUM $CIRCLE_BRANCH
|
|
|
- fi
|
|
|
- fi
|
|
|
-
|
|
|
step-maybe-generate-typescript-defs: &step-maybe-generate-typescript-defs
|
|
|
run:
|
|
|
name: Generate type declarations
|
|
@@ -1209,7 +1199,7 @@ steps-tests: &steps-tests
|
|
|
(cd electron && node script/yarn test --runners=main --trace-uncaught --enable-logging --files $(circleci tests glob spec-main/*-spec.ts | circleci tests split --split-by=timings)) 2>&1 | $ASAN_SYMBOLIZE
|
|
|
(cd electron && node script/yarn test --runners=remote --trace-uncaught --enable-logging --files $(circleci tests glob spec/*-spec.js | circleci tests split --split-by=timings)) 2>&1 | $ASAN_SYMBOLIZE
|
|
|
else
|
|
|
- if [ "$TARGET_ARCH" == "arm64" ] &&[ "`uname`" == "Darwin" ]; then
|
|
|
+ if [ "$TARGET_ARCH" == "arm" ] || [ "$TARGET_ARCH" == "arm64" ]; then
|
|
|
export ELECTRON_SKIP_NATIVE_MODULE_TESTS=true
|
|
|
(cd electron && node script/yarn test --runners=main --trace-uncaught --enable-logging)
|
|
|
(cd electron && node script/yarn test --runners=remote --trace-uncaught --enable-logging)
|
|
@@ -1546,9 +1536,6 @@ commands:
|
|
|
steps:
|
|
|
- *step-save-out-cache
|
|
|
|
|
|
- # Trigger tests on arm hardware if needed
|
|
|
- - *step-maybe-trigger-arm-test
|
|
|
-
|
|
|
- *step-maybe-notify-slack-failure
|
|
|
|
|
|
electron-publish:
|
|
@@ -1881,7 +1868,7 @@ jobs:
|
|
|
GCLIENT_EXTRA_ARGS: '--custom-var=checkout_arm=True --custom-var=checkout_arm64=True'
|
|
|
steps:
|
|
|
- electron-build:
|
|
|
- persist: false
|
|
|
+ persist: true
|
|
|
checkout: true
|
|
|
use-out-cache: false
|
|
|
|
|
@@ -1933,7 +1920,7 @@ jobs:
|
|
|
GCLIENT_EXTRA_ARGS: '--custom-var=checkout_arm=True --custom-var=checkout_arm64=True'
|
|
|
steps:
|
|
|
- electron-build:
|
|
|
- persist: false
|
|
|
+ persist: true
|
|
|
checkout: true
|
|
|
use-out-cache: false
|
|
|
|
|
@@ -2296,6 +2283,24 @@ jobs:
|
|
|
<<: *env-send-slack-notifications
|
|
|
<<: *steps-verify-ffmpeg
|
|
|
|
|
|
+ linux-arm-testing-tests:
|
|
|
+ executor: linux-arm
|
|
|
+ environment:
|
|
|
+ <<: *env-arm
|
|
|
+ <<: *env-global
|
|
|
+ <<: *env-headless-testing
|
|
|
+ <<: *env-stack-dumping
|
|
|
+ <<: *steps-tests
|
|
|
+
|
|
|
+ linux-arm64-testing-tests:
|
|
|
+ executor: linux-arm64
|
|
|
+ environment:
|
|
|
+ <<: *env-arm64
|
|
|
+ <<: *env-global
|
|
|
+ <<: *env-headless-testing
|
|
|
+ <<: *env-stack-dumping
|
|
|
+ <<: *steps-tests
|
|
|
+
|
|
|
osx-testing-x64-tests:
|
|
|
executor:
|
|
|
name: macos
|
|
@@ -2421,8 +2426,23 @@ workflows:
|
|
|
- linux-ia32-testing
|
|
|
|
|
|
- linux-arm-testing
|
|
|
+ - linux-arm-testing-tests:
|
|
|
+ filters:
|
|
|
+ branches:
|
|
|
+ # Do not run this on forked pull requests
|
|
|
+ ignore: /pull\/[0-9]+/
|
|
|
+ requires:
|
|
|
+ - linux-arm-testing
|
|
|
|
|
|
- linux-arm64-testing
|
|
|
+ - linux-arm64-testing-tests:
|
|
|
+ filters:
|
|
|
+ branches:
|
|
|
+ # Do not run this on forked pull requests
|
|
|
+ ignore: /pull\/[0-9]+/
|
|
|
+ requires:
|
|
|
+ - linux-arm64-testing
|
|
|
+
|
|
|
- linux-arm64-testing-gn-check:
|
|
|
requires:
|
|
|
- linux-checkout-for-workspace
|