From e1ec0e4160fd6d5f10b25ea9d953880acde1b145 Mon Sep 17 00:00:00 2001 From: "trop[bot]" <37223003+trop[bot]@users.noreply.github.com> Date: Wed, 10 Jan 2024 00:12:41 +0000 Subject: [PATCH 01/10] build: use aks arm64 test runners Co-authored-by: Samuel Attard --- .circleci/config/base.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.circleci/config/base.yml b/.circleci/config/base.yml index 5a4267189fd66..dd861b42252ed 100644 --- a/.circleci/config/base.yml +++ b/.circleci/config/base.yml @@ -84,8 +84,9 @@ executors: machine: true linux-arm64: - resource_class: electronjs/linux-arm64 - machine: true + resource_class: electronjs/aks-linux-arm-test + docker: + - image: ghcr.io/electron/test:arm64v8-9a4acb4e8085c2439541a70aa28daae64feb44bf # The config expects the following environment variables to be set: # - "SLACK_WEBHOOK" Slack hook URL to send notifications. From cd1969470848ebfffaef757ab68f17365c0e9831 Mon Sep 17 00:00:00 2001 From: "trop[bot]" <37223003+trop[bot]@users.noreply.github.com> Date: Wed, 10 Jan 2024 00:12:49 +0000 Subject: [PATCH 02/10] build: better image Co-authored-by: Samuel Attard --- .circleci/config/base.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config/base.yml b/.circleci/config/base.yml index dd861b42252ed..6e55bcaff98b9 100644 --- a/.circleci/config/base.yml +++ b/.circleci/config/base.yml @@ -86,7 +86,7 @@ executors: linux-arm64: resource_class: electronjs/aks-linux-arm-test docker: - - image: ghcr.io/electron/test:arm64v8-9a4acb4e8085c2439541a70aa28daae64feb44bf + - image: ghcr.io/electron/test:arm64v8-603263bdff4eec4967430e4684f57dc92969f647 # The config expects the following environment variables to be set: # - "SLACK_WEBHOOK" Slack hook URL to send notifications. From 4d6d53e4050dd8e32eb34f30bc6cae58fd45d44f Mon Sep 17 00:00:00 2001 From: "trop[bot]" <37223003+trop[bot]@users.noreply.github.com> Date: Wed, 10 Jan 2024 00:12:57 +0000 Subject: [PATCH 03/10] build: even more stuff Co-authored-by: Samuel Attard --- .circleci/config/base.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config/base.yml b/.circleci/config/base.yml index 6e55bcaff98b9..3a4020b627d77 100644 --- a/.circleci/config/base.yml +++ b/.circleci/config/base.yml @@ -86,7 +86,7 @@ executors: linux-arm64: resource_class: electronjs/aks-linux-arm-test docker: - - image: ghcr.io/electron/test:arm64v8-603263bdff4eec4967430e4684f57dc92969f647 + - image: ghcr.io/electron/test:arm64v8-76d5d29e247972da3855a01c2d8cf72c5998233a # The config expects the following environment variables to be set: # - "SLACK_WEBHOOK" Slack hook URL to send notifications. From a7791b0c380dc27e30e5d6839d0ff770e51af536 Mon Sep 17 00:00:00 2001 From: "trop[bot]" <37223003+trop[bot]@users.noreply.github.com> Date: Wed, 10 Jan 2024 00:13:05 +0000 Subject: [PATCH 04/10] build: arm par Co-authored-by: Samuel Attard --- .circleci/config/base.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.circleci/config/base.yml b/.circleci/config/base.yml index 3a4020b627d77..2f209ce07ab1e 100644 --- a/.circleci/config/base.yml +++ b/.circleci/config/base.yml @@ -1659,7 +1659,7 @@ commands: echo "Piping output to ASAN_SYMBOLIZE ($ASAN_SYMBOLIZE)" (cd electron && (circleci tests glob "spec/*-spec.ts" | circleci tests run --command="xargs node script/yarn test --runners=main --trace-uncaught --enable-logging --files" --split-by=timings 2>&1)) | $ASAN_SYMBOLIZE else - if [ "$TARGET_ARCH" == "arm" ] || [ "$TARGET_ARCH" == "arm64" ]; then + if [ "$TARGET_ARCH" == "arm" ]; then export ELECTRON_SKIP_NATIVE_MODULE_TESTS=true (cd electron && node script/yarn test --runners=main --trace-uncaught --enable-logging) else @@ -2308,6 +2308,7 @@ jobs: <<: *env-global <<: *env-headless-testing <<: *env-stack-dumping + parallelism: 3 steps: - electron-tests: artifact-key: linux-arm64 From 6214febece1ea3911dbc60c11d7acc129854c4f5 Mon Sep 17 00:00:00 2001 From: "trop[bot]" <37223003+trop[bot]@users.noreply.github.com> Date: Wed, 10 Jan 2024 00:13:13 +0000 Subject: [PATCH 05/10] build: use aks arm32 Co-authored-by: Samuel Attard --- .circleci/config/base.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.circleci/config/base.yml b/.circleci/config/base.yml index 2f209ce07ab1e..79e259b206702 100644 --- a/.circleci/config/base.yml +++ b/.circleci/config/base.yml @@ -80,8 +80,9 @@ executors: machine: true linux-arm: - resource_class: electronjs/linux-arm - machine: true + resource_class: electronjs/aks-linux-arm-test + docker: + - image: ghcr.io/electron/test:arm32v7-8e0f85b708fa58e28e4824954d6fd55adfda5e9e linux-arm64: resource_class: electronjs/aks-linux-arm-test From 28423d2584230edd9333aa9ecba3a29e7bd5492f Mon Sep 17 00:00:00 2001 From: "trop[bot]" <37223003+trop[bot]@users.noreply.github.com> Date: Wed, 10 Jan 2024 00:13:21 +0000 Subject: [PATCH 06/10] build: arm32 par Co-authored-by: Samuel Attard --- .circleci/config/base.yml | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/.circleci/config/base.yml b/.circleci/config/base.yml index 79e259b206702..e8b1b91881705 100644 --- a/.circleci/config/base.yml +++ b/.circleci/config/base.yml @@ -1660,15 +1660,10 @@ commands: echo "Piping output to ASAN_SYMBOLIZE ($ASAN_SYMBOLIZE)" (cd electron && (circleci tests glob "spec/*-spec.ts" | circleci tests run --command="xargs node script/yarn test --runners=main --trace-uncaught --enable-logging --files" --split-by=timings 2>&1)) | $ASAN_SYMBOLIZE else - if [ "$TARGET_ARCH" == "arm" ]; then - export ELECTRON_SKIP_NATIVE_MODULE_TESTS=true - (cd electron && node script/yarn test --runners=main --trace-uncaught --enable-logging) - else - if [ "$TARGET_ARCH" == "ia32" ]; then - npm_config_arch=x64 node electron/node_modules/dugite/script/download-git.js - fi - (cd electron && (circleci tests glob "spec/*-spec.ts" | circleci tests run --command="xargs node script/yarn test --runners=main --trace-uncaught --enable-logging --files" --split-by=timings)) + if [ "$TARGET_ARCH" == "ia32" ]; then + npm_config_arch=x64 node electron/node_modules/dugite/script/download-git.js fi + (cd electron && (circleci tests glob "spec/*-spec.ts" | circleci tests run --command="xargs node script/yarn test --runners=main --trace-uncaught --enable-logging --files" --split-by=timings)) fi - store_test_results: path: src/junit @@ -2298,6 +2293,7 @@ jobs: <<: *env-global <<: *env-headless-testing <<: *env-stack-dumping + parallelism: 3 steps: - electron-tests: artifact-key: linux-arm From a84bf10d7a1ea1b2e59dd2846f146a4a3207f2b9 Mon Sep 17 00:00:00 2001 From: "trop[bot]" <37223003+trop[bot]@users.noreply.github.com> Date: Wed, 10 Jan 2024 00:13:29 +0000 Subject: [PATCH 07/10] build: get test timings from abs paths Co-authored-by: Samuel Attard --- .circleci/config/base.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.circleci/config/base.yml b/.circleci/config/base.yml index e8b1b91881705..9372880f21150 100644 --- a/.circleci/config/base.yml +++ b/.circleci/config/base.yml @@ -1658,12 +1658,12 @@ commands: export LLVM_SYMBOLIZER_PATH=$PWD/third_party/llvm-build/Release+Asserts/bin/llvm-symbolizer export MOCHA_TIMEOUT=180000 echo "Piping output to ASAN_SYMBOLIZE ($ASAN_SYMBOLIZE)" - (cd electron && (circleci tests glob "spec/*-spec.ts" | circleci tests run --command="xargs node script/yarn test --runners=main --trace-uncaught --enable-logging --files" --split-by=timings 2>&1)) | $ASAN_SYMBOLIZE + (cd electron && (circleci tests glob "spec/*-spec.ts" | xargs -L1 realpath | circleci tests run --command="xargs node script/yarn test --runners=main --trace-uncaught --enable-logging --files" --split-by=timings 2>&1)) | $ASAN_SYMBOLIZE else if [ "$TARGET_ARCH" == "ia32" ]; then npm_config_arch=x64 node electron/node_modules/dugite/script/download-git.js fi - (cd electron && (circleci tests glob "spec/*-spec.ts" | circleci tests run --command="xargs node script/yarn test --runners=main --trace-uncaught --enable-logging --files" --split-by=timings)) + (cd electron && (circleci tests glob "spec/*-spec.ts" | xargs -L1 realpath | circleci tests run --command="xargs node script/yarn test --runners=main --trace-uncaught --enable-logging --files" --split-by=timings)) fi - store_test_results: path: src/junit From f9c2ff67b140fbc233de647937cbe160ecd9cf99 Mon Sep 17 00:00:00 2001 From: "trop[bot]" <37223003+trop[bot]@users.noreply.github.com> Date: Wed, 10 Jan 2024 00:13:37 +0000 Subject: [PATCH 08/10] build: avoid realpath, use echo Co-authored-by: Samuel Attard --- .circleci/config/base.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.circleci/config/base.yml b/.circleci/config/base.yml index 9372880f21150..7d6432a6057c4 100644 --- a/.circleci/config/base.yml +++ b/.circleci/config/base.yml @@ -1658,12 +1658,12 @@ commands: export LLVM_SYMBOLIZER_PATH=$PWD/third_party/llvm-build/Release+Asserts/bin/llvm-symbolizer export MOCHA_TIMEOUT=180000 echo "Piping output to ASAN_SYMBOLIZE ($ASAN_SYMBOLIZE)" - (cd electron && (circleci tests glob "spec/*-spec.ts" | xargs -L1 realpath | circleci tests run --command="xargs node script/yarn test --runners=main --trace-uncaught --enable-logging --files" --split-by=timings 2>&1)) | $ASAN_SYMBOLIZE + (cd electron && (circleci tests glob "spec/*-spec.ts" | xargs -I@ -P4 bash -c "echo $(pwd)/@" | circleci tests run --command="xargs node script/yarn test --runners=main --trace-uncaught --enable-logging --files" --split-by=timings 2>&1)) | $ASAN_SYMBOLIZE else if [ "$TARGET_ARCH" == "ia32" ]; then npm_config_arch=x64 node electron/node_modules/dugite/script/download-git.js fi - (cd electron && (circleci tests glob "spec/*-spec.ts" | xargs -L1 realpath | circleci tests run --command="xargs node script/yarn test --runners=main --trace-uncaught --enable-logging --files" --split-by=timings)) + (cd electron && (circleci tests glob "spec/*-spec.ts" | xargs -I@ -P4 bash -c "echo $(pwd)/@" | circleci tests run --command="xargs node script/yarn test --runners=main --trace-uncaught --enable-logging --files" --split-by=timings)) fi - store_test_results: path: src/junit From 6970305b3ca454ab0da4f99ca36a3b78ab7975da Mon Sep 17 00:00:00 2001 From: Samuel Attard Date: Wed, 10 Jan 2024 14:54:27 +1300 Subject: [PATCH 09/10] chore: fix contentTracing test --- .circleci/config/base.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.circleci/config/base.yml b/.circleci/config/base.yml index 7d6432a6057c4..fcb58d4fd7ffe 100644 --- a/.circleci/config/base.yml +++ b/.circleci/config/base.yml @@ -1660,6 +1660,9 @@ commands: echo "Piping output to ASAN_SYMBOLIZE ($ASAN_SYMBOLIZE)" (cd electron && (circleci tests glob "spec/*-spec.ts" | xargs -I@ -P4 bash -c "echo $(pwd)/@" | circleci tests run --command="xargs node script/yarn test --runners=main --trace-uncaught --enable-logging --files" --split-by=timings 2>&1)) | $ASAN_SYMBOLIZE else + if [ "$TARGET_ARCH" == "arm" ] || [ "$TARGET_ARCH" == "arm64" ]; then + export ELECTRON_SKIP_NATIVE_MODULE_TESTS=true + fi if [ "$TARGET_ARCH" == "ia32" ]; then npm_config_arch=x64 node electron/node_modules/dugite/script/download-git.js fi From adf37b1e90b99c48dab4512383a9f3b19cb35fd6 Mon Sep 17 00:00:00 2001 From: Samuel Attard Date: Wed, 10 Jan 2024 19:11:10 +1300 Subject: [PATCH 10/10] cry --- spec/api-content-tracing-spec.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spec/api-content-tracing-spec.ts b/spec/api-content-tracing-spec.ts index 850cf98f4b492..a9b55922ae8b4 100644 --- a/spec/api-content-tracing-spec.ts +++ b/spec/api-content-tracing-spec.ts @@ -71,7 +71,7 @@ ifdescribe(!(['arm', 'arm64'].includes(process.arch)) || (process.platform !== ' // If the `categoryFilter` param above is not respected // the file size will be above 50KB. const fileSizeInKiloBytes = getFileSizeInKiloBytes(outputFilePath); - const expectedMaximumFileSize = 10; // Depends on a platform. + const expectedMaximumFileSize = 50; // Depends on a platform. expect(fileSizeInKiloBytes).to.be.above(0, `the trace output file is empty, check "${outputFilePath}"`);