Skip to content

Commit 5216c04

Browse files
authored
chore: update to electron 29 (#209818)
* chore: update electron@29.1.0 * chore: update typings to 20.x * chore: bump electron@29.1.5 * ci: fix crash in compiling extensions-ci * chore: disable .d.ts check for build/ $ ../node_modules/.bin/tsc -p tsconfig.build.json node_modules/@types/chokidar/index.d.ts:21:14 - error TS2420: Class 'import("/Users/demohan/github/vscode/build/node_modules/@types/chokidar/index").FSWatcher' incorrectly implements interface 'import("fs").FSWatcher'. Type 'FSWatcher' is missing the following properties from type 'FSWatcher': ref, unref 21 export class FSWatcher extends EventEmitter implements fs.FSWatcher { ~~~~~~~~~ node_modules/chokidar/types/index.d.ts:8:14 - error TS2420: Class 'import("/Users/demohan/github/vscode/build/node_modules/chokidar/types/index").FSWatcher' incorrectly implements interface 'import("fs").FSWatcher'. Type 'FSWatcher' is missing the following properties from type 'FSWatcher': ref, unref 8 export class FSWatcher extends EventEmitter implements fs.FSWatcher { ~~~~~~~~~ Found 2 errors in 2 files. Errors Files 1 node_modules/@types/chokidar/index.d.ts:21 1 node_modules/chokidar/types/index.d.ts:8 Refs paulmillr/chokidar@a0f9e09 * chore: update core types * temp: fix layer validation * chore: update nodejs checksums * ci: use latest v20 LTS for missing node-gyp Refs npm/cli@eacec5f * ci: define LIBCPP_HARDENING_MODE * ci: fix crash in vscode-web-min-ci * chore: update rpm deps-list * chore: bump tree-sitter-typescript@0.20.5 * chore: bump electron@29.3.0 * chore: bump electron@29.3.1 * chore: update rpm deps-list for x86_64 * ci: disable io_uring UV backend on linux * ci: disable io_uring backend for oss as well * chore: update typings to 20.x * ci: add TODO for io_uring workaround * chore: bump distro * chore: update preinstall node version checks * chore: update @types/gulp Refs #212442 * ci: disable io_uring in more test suites
1 parent c5e287e commit 5216c04

101 files changed

Lines changed: 797 additions & 361 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.nvmrc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
18.19.0
1+
20.12.1

.vscode/extensions/vscode-selfhost-test-provider/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@
7171
},
7272
"devDependencies": {
7373
"@types/mocha": "^10.0.6",
74-
"@types/node": "18.x"
74+
"@types/node": "20.x"
7575
},
7676
"dependencies": {
7777
"@jridgewell/trace-mapping": "^0.3.25",

.vscode/extensions/vscode-selfhost-test-provider/yarn.lock

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -30,10 +30,10 @@
3030
resolved "https://registry.yarnpkg.com/@types/mocha/-/mocha-10.0.6.tgz#818551d39113081048bdddbef96701b4e8bb9d1b"
3131
integrity sha512-dJvrYWxP/UcXm36Qn36fxhUKu8A/xMRXVT2cliFF1Z7UA9liG5Psj3ezNSZw+5puH2czDXRLcXQxf8JbJt0ejg==
3232

33-
"@types/node@18.x":
34-
version "18.19.26"
35-
resolved "https://registry.yarnpkg.com/@types/node/-/node-18.19.26.tgz#18991279d0a0e53675285e8cf4a0823766349729"
36-
integrity sha512-+wiMJsIwLOYCvUqSdKTrfkS8mpTp+MPINe6+Np4TAGFWWRWiBQ5kSq9nZGCSPkzx9mvT+uEukzpX4MOSCydcvw==
33+
"@types/node@20.x":
34+
version "20.12.11"
35+
resolved "https://registry.yarnpkg.com/@types/node/-/node-20.12.11.tgz#c4ef00d3507000d17690643278a60dc55a9dc9be"
36+
integrity sha512-vDg9PZ/zi+Nqp6boSOT7plNuthRugEKixDv5sFTIpkE89MmNtEArAShI4mxuX2+UrLEe9pxC1vm2cjm9YlWbJw==
3737
dependencies:
3838
undici-types "~5.26.4"
3939

.yarnrc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
disturl "https://electronjs.org/headers"
2-
target "28.2.8"
3-
ms_build_id "27744544"
2+
target "29.3.1"
3+
ms_build_id "9464424"
44
runtime "electron"
55
build_from_source "true"

build/azure-pipelines/darwin/product-build-darwin.yml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -78,8 +78,6 @@ steps:
7878

7979
- script: |
8080
set -e
81-
export npm_config_arch=$(VSCODE_ARCH)
82-
npm i -g node-gyp@9.4.0
8381
python3 -m pip install setuptools
8482
8583
for i in {1..5}; do # try 5 times
@@ -91,6 +89,7 @@ steps:
9189
echo "Yarn failed $i, trying again..."
9290
done
9391
env:
92+
npm_config_arch: $(VSCODE_ARCH)
9493
ELECTRON_SKIP_BINARY_DOWNLOAD: 1
9594
PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD: 1
9695
GITHUB_TOKEN: "$(github-distro-mixin-password)"

build/azure-pipelines/linux/product-build-linux-test.yml

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,9 @@ steps:
9292
- script: ./scripts/test-integration.sh --tfs "Integration Tests"
9393
env:
9494
DISPLAY: ":10"
95+
# TODO(deepak1556): Remove this once runtime is updated for
96+
# https://github.com/microsoft/vscode/issues/210467#issuecomment-2104566724
97+
UV_USE_IO_URING: 0
9598
displayName: Run integration tests (Electron)
9699
timeoutInMinutes: 20
97100

@@ -100,6 +103,10 @@ steps:
100103
timeoutInMinutes: 20
101104

102105
- script: ./scripts/test-remote-integration.sh
106+
env:
107+
# TODO(deepak1556): Remove this once runtime is updated for
108+
# https://github.com/microsoft/vscode/issues/210467#issuecomment-2104566724
109+
UV_USE_IO_URING: 0
103110
displayName: Run integration tests (Remote)
104111
timeoutInMinutes: 20
105112

@@ -116,6 +123,9 @@ steps:
116123
./scripts/test-integration.sh --build --tfs "Integration Tests"
117124
env:
118125
VSCODE_REMOTE_SERVER_PATH: $(agent.builddirectory)/vscode-server-linux-$(VSCODE_ARCH)
126+
# TODO(deepak1556): Remove this once runtime is updated for
127+
# https://github.com/microsoft/vscode/issues/210467#issuecomment-2104566724
128+
UV_USE_IO_URING: 0
119129
displayName: Run integration tests (Electron)
120130
timeoutInMinutes: 20
121131
@@ -134,6 +144,9 @@ steps:
134144
./scripts/test-remote-integration.sh
135145
env:
136146
VSCODE_REMOTE_SERVER_PATH: $(agent.builddirectory)/vscode-server-linux-$(VSCODE_ARCH)
147+
# TODO(deepak1556): Remove this once runtime is updated for
148+
# https://github.com/microsoft/vscode/issues/210467#issuecomment-2104566724
149+
UV_USE_IO_URING: 0
137150
displayName: Run integration tests (Remote)
138151
timeoutInMinutes: 20
139152
@@ -160,24 +173,43 @@ steps:
160173

161174
- script: yarn smoketest-no-compile --tracing
162175
timeoutInMinutes: 20
176+
env:
177+
# TODO(deepak1556): Remove this once runtime is updated for
178+
# https://github.com/microsoft/vscode/issues/210467#issuecomment-2104566724
179+
UV_USE_IO_URING: 0
163180
displayName: Run smoke tests (Electron)
164181

165182
- script: yarn smoketest-no-compile --web --tracing --headless --electronArgs="--disable-dev-shm-usage"
166183
timeoutInMinutes: 20
184+
env:
185+
# TODO(deepak1556): Remove this once runtime is updated for
186+
# https://github.com/microsoft/vscode/issues/210467#issuecomment-2104566724
187+
UV_USE_IO_URING: 0
167188
displayName: Run smoke tests (Browser, Chromium)
168189

169190
- script: yarn smoketest-no-compile --remote --tracing
170191
timeoutInMinutes: 20
192+
env:
193+
# TODO(deepak1556): Remove this once runtime is updated for
194+
# https://github.com/microsoft/vscode/issues/210467#issuecomment-2104566724
195+
UV_USE_IO_URING: 0
171196
displayName: Run smoke tests (Remote)
172197

173198
- ${{ if ne(parameters.VSCODE_QUALITY, 'oss') }}:
174199
- script: yarn smoketest-no-compile --tracing --build "$(agent.builddirectory)/VSCode-linux-$(VSCODE_ARCH)"
175200
timeoutInMinutes: 20
201+
env:
202+
# TODO(deepak1556): Remove this once runtime is updated for
203+
# https://github.com/microsoft/vscode/issues/210467#issuecomment-2104566724
204+
UV_USE_IO_URING: 0
176205
displayName: Run smoke tests (Electron)
177206

178207
- script: yarn smoketest-no-compile --web --tracing --headless --electronArgs="--disable-dev-shm-usage"
179208
env:
180209
VSCODE_REMOTE_SERVER_PATH: $(agent.builddirectory)/vscode-server-linux-$(VSCODE_ARCH)-web
210+
# TODO(deepak1556): Remove this once runtime is updated for
211+
# https://github.com/microsoft/vscode/issues/210467#issuecomment-2104566724
212+
UV_USE_IO_URING: 0
181213
timeoutInMinutes: 20
182214
displayName: Run smoke tests (Browser, Chromium)
183215

@@ -188,6 +220,10 @@ steps:
188220
VSCODE_REMOTE_SERVER_PATH="$(agent.builddirectory)/vscode-server-linux-$(VSCODE_ARCH)" \
189221
yarn smoketest-no-compile --tracing --remote --build "$APP_PATH"
190222
timeoutInMinutes: 20
223+
env:
224+
# TODO(deepak1556): Remove this once runtime is updated for
225+
# https://github.com/microsoft/vscode/issues/210467#issuecomment-2104566724
226+
UV_USE_IO_URING: 0
191227
displayName: Run smoke tests (Remote)
192228
193229
- script: |

build/azure-pipelines/linux/setup-env.sh

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ SYSROOT_ARCH="$SYSROOT_ARCH" node -e '(async () => { const { getVSCodeSysroot }
1313
if [ "$npm_config_arch" == "x64" ]; then
1414
if [ "$(echo "$@" | grep -c -- "--only-remote")" -eq 0 ]; then
1515
# Download clang based on chromium revision used by vscode
16-
curl -s https://raw.githubusercontent.com/chromium/chromium/120.0.6099.268/tools/clang/scripts/update.py | python - --output-dir=$PWD/.build/CR_Clang --host-os=linux
16+
curl -s https://raw.githubusercontent.com/chromium/chromium/122.0.6261.156/tools/clang/scripts/update.py | python - --output-dir=$PWD/.build/CR_Clang --host-os=linux
1717

1818
# Download libcxx headers and objects from upstream electron releases
1919
DEBUG=libcxx-fetcher \
@@ -25,12 +25,12 @@ if [ "$npm_config_arch" == "x64" ]; then
2525

2626
# Set compiler toolchain
2727
# Flags for the client build are based on
28-
# https://source.chromium.org/chromium/chromium/src/+/refs/tags/120.0.6099.268:build/config/arm.gni
29-
# https://source.chromium.org/chromium/chromium/src/+/refs/tags/120.0.6099.268:build/config/compiler/BUILD.gn
30-
# https://source.chromium.org/chromium/chromium/src/+/refs/tags/120.0.6099.268:build/config/c++/BUILD.gn
28+
# https://source.chromium.org/chromium/chromium/src/+/refs/tags/122.0.6261.156:build/config/arm.gni
29+
# https://source.chromium.org/chromium/chromium/src/+/refs/tags/122.0.6261.156:build/config/compiler/BUILD.gn
30+
# https://source.chromium.org/chromium/chromium/src/+/refs/tags/122.0.6261.156:build/config/c++/BUILD.gn
3131
export CC="$PWD/.build/CR_Clang/bin/clang --gcc-toolchain=$VSCODE_SYSROOT_DIR/x86_64-linux-gnu"
3232
export CXX="$PWD/.build/CR_Clang/bin/clang++ --gcc-toolchain=$VSCODE_SYSROOT_DIR/x86_64-linux-gnu"
33-
export CXXFLAGS="-nostdinc++ -D__NO_INLINE__ -I$PWD/.build/libcxx_headers -isystem$PWD/.build/libcxx_headers/include -isystem$PWD/.build/libcxxabi_headers/include -fPIC -flto=thin -fsplit-lto-unit -D_LIBCPP_ABI_NAMESPACE=Cr --sysroot=$VSCODE_SYSROOT_DIR/x86_64-linux-gnu/x86_64-linux-gnu/sysroot"
33+
export CXXFLAGS="-nostdinc++ -D__NO_INLINE__ -I$PWD/.build/libcxx_headers -isystem$PWD/.build/libcxx_headers/include -isystem$PWD/.build/libcxxabi_headers/include -fPIC -flto=thin -fsplit-lto-unit -D_LIBCPP_ABI_NAMESPACE=Cr -D_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_EXTENSIVE --sysroot=$VSCODE_SYSROOT_DIR/x86_64-linux-gnu/x86_64-linux-gnu/sysroot"
3434
export LDFLAGS="-stdlib=libc++ --sysroot=$VSCODE_SYSROOT_DIR/x86_64-linux-gnu/x86_64-linux-gnu/sysroot -fuse-ld=lld -flto=thin -L$PWD/.build/libcxx-objects -lc++abi -L$VSCODE_SYSROOT_DIR/x86_64-linux-gnu/x86_64-linux-gnu/sysroot/usr/lib/x86_64-linux-gnu -L$VSCODE_SYSROOT_DIR/x86_64-linux-gnu/x86_64-linux-gnu/sysroot/lib/x86_64-linux-gnu -Wl,--lto-O0"
3535

3636
# Set compiler toolchain for remote server

build/azure-pipelines/product-compile.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -104,11 +104,13 @@ steps:
104104
- script: yarn npm-run-all -lp core-ci-pr extensions-ci-pr hygiene eslint valid-layers-check vscode-dts-compile-check tsec-compile-check
105105
env:
106106
GITHUB_TOKEN: "$(github-distro-mixin-password)"
107+
DISABLE_V8_COMPILE_CACHE: 1 # Disable v8 cache used by yarn v1.x, refs https://github.com/nodejs/node/issues/51555
107108
displayName: Compile & Hygiene (OSS)
108109
- ${{ else }}:
109110
- script: yarn npm-run-all -lp core-ci extensions-ci hygiene eslint valid-layers-check vscode-dts-compile-check tsec-compile-check
110111
env:
111112
GITHUB_TOKEN: "$(github-distro-mixin-password)"
113+
DISABLE_V8_COMPILE_CACHE: 1 # Disable v8 cache used by yarn v1.x, refs https://github.com/nodejs/node/issues/51555
112114
displayName: Compile & Hygiene (non-OSS)
113115

114116
- ${{ if ne(parameters.VSCODE_QUALITY, 'oss') }}:

build/azure-pipelines/web/product-build-web.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,7 @@ steps:
104104
tar --owner=0 --group=0 -czf $ARCHIVE_PATH -C .. vscode-web
105105
echo "##vso[task.setvariable variable=WEB_PATH]$ARCHIVE_PATH"
106106
env:
107+
DISABLE_V8_COMPILE_CACHE: 1 # Disable v8 cache used by yarn v1.x, refs https://github.com/nodejs/node/issues/51555
107108
GITHUB_TOKEN: "$(github-distro-mixin-password)"
108109
displayName: Build
109110

build/azure-pipelines/win32/product-build-win32.yml

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -93,16 +93,10 @@ steps:
9393
. build/azure-pipelines/win32/exec.ps1
9494
. build/azure-pipelines/win32/retry.ps1
9595
$ErrorActionPreference = "Stop"
96-
# TODO: remove custom node-gyp when updating to Node v20,
97-
# refs https://github.com/npm/cli/releases/tag/v10.2.3 which is available with Node >= 20.10.0
98-
$nodeGypDir = "$(Agent.TempDirectory)/custom-packages"
99-
mkdir "$nodeGypDir"
100-
npm install node-gyp@10.0.1 -g --prefix "$nodeGypDir"
101-
$env:npm_config_node_gyp = "${nodeGypDir}/node_modules/node-gyp/bin/node-gyp.js"
102-
$env:npm_config_arch = "$(VSCODE_ARCH)"
103-
$env:CHILD_CONCURRENCY="1"
10496
retry { exec { yarn --frozen-lockfile --check-files } }
10597
env:
98+
npm_config_arch: $(VSCODE_ARCH)
99+
CHILD_CONCURRENCY: 1
106100
ELECTRON_SKIP_BINARY_DOWNLOAD: 1
107101
PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD: 1
108102
GITHUB_TOKEN: "$(github-distro-mixin-password)"

0 commit comments

Comments
 (0)