2024-06-13 21:02:38 +00:00
|
|
|
name: Pipeline Segment - Electron Test
|
|
|
|
|
|
|
|
on:
|
|
|
|
workflow_call:
|
|
|
|
inputs:
|
|
|
|
target-platform:
|
|
|
|
type: string
|
|
|
|
description: 'Platform to run on, can be macos or linux'
|
|
|
|
required: true
|
|
|
|
target-arch:
|
|
|
|
type: string
|
|
|
|
description: 'Arch to build for, can be x64, arm64 or arm'
|
|
|
|
required: true
|
|
|
|
test-runs-on:
|
|
|
|
type: string
|
|
|
|
description: 'What host to run the tests on'
|
|
|
|
required: true
|
|
|
|
test-container:
|
|
|
|
type: string
|
|
|
|
description: 'JSON container information for aks runs-on'
|
|
|
|
required: false
|
|
|
|
default: '{"image":null}'
|
2024-06-20 10:11:53 +00:00
|
|
|
is-asan:
|
|
|
|
description: 'Building the Address Sanitizer (ASan) Linux build'
|
|
|
|
required: false
|
|
|
|
type: boolean
|
|
|
|
default: false
|
2024-06-13 21:02:38 +00:00
|
|
|
|
|
|
|
concurrency:
|
2024-06-20 10:11:53 +00:00
|
|
|
group: electron-test-${{ inputs.target-platform }}-${{ inputs.target-arch }}-${{ inputs.is-asan }}-${{ github.ref }}
|
2024-06-14 16:08:21 +00:00
|
|
|
cancel-in-progress: ${{ github.ref != 'refs/heads/main' && !endsWith(github.ref, '-x-y') }}
|
2024-06-17 23:33:44 +00:00
|
|
|
|
|
|
|
permissions:
|
|
|
|
contents: read
|
|
|
|
issues: read
|
|
|
|
pull-requests: read
|
|
|
|
|
2024-06-13 21:02:38 +00:00
|
|
|
env:
|
|
|
|
ELECTRON_OUT_DIR: Default
|
|
|
|
ELECTRON_RBE_JWT: ${{ secrets.ELECTRON_RBE_JWT }}
|
|
|
|
|
|
|
|
jobs:
|
|
|
|
test:
|
|
|
|
runs-on: ${{ inputs.test-runs-on }}
|
|
|
|
container: ${{ fromJSON(inputs.test-container) }}
|
|
|
|
strategy:
|
|
|
|
fail-fast: false
|
|
|
|
matrix:
|
|
|
|
build-type: ${{ inputs.target-platform == 'macos' && fromJSON('["darwin","mas"]') || fromJSON('["linux"]') }}
|
2024-06-17 23:33:44 +00:00
|
|
|
shard: ${{ inputs.target-platform == 'macos' && fromJSON('[1, 2]') || fromJSON('[1, 2, 3]') }}
|
2024-06-13 21:02:38 +00:00
|
|
|
env:
|
|
|
|
BUILD_TYPE: ${{ matrix.build-type }}
|
|
|
|
TARGET_ARCH: ${{ inputs.target-arch }}
|
2024-06-20 10:11:53 +00:00
|
|
|
ARTIFACT_KEY: ${{ matrix.build-type }}_${{ inputs.target-arch }}
|
2024-06-13 21:02:38 +00:00
|
|
|
steps:
|
2024-06-16 17:59:51 +00:00
|
|
|
- name: Fix node20 on arm32 runners
|
|
|
|
if: ${{ inputs.target-arch == 'arm' }}
|
|
|
|
run: |
|
|
|
|
cp $(which node) /mnt/runner-externals/node20/bin/
|
2024-06-17 23:33:44 +00:00
|
|
|
- name: Add TCC permissions on macOS
|
|
|
|
if: ${{ inputs.target-platform == 'macos' }}
|
|
|
|
run: |
|
|
|
|
configure_user_tccdb () {
|
|
|
|
local values=$1
|
|
|
|
local dbPath="$HOME/Library/Application Support/com.apple.TCC/TCC.db"
|
|
|
|
local sqlQuery="INSERT OR REPLACE INTO access VALUES($values);"
|
|
|
|
sqlite3 "$dbPath" "$sqlQuery"
|
|
|
|
}
|
|
|
|
|
|
|
|
configure_sys_tccdb () {
|
|
|
|
local values=$1
|
|
|
|
local dbPath="/Library/Application Support/com.apple.TCC/TCC.db"
|
|
|
|
local sqlQuery="INSERT OR REPLACE INTO access VALUES($values);"
|
|
|
|
sudo sqlite3 "$dbPath" "$sqlQuery"
|
|
|
|
}
|
|
|
|
|
|
|
|
userValuesArray=(
|
|
|
|
"'kTCCServiceMicrophone','/usr/local/opt/runner/provisioner/provisioner',1,2,4,1,NULL,NULL,0,'UNUSED',NULL,0,1687786159"
|
|
|
|
"'kTCCServiceCamera','/usr/local/opt/runner/provisioner/provisioner',1,2,4,1,NULL,NULL,0,'UNUSED',NULL,0,1687786159"
|
|
|
|
"'kTCCServiceBluetoothAlways','/usr/local/opt/runner/provisioner/provisioner',1,2,4,1,NULL,NULL,0,'UNUSED',NULL,0,1687786159"
|
|
|
|
)
|
|
|
|
for values in "${userValuesArray[@]}"; do
|
|
|
|
# Sonoma and higher have a few extra values
|
|
|
|
# Ref: https://github.com/actions/runner-images/blob/main/images/macos/scripts/build/configure-tccdb-macos.sh
|
|
|
|
if [ "$OSTYPE" = "darwin23" ]; then
|
|
|
|
configure_user_tccdb "$values,NULL,NULL,'UNUSED',${values##*,}"
|
|
|
|
configure_sys_tccdb "$values,NULL,NULL,'UNUSED',${values##*,}"
|
|
|
|
else
|
|
|
|
configure_user_tccdb "$values"
|
|
|
|
configure_sys_tccdb "$values"
|
|
|
|
fi
|
|
|
|
done
|
2024-06-13 21:02:38 +00:00
|
|
|
- name: Checkout Electron
|
2024-06-18 10:14:15 +00:00
|
|
|
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332
|
2024-06-13 21:02:38 +00:00
|
|
|
with:
|
|
|
|
path: src/electron
|
|
|
|
fetch-depth: 0
|
|
|
|
- name: Install Dependencies
|
|
|
|
run: |
|
|
|
|
cd src/electron
|
2024-06-17 23:33:44 +00:00
|
|
|
node script/yarn install --frozen-lockfile
|
2024-06-13 21:02:38 +00:00
|
|
|
- name: Get Depot Tools
|
|
|
|
timeout-minutes: 5
|
|
|
|
run: |
|
chore: bump chromium to 128.0.6611.0 (main) (#42779)
* chore: bump chromium in DEPS to 128.0.6577.0
* chore: bump chromium in DEPS to 128.0.6579.0
* 5675706: Reland "Reland "Reland "Reland "Add toolchains without PartitionAlloc-Everywhere for dump_syms et al""""
https://chromium-review.googlesource.com/c/chromium/src/+/5675706
* 5668597: [PDF Ink Signatures] Prompt download menu on save when there are edits
https://chromium-review.googlesource.com/c/chromium/src/+/5668597
* 5677014: Reland "Pull data_sharing_sdk from CIPD"
https://chromium-review.googlesource.com/c/chromium/src/+/5677014
* chore: fixup patch indices
* chore: bump chromium in DEPS to 128.0.6581.0
* chore: bump chromium in DEPS to 128.0.6583.0
* update patches
* 5455480: [Extensions] Allow service worker requests to continue without a cert
https://chromium-review.googlesource.com/c/chromium/src/+/5455480
* try to get some debugging output from script/push-patch.js
* chore: bump chromium in DEPS to 128.0.6585.0
* chore: bump chromium in DEPS to 128.0.6587.0
* update patches
* chore: bump chromium in DEPS to 128.0.6589.0
* more patch work
* maybe over here?
* chore: update patches
* 5673207: [HTTPS Upgrades] Disable in captive portal login webview
https://chromium-review.googlesource.com/c/chromium/src/+/5673207
* 5636785: Extensions: WAR: manifest.json's use_dynamic_url requires a dynamic url
https://chromium-review.googlesource.com/c/chromium/src/+/5636785
* chore: bump chromium in DEPS to 128.0.6591.0
* 5665458: Trigger WN2 page when feature is enabled
https://chromium-review.googlesource.com/c/chromium/src/+/5665458
* update patches
* chore: bump chromium in DEPS to 128.0.6593.0
* chore: bump chromium in DEPS to 128.0.6595.0
* chore: bump chromium in DEPS to 128.0.6597.0
* (patch update) 5694586: [compile hints] Remove the usage of v8::Isolate::SetJavaScriptCompileHintsMagicEnabledCallback API
https://chromium-review.googlesource.com/c/chromium/src/+/5694586
* update patches
* 5691287: Reland "Change blink::WebKeyboardEvent to use std::array in is members"
https://chromium-review.googlesource.com/c/chromium/src/+/5691287
The code changed here is modeled after code in `content/renderer/pepper/event_conversion.cc` that was also modified in this CL, so I took the same approach.
* 5529018: Cleanup EnableWebHidOnExtensionServiceWorker flag
https://chromium-review.googlesource.com/c/chromium/src/+/5529018
* 5526324: [Code Health] Add deprecation comment for base::SupportsWeakPtr.
https://chromium-review.googlesource.com/c/chromium/src/+/5526324
Note that this CL actually does make `SupportsWeakPtr` strictly restricted to existing implementations, no new ones. We could add a patch to add ourselves to this list, but it looks like we'll have to refactor this anyways in the near future. Since the refactor seems straightforward, let's try that first.
* chore: bump chromium in DEPS to 128.0.6598.0
* chore: update patches
* 5704737: Rename ExclusiveAccessContext::GetActiveWebContents to avoid conflict
https://chromium-review.googlesource.com/c/chromium/src/+/5704737
* chore: bump chromium in DEPS to 128.0.6601.0
* chore: update patches
* Add `base::StringPiece` header includes
Chromium is working on replacing `base::StringPiece` with `std::string_view`. (See the Chromium Bug below.) They're currently running mass codemods (across many multiple changes) to replace uses of `StringPiece` with `string_view`, including removing the header include for `StringPiece` in those files. This cascades down to our files that were implicitly depending on those includes through some other include.
They're on track to eventually deprecate and remove `StringPiece` so our code should be converted, but that can be done as an upgrade follow-up task. For now, adding the header back to files that need it should suffice for minimal upgrade changes.
Chromium Bug: https://issues.chromium.org/issues/40506050
* 5702737: GlobalRequestID: Avoid unwanted inlining and narrowing int conversions
https://chromium-review.googlesource.com/c/chromium/src/+/5702737
contender for smallest commit 2024
* 5706534: Rename GlobalFeatures to GlobalDesktopFeatures.
https://chromium-review.googlesource.com/c/chromium/src/+/5706534
* 5691321: ui: remove params variants of SelectFile listener functions
https://chromium-review.googlesource.com/c/chromium/src/+/5691321
* 5714949: [Extensions] Display re-enable dialog for MV2 disabled stage
https://chromium-review.googlesource.com/c/chromium/src/+/5714949
* chore: update libc++ filenames
* patch: disable scope reuse & associated dchecks in v8 (hopefully temp, upgrade follow-up)
* fixup! Add `base::StringPiece` header includes
* update MAS patch
5710330: Add crash keys to debug NativeWidgetMacNSWindowBorderlessFrame exception
https://chromium-review.googlesource.com/c/chromium/src/+/5710330
* chore: bump chromium in DEPS to 128.0.6603.0
* chore: update patches
* 5713258: Reland "Preparation for decoupling creation/initialization of context"
https://chromium-review.googlesource.com/c/chromium/src/+/5713258
When destroying a context, it must already be shutdown, and this change enforces it with a new CHECK.
We were overriding `BrowserContextKeyedServiceFactory::BrowserContextShutdown` with an empty implementation, which differed from the default implementation that notifies the `KeyedServiceFactory` that the context has shutdown. Since we were missing this notification, the CHECK would later trip when the service was being destoryed because it was not registered as shutdown when it was shutdown.
* chore: bump chromium in DEPS to 128.0.6605.2
* chore: update patches
* refactor: linux open/save dialog patch
Our existing implementation was relying on an opaque `void* params` parameter that was passed through `ui::SelectFileDialog`.
Recently, that parameter has been getting removed:
- 5691321: ui: remove params variants of SelectFile listener functions | https://chromium-review.googlesource.com/c/chromium/src/+/5691321
- 5709097: ui: remove SelectFileDialog impl params | https://chromium-review.googlesource.com/c/chromium/src/+/5709097
- https://issues.chromium.org/issues/340178601 "reconsider SelectFileDialog"
This restructures the patch to work with mostly the same mechanics, but directly on the `ui::SelectFileDialog` object. This nets us some wins in terms of a smaller patch.
* 5713262: DevTools UI binding AIDA client event returns response
https://chromium-review.googlesource.com/c/chromium/src/+/5713262
* fixup! refactor: linux open/save dialog patch
* chore: bump chromium in DEPS to 128.0.6606.0
* chore: update patches
* fixup! refactor: linux open/save dialog patch
* chore: bump chromium in DEPS to 128.0.6607.0
* chore: update printing.patch
Xref: https://chromium-review.googlesource.com/c/chromium/src/+/5722937
* fix: pwd error in electron-test, nan-test
fix: unshallow depot_tools before 3-way apply
* chore: e patches all
* fixup! fix: pwd error in electron-test, nan-test
* chore: bump chromium in DEPS to 128.0.6609.0
* chore: bump chromium in DEPS to 128.0.6611.0
* chore: update patches
* chore: update libcxx filenames
---------
Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>
Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>
Co-authored-by: Jeremy Rose <nornagon@nornagon.net>
Co-authored-by: PatchUp <73610968+patchup[bot]@users.noreply.github.com>
Co-authored-by: clavin <clavin@electronjs.org>
Co-authored-by: Charles Kerr <charles@charleskerr.com>
Co-authored-by: Alice Zhao <alice@makenotion.com>
2024-07-23 15:59:44 +00:00
|
|
|
git clone --filter=tree:0 https://chromium.googlesource.com/chromium/tools/depot_tools.git
|
|
|
|
# Ensure depot_tools does not update.
|
|
|
|
test -d depot_tools && cd depot_tools
|
2024-06-13 21:02:38 +00:00
|
|
|
if [ "`uname`" = "Darwin" ]; then
|
|
|
|
# remove ninjalog_uploader_wrapper.py from autoninja since we don't use it and it causes problems
|
chore: bump chromium to 128.0.6611.0 (main) (#42779)
* chore: bump chromium in DEPS to 128.0.6577.0
* chore: bump chromium in DEPS to 128.0.6579.0
* 5675706: Reland "Reland "Reland "Reland "Add toolchains without PartitionAlloc-Everywhere for dump_syms et al""""
https://chromium-review.googlesource.com/c/chromium/src/+/5675706
* 5668597: [PDF Ink Signatures] Prompt download menu on save when there are edits
https://chromium-review.googlesource.com/c/chromium/src/+/5668597
* 5677014: Reland "Pull data_sharing_sdk from CIPD"
https://chromium-review.googlesource.com/c/chromium/src/+/5677014
* chore: fixup patch indices
* chore: bump chromium in DEPS to 128.0.6581.0
* chore: bump chromium in DEPS to 128.0.6583.0
* update patches
* 5455480: [Extensions] Allow service worker requests to continue without a cert
https://chromium-review.googlesource.com/c/chromium/src/+/5455480
* try to get some debugging output from script/push-patch.js
* chore: bump chromium in DEPS to 128.0.6585.0
* chore: bump chromium in DEPS to 128.0.6587.0
* update patches
* chore: bump chromium in DEPS to 128.0.6589.0
* more patch work
* maybe over here?
* chore: update patches
* 5673207: [HTTPS Upgrades] Disable in captive portal login webview
https://chromium-review.googlesource.com/c/chromium/src/+/5673207
* 5636785: Extensions: WAR: manifest.json's use_dynamic_url requires a dynamic url
https://chromium-review.googlesource.com/c/chromium/src/+/5636785
* chore: bump chromium in DEPS to 128.0.6591.0
* 5665458: Trigger WN2 page when feature is enabled
https://chromium-review.googlesource.com/c/chromium/src/+/5665458
* update patches
* chore: bump chromium in DEPS to 128.0.6593.0
* chore: bump chromium in DEPS to 128.0.6595.0
* chore: bump chromium in DEPS to 128.0.6597.0
* (patch update) 5694586: [compile hints] Remove the usage of v8::Isolate::SetJavaScriptCompileHintsMagicEnabledCallback API
https://chromium-review.googlesource.com/c/chromium/src/+/5694586
* update patches
* 5691287: Reland "Change blink::WebKeyboardEvent to use std::array in is members"
https://chromium-review.googlesource.com/c/chromium/src/+/5691287
The code changed here is modeled after code in `content/renderer/pepper/event_conversion.cc` that was also modified in this CL, so I took the same approach.
* 5529018: Cleanup EnableWebHidOnExtensionServiceWorker flag
https://chromium-review.googlesource.com/c/chromium/src/+/5529018
* 5526324: [Code Health] Add deprecation comment for base::SupportsWeakPtr.
https://chromium-review.googlesource.com/c/chromium/src/+/5526324
Note that this CL actually does make `SupportsWeakPtr` strictly restricted to existing implementations, no new ones. We could add a patch to add ourselves to this list, but it looks like we'll have to refactor this anyways in the near future. Since the refactor seems straightforward, let's try that first.
* chore: bump chromium in DEPS to 128.0.6598.0
* chore: update patches
* 5704737: Rename ExclusiveAccessContext::GetActiveWebContents to avoid conflict
https://chromium-review.googlesource.com/c/chromium/src/+/5704737
* chore: bump chromium in DEPS to 128.0.6601.0
* chore: update patches
* Add `base::StringPiece` header includes
Chromium is working on replacing `base::StringPiece` with `std::string_view`. (See the Chromium Bug below.) They're currently running mass codemods (across many multiple changes) to replace uses of `StringPiece` with `string_view`, including removing the header include for `StringPiece` in those files. This cascades down to our files that were implicitly depending on those includes through some other include.
They're on track to eventually deprecate and remove `StringPiece` so our code should be converted, but that can be done as an upgrade follow-up task. For now, adding the header back to files that need it should suffice for minimal upgrade changes.
Chromium Bug: https://issues.chromium.org/issues/40506050
* 5702737: GlobalRequestID: Avoid unwanted inlining and narrowing int conversions
https://chromium-review.googlesource.com/c/chromium/src/+/5702737
contender for smallest commit 2024
* 5706534: Rename GlobalFeatures to GlobalDesktopFeatures.
https://chromium-review.googlesource.com/c/chromium/src/+/5706534
* 5691321: ui: remove params variants of SelectFile listener functions
https://chromium-review.googlesource.com/c/chromium/src/+/5691321
* 5714949: [Extensions] Display re-enable dialog for MV2 disabled stage
https://chromium-review.googlesource.com/c/chromium/src/+/5714949
* chore: update libc++ filenames
* patch: disable scope reuse & associated dchecks in v8 (hopefully temp, upgrade follow-up)
* fixup! Add `base::StringPiece` header includes
* update MAS patch
5710330: Add crash keys to debug NativeWidgetMacNSWindowBorderlessFrame exception
https://chromium-review.googlesource.com/c/chromium/src/+/5710330
* chore: bump chromium in DEPS to 128.0.6603.0
* chore: update patches
* 5713258: Reland "Preparation for decoupling creation/initialization of context"
https://chromium-review.googlesource.com/c/chromium/src/+/5713258
When destroying a context, it must already be shutdown, and this change enforces it with a new CHECK.
We were overriding `BrowserContextKeyedServiceFactory::BrowserContextShutdown` with an empty implementation, which differed from the default implementation that notifies the `KeyedServiceFactory` that the context has shutdown. Since we were missing this notification, the CHECK would later trip when the service was being destoryed because it was not registered as shutdown when it was shutdown.
* chore: bump chromium in DEPS to 128.0.6605.2
* chore: update patches
* refactor: linux open/save dialog patch
Our existing implementation was relying on an opaque `void* params` parameter that was passed through `ui::SelectFileDialog`.
Recently, that parameter has been getting removed:
- 5691321: ui: remove params variants of SelectFile listener functions | https://chromium-review.googlesource.com/c/chromium/src/+/5691321
- 5709097: ui: remove SelectFileDialog impl params | https://chromium-review.googlesource.com/c/chromium/src/+/5709097
- https://issues.chromium.org/issues/340178601 "reconsider SelectFileDialog"
This restructures the patch to work with mostly the same mechanics, but directly on the `ui::SelectFileDialog` object. This nets us some wins in terms of a smaller patch.
* 5713262: DevTools UI binding AIDA client event returns response
https://chromium-review.googlesource.com/c/chromium/src/+/5713262
* fixup! refactor: linux open/save dialog patch
* chore: bump chromium in DEPS to 128.0.6606.0
* chore: update patches
* fixup! refactor: linux open/save dialog patch
* chore: bump chromium in DEPS to 128.0.6607.0
* chore: update printing.patch
Xref: https://chromium-review.googlesource.com/c/chromium/src/+/5722937
* fix: pwd error in electron-test, nan-test
fix: unshallow depot_tools before 3-way apply
* chore: e patches all
* fixup! fix: pwd error in electron-test, nan-test
* chore: bump chromium in DEPS to 128.0.6609.0
* chore: bump chromium in DEPS to 128.0.6611.0
* chore: update patches
* chore: update libcxx filenames
---------
Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>
Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>
Co-authored-by: Jeremy Rose <nornagon@nornagon.net>
Co-authored-by: PatchUp <73610968+patchup[bot]@users.noreply.github.com>
Co-authored-by: clavin <clavin@electronjs.org>
Co-authored-by: Charles Kerr <charles@charleskerr.com>
Co-authored-by: Alice Zhao <alice@makenotion.com>
2024-07-23 15:59:44 +00:00
|
|
|
sed -i '' '/ninjalog_uploader_wrapper.py/d' ./autoninja
|
2024-06-13 21:02:38 +00:00
|
|
|
else
|
chore: bump chromium to 128.0.6611.0 (main) (#42779)
* chore: bump chromium in DEPS to 128.0.6577.0
* chore: bump chromium in DEPS to 128.0.6579.0
* 5675706: Reland "Reland "Reland "Reland "Add toolchains without PartitionAlloc-Everywhere for dump_syms et al""""
https://chromium-review.googlesource.com/c/chromium/src/+/5675706
* 5668597: [PDF Ink Signatures] Prompt download menu on save when there are edits
https://chromium-review.googlesource.com/c/chromium/src/+/5668597
* 5677014: Reland "Pull data_sharing_sdk from CIPD"
https://chromium-review.googlesource.com/c/chromium/src/+/5677014
* chore: fixup patch indices
* chore: bump chromium in DEPS to 128.0.6581.0
* chore: bump chromium in DEPS to 128.0.6583.0
* update patches
* 5455480: [Extensions] Allow service worker requests to continue without a cert
https://chromium-review.googlesource.com/c/chromium/src/+/5455480
* try to get some debugging output from script/push-patch.js
* chore: bump chromium in DEPS to 128.0.6585.0
* chore: bump chromium in DEPS to 128.0.6587.0
* update patches
* chore: bump chromium in DEPS to 128.0.6589.0
* more patch work
* maybe over here?
* chore: update patches
* 5673207: [HTTPS Upgrades] Disable in captive portal login webview
https://chromium-review.googlesource.com/c/chromium/src/+/5673207
* 5636785: Extensions: WAR: manifest.json's use_dynamic_url requires a dynamic url
https://chromium-review.googlesource.com/c/chromium/src/+/5636785
* chore: bump chromium in DEPS to 128.0.6591.0
* 5665458: Trigger WN2 page when feature is enabled
https://chromium-review.googlesource.com/c/chromium/src/+/5665458
* update patches
* chore: bump chromium in DEPS to 128.0.6593.0
* chore: bump chromium in DEPS to 128.0.6595.0
* chore: bump chromium in DEPS to 128.0.6597.0
* (patch update) 5694586: [compile hints] Remove the usage of v8::Isolate::SetJavaScriptCompileHintsMagicEnabledCallback API
https://chromium-review.googlesource.com/c/chromium/src/+/5694586
* update patches
* 5691287: Reland "Change blink::WebKeyboardEvent to use std::array in is members"
https://chromium-review.googlesource.com/c/chromium/src/+/5691287
The code changed here is modeled after code in `content/renderer/pepper/event_conversion.cc` that was also modified in this CL, so I took the same approach.
* 5529018: Cleanup EnableWebHidOnExtensionServiceWorker flag
https://chromium-review.googlesource.com/c/chromium/src/+/5529018
* 5526324: [Code Health] Add deprecation comment for base::SupportsWeakPtr.
https://chromium-review.googlesource.com/c/chromium/src/+/5526324
Note that this CL actually does make `SupportsWeakPtr` strictly restricted to existing implementations, no new ones. We could add a patch to add ourselves to this list, but it looks like we'll have to refactor this anyways in the near future. Since the refactor seems straightforward, let's try that first.
* chore: bump chromium in DEPS to 128.0.6598.0
* chore: update patches
* 5704737: Rename ExclusiveAccessContext::GetActiveWebContents to avoid conflict
https://chromium-review.googlesource.com/c/chromium/src/+/5704737
* chore: bump chromium in DEPS to 128.0.6601.0
* chore: update patches
* Add `base::StringPiece` header includes
Chromium is working on replacing `base::StringPiece` with `std::string_view`. (See the Chromium Bug below.) They're currently running mass codemods (across many multiple changes) to replace uses of `StringPiece` with `string_view`, including removing the header include for `StringPiece` in those files. This cascades down to our files that were implicitly depending on those includes through some other include.
They're on track to eventually deprecate and remove `StringPiece` so our code should be converted, but that can be done as an upgrade follow-up task. For now, adding the header back to files that need it should suffice for minimal upgrade changes.
Chromium Bug: https://issues.chromium.org/issues/40506050
* 5702737: GlobalRequestID: Avoid unwanted inlining and narrowing int conversions
https://chromium-review.googlesource.com/c/chromium/src/+/5702737
contender for smallest commit 2024
* 5706534: Rename GlobalFeatures to GlobalDesktopFeatures.
https://chromium-review.googlesource.com/c/chromium/src/+/5706534
* 5691321: ui: remove params variants of SelectFile listener functions
https://chromium-review.googlesource.com/c/chromium/src/+/5691321
* 5714949: [Extensions] Display re-enable dialog for MV2 disabled stage
https://chromium-review.googlesource.com/c/chromium/src/+/5714949
* chore: update libc++ filenames
* patch: disable scope reuse & associated dchecks in v8 (hopefully temp, upgrade follow-up)
* fixup! Add `base::StringPiece` header includes
* update MAS patch
5710330: Add crash keys to debug NativeWidgetMacNSWindowBorderlessFrame exception
https://chromium-review.googlesource.com/c/chromium/src/+/5710330
* chore: bump chromium in DEPS to 128.0.6603.0
* chore: update patches
* 5713258: Reland "Preparation for decoupling creation/initialization of context"
https://chromium-review.googlesource.com/c/chromium/src/+/5713258
When destroying a context, it must already be shutdown, and this change enforces it with a new CHECK.
We were overriding `BrowserContextKeyedServiceFactory::BrowserContextShutdown` with an empty implementation, which differed from the default implementation that notifies the `KeyedServiceFactory` that the context has shutdown. Since we were missing this notification, the CHECK would later trip when the service was being destoryed because it was not registered as shutdown when it was shutdown.
* chore: bump chromium in DEPS to 128.0.6605.2
* chore: update patches
* refactor: linux open/save dialog patch
Our existing implementation was relying on an opaque `void* params` parameter that was passed through `ui::SelectFileDialog`.
Recently, that parameter has been getting removed:
- 5691321: ui: remove params variants of SelectFile listener functions | https://chromium-review.googlesource.com/c/chromium/src/+/5691321
- 5709097: ui: remove SelectFileDialog impl params | https://chromium-review.googlesource.com/c/chromium/src/+/5709097
- https://issues.chromium.org/issues/340178601 "reconsider SelectFileDialog"
This restructures the patch to work with mostly the same mechanics, but directly on the `ui::SelectFileDialog` object. This nets us some wins in terms of a smaller patch.
* 5713262: DevTools UI binding AIDA client event returns response
https://chromium-review.googlesource.com/c/chromium/src/+/5713262
* fixup! refactor: linux open/save dialog patch
* chore: bump chromium in DEPS to 128.0.6606.0
* chore: update patches
* fixup! refactor: linux open/save dialog patch
* chore: bump chromium in DEPS to 128.0.6607.0
* chore: update printing.patch
Xref: https://chromium-review.googlesource.com/c/chromium/src/+/5722937
* fix: pwd error in electron-test, nan-test
fix: unshallow depot_tools before 3-way apply
* chore: e patches all
* fixup! fix: pwd error in electron-test, nan-test
* chore: bump chromium in DEPS to 128.0.6609.0
* chore: bump chromium in DEPS to 128.0.6611.0
* chore: update patches
* chore: update libcxx filenames
---------
Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>
Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>
Co-authored-by: Jeremy Rose <nornagon@nornagon.net>
Co-authored-by: PatchUp <73610968+patchup[bot]@users.noreply.github.com>
Co-authored-by: clavin <clavin@electronjs.org>
Co-authored-by: Charles Kerr <charles@charleskerr.com>
Co-authored-by: Alice Zhao <alice@makenotion.com>
2024-07-23 15:59:44 +00:00
|
|
|
sed -i '/ninjalog_uploader_wrapper.py/d' ./autoninja
|
2024-06-14 14:11:30 +00:00
|
|
|
# Remove swift-format dep from cipd on macOS until we send a patch upstream.
|
|
|
|
git apply --3way ../src/electron/.github/workflows/config/gclient.diff
|
2024-06-13 21:02:38 +00:00
|
|
|
fi
|
|
|
|
touch .disable_auto_update
|
|
|
|
- name: Add Depot Tools to PATH
|
|
|
|
run: echo "$(pwd)/depot_tools" >> $GITHUB_PATH
|
2024-06-20 10:11:53 +00:00
|
|
|
- name: Load ASan specific environment variables
|
|
|
|
if: ${{ inputs.is-asan == true }}
|
|
|
|
run: |
|
|
|
|
echo "ARTIFACT_KEY=${{ matrix.build-type }}_${{ inputs.target-arch }}_asan" >> $GITHUB_ENV
|
|
|
|
echo "DISABLE_CRASH_REPORTER_TESTS=true" >> $GITHUB_ENV
|
|
|
|
echo "IS_ASAN=true" >> $GITHUB_ENV
|
2024-06-13 21:02:38 +00:00
|
|
|
- name: Download Generated Artifacts
|
2024-07-17 13:18:41 +00:00
|
|
|
uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16
|
2024-06-13 21:02:38 +00:00
|
|
|
with:
|
2024-06-20 10:11:53 +00:00
|
|
|
name: generated_artifacts_${{ env.ARTIFACT_KEY }}
|
2024-06-13 21:02:38 +00:00
|
|
|
path: ./generated_artifacts_${{ matrix.build-type }}_${{ inputs.target-arch }}
|
2024-06-13 21:35:13 +00:00
|
|
|
- name: Download Src Artifacts
|
2024-07-17 13:18:41 +00:00
|
|
|
uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16
|
2024-06-13 21:35:13 +00:00
|
|
|
with:
|
2024-06-20 10:11:53 +00:00
|
|
|
name: src_artifacts_${{ env.ARTIFACT_KEY }}
|
|
|
|
path: ./src_artifacts_${{ matrix.build-type }}_${{ inputs.target-arch }}
|
2024-06-13 21:02:38 +00:00
|
|
|
- name: Restore Generated Artifacts
|
|
|
|
run: ./src/electron/script/actions/restore-artifacts.sh
|
|
|
|
- name: Unzip Dist, Mksnapshot & Chromedriver
|
|
|
|
run: |
|
|
|
|
cd src/out/Default
|
|
|
|
unzip -:o dist.zip
|
|
|
|
unzip -:o chromedriver.zip
|
|
|
|
unzip -:o mksnapshot.zip
|
2024-06-19 14:28:07 +00:00
|
|
|
- name: Import & Trust Self-Signed Codesigning Cert on MacOS
|
|
|
|
if: ${{ inputs.target-platform == 'macos' && inputs.target-arch == 'x64' }}
|
|
|
|
run: |
|
|
|
|
sudo security authorizationdb write com.apple.trust-settings.admin allow
|
|
|
|
cd src/electron
|
|
|
|
./script/codesign/generate-identity.sh
|
2024-10-07 22:51:23 +00:00
|
|
|
- name: Install Datadog CLI
|
|
|
|
run: |
|
|
|
|
cd src/electron
|
|
|
|
node script/yarn global add @datadog/datadog-ci
|
2024-06-13 21:02:38 +00:00
|
|
|
- name: Run Electron Tests
|
2024-06-17 23:33:44 +00:00
|
|
|
shell: bash
|
2024-06-13 21:02:38 +00:00
|
|
|
env:
|
|
|
|
MOCHA_REPORTER: mocha-multi-reporters
|
|
|
|
MOCHA_MULTI_REPORTERS: mocha-junit-reporter, tap
|
|
|
|
ELECTRON_DISABLE_SECURITY_WARNINGS: 1
|
|
|
|
ELECTRON_SKIP_NATIVE_MODULE_TESTS: true
|
2024-06-14 15:57:28 +00:00
|
|
|
DISPLAY: ':99.0'
|
2024-06-13 21:02:38 +00:00
|
|
|
run: |
|
|
|
|
cd src/electron
|
2024-10-07 22:51:23 +00:00
|
|
|
export ELECTRON_TEST_RESULTS_DIR=`pwd`/junit
|
2024-06-14 15:57:28 +00:00
|
|
|
# Get which tests are on this shard
|
2024-06-17 23:33:44 +00:00
|
|
|
tests_files=$(node script/split-tests ${{ matrix.shard }} ${{ inputs.target-platform == 'macos' && 2 || 3 }})
|
2024-06-14 15:57:28 +00:00
|
|
|
|
|
|
|
# Run tests
|
|
|
|
if [ "`uname`" = "Darwin" ]; then
|
2024-06-17 23:33:44 +00:00
|
|
|
echo "About to start tests"
|
|
|
|
node script/yarn test --runners=main --trace-uncaught --enable-logging --files $tests_files
|
2024-06-14 15:57:28 +00:00
|
|
|
else
|
|
|
|
chown :builduser .. && chmod g+w ..
|
|
|
|
chown -R :builduser . && chmod -R g+w .
|
|
|
|
chmod 4755 ../out/Default/chrome-sandbox
|
2024-06-14 18:47:58 +00:00
|
|
|
runuser -u builduser -- git config --global --add safe.directory $(pwd)
|
2024-06-20 10:11:53 +00:00
|
|
|
if [ "${{ inputs.is-asan }}" == "true" ]; then
|
|
|
|
cd ..
|
|
|
|
ASAN_SYMBOLIZE="$PWD/tools/valgrind/asan/asan_symbolize.py --executable-path=$PWD/out/Default/electron"
|
|
|
|
export ASAN_OPTIONS="symbolize=0 handle_abort=1"
|
|
|
|
export G_SLICE=always-malloc
|
|
|
|
export NSS_DISABLE_ARENA_FREE_LIST=1
|
|
|
|
export NSS_DISABLE_UNLOAD=1
|
|
|
|
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
|
|
|
|
runuser -u builduser -- xvfb-run script/actions/run-tests.sh script/yarn test --runners=main --trace-uncaught --enable-logging --files $tests_files | $ASAN_SYMBOLIZE
|
|
|
|
else
|
|
|
|
runuser -u builduser -- xvfb-run script/actions/run-tests.sh script/yarn test --runners=main --trace-uncaught --enable-logging --files $tests_files
|
|
|
|
fi
|
2024-06-14 15:57:28 +00:00
|
|
|
fi
|
2024-10-07 22:51:23 +00:00
|
|
|
- name: Upload Test results to Datadog
|
|
|
|
env:
|
|
|
|
DD_ENV: ci
|
|
|
|
DD_SERVICE: electron
|
|
|
|
DD_API_KEY: ${{ secrets.DD_API_KEY }}
|
|
|
|
DD_CIVISIBILITY_LOGS_ENABLED: true
|
|
|
|
DD_TAGS: "os.architecture:${{ inputs.target-arch }},os.family:${{ inputs.target-platform }},os.platform:${{ inputs.target-platform }},asan:${{ inputs.is-asan }}"
|
2024-10-11 10:08:51 +00:00
|
|
|
run: |
|
|
|
|
if ! [ -z $DD_API_KEY ]; then
|
|
|
|
datadog-ci junit upload src/electron/junit/test-results-main.xml
|
|
|
|
fi
|
2024-10-07 22:51:23 +00:00
|
|
|
if: always() && !cancelled()
|
2024-07-17 05:56:56 +00:00
|
|
|
- name: Upload Test Artifacts
|
|
|
|
if: always() && !cancelled()
|
2024-09-05 10:04:52 +00:00
|
|
|
uses: actions/upload-artifact@50769540e7f4bd5e21e526ee35c689e35e0d6874
|
2024-07-17 05:56:56 +00:00
|
|
|
with:
|
|
|
|
name: test_artifacts_${{ env.ARTIFACT_KEY }}
|
|
|
|
path: src/electron/spec/artifacts
|
|
|
|
if-no-files-found: ignore
|
2024-06-13 21:02:38 +00:00
|
|
|
- name: Wait for active SSH sessions
|
|
|
|
if: always() && !cancelled()
|
|
|
|
run: |
|
|
|
|
while [ -f /var/.ssh-lock ]
|
|
|
|
do
|
|
|
|
sleep 60
|
2024-07-17 05:56:56 +00:00
|
|
|
done
|