Skip to content

Commit 8422282

Browse files
authored
chore: update to Electron 32 (microsoft#218245)
* chore: update [email protected] * chore: bump [email protected] * chore: update sysroot download url * chore: bump [email protected] * chore: update rpm deps for arm64 * chore: bump [email protected] * chore: bump [email protected] * fix: compile stage * fix: install on windows * fix: override node-addon-api to support c++20 with gcc-11 Brings in nodejs/node-addon-api@fed1353 to support compilation with gcc>=11 * ci: use gnu++2a for gcc <=9 * ci: fix sdl pipeline * ci: web stage * ci: fix alpine stage * ci: fix legacy server stage * fix: node-addon-api resolution for remote * ci: fix legacy arm stage * chore: sync npm dependencies * chore: bump [email protected] * ci: fix monaco editor checks * ci: fix legacy server stage * ci: possible concurrent execution * ci: use foreground scripts on windows * chore: bump [email protected] * fix: compilation Refs electron/electron@204011c * Revert "wco - hardcode devtools location on Linux (microsoft#227084)" This reverts commit dfb96d1. * chore: bump [email protected] * ci: remove workaround for missing c++20 flags * ci: use gnu++2a for gcc <=9 * chore: bump distro * ci: use gnu++17 for legacy arm servers * fixup! override node-addon-api to support c++20 with gcc-11 Scope to only the affected package versions * chore: bump @vscode/policy-watcher * chore: bump @vscode/sqlite3 * chore: bump node.js v20.17.0 * chore: bump distro * chore: update @vscode/windows-ca-certs * chore: update builds for [email protected] * chore: bump distro * chore: bump dependencies * ci: fix arm legacy servers
1 parent 4b03030 commit 8422282

37 files changed

+338
-307
lines changed

.github/workflows/ci.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@ jobs:
1818
runs-on: windows-2022
1919
timeout-minutes: 60
2020
env:
21-
CHILD_CONCURRENCY: "1"
2221
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
2322
steps:
2423
- uses: actions/checkout@v4
@@ -57,6 +56,7 @@ jobs:
5756
- name: Execute npm
5857
if: ${{ steps.cacheNodeModules.outputs.cache-hit != 'true' }}
5958
env:
59+
npm_config_foreground_scripts: "true"
6060
PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD: 1
6161
ELECTRON_SKIP_BINARY_DOWNLOAD: 1
6262
run: npm ci

.github/workflows/rich-navigation.yml.off

+1-1
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ jobs:
2929
if: steps.caching-stage.outputs.cache-hit != 'true'
3030
run: npm ci
3131
env:
32-
CHILD_CONCURRENCY: 1
32+
npm_config_foreground_scripts: "true"
3333

3434
- uses: microsoft/[email protected]
3535
with:

.npmrc

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
disturl="https://electronjs.org/headers"
2-
target="30.5.1"
3-
ms_build_id="10306386"
2+
target="32.1.2"
3+
ms_build_id="10323173"
44
runtime="electron"
55
build_from_source="true"
66
legacy-peer-deps="true"

.nvmrc

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
20.16.0
1+
20.17.0

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

+1
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,7 @@ steps:
7373

7474
- script: |
7575
set -e
76+
7677
for i in {1..5}; do # try 5 times
7778
npm ci && break
7879
if [ $i -eq 5 ]; then

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

+1-7
Original file line numberDiff line numberDiff line change
@@ -75,16 +75,10 @@ steps:
7575
condition: and(succeeded(), ne(variables.NODE_MODULES_RESTORED, 'true'), ne(variables['NPM_REGISTRY'], 'none'))
7676
displayName: Setup NPM Authentication
7777

78-
- script: |
79-
set -e
80-
# Refs https://github.com/microsoft/vscode/issues/219893#issuecomment-2209313109
81-
sudo xcode-select --switch /Applications/Xcode_15.2.app
82-
condition: and(succeeded(), ne(variables.NODE_MODULES_RESTORED, 'true'))
83-
displayName: Switch to Xcode >= 15.1
84-
8578
- script: |
8679
set -e
8780
c++ --version
81+
xcode-select -print-path
8882
python3 -m pip install setuptools
8983
9084
for i in {1..5}; do # try 5 times

build/azure-pipelines/linux/product-build-linux-legacy-server.yml

+23-1
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,28 @@ steps:
8383
imageName: vscode-linux-build-agent:centos7-devtoolset8-$(VSCODE_ARCH)
8484
containerCommand: uname
8585

86+
- ${{ if or(eq(parameters.VSCODE_ARCH, 'arm64'), eq(parameters.VSCODE_ARCH, 'armhf')) }}:
87+
- script: |
88+
set -e
89+
includes=$(cat << 'EOF'
90+
{
91+
"target_defaults": {
92+
"conditions": [
93+
["OS=='linux'", {
94+
'cflags_cc!': [ '-std=gnu++20' ],
95+
'cflags_cc': [ '-std=gnu++2a' ],
96+
}]
97+
]
98+
}
99+
}
100+
EOF
101+
)
102+
if [ ! -d "$HOME/.gyp" ]; then
103+
mkdir -p "$HOME/.gyp"
104+
fi
105+
echo "$includes" > "$HOME/.gyp/include.gypi"
106+
displayName: Override gnu target for arm64 and arm
107+
86108
- script: |
87109
set -e
88110
@@ -101,7 +123,7 @@ steps:
101123
set -e
102124
103125
export VSCODE_SYSROOT_PREFIX='-glibc-2.17'
104-
source ./build/azure-pipelines/linux/setup-env.sh --only-remote
126+
source ./build/azure-pipelines/linux/setup-env.sh --skip-sysroot
105127
106128
for i in {1..5}; do # try 5 times
107129
npm ci && break

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

+22-18
Original file line numberDiff line numberDiff line change
@@ -129,6 +129,28 @@ steps:
129129
GITHUB_TOKEN: "$(github-distro-mixin-password)"
130130
displayName: Download vscode sysroots
131131
132+
- ${{ if or(eq(parameters.VSCODE_ARCH, 'arm64'), eq(parameters.VSCODE_ARCH, 'armhf')) }}:
133+
- script: |
134+
set -e
135+
includes=$(cat << 'EOF'
136+
{
137+
"target_defaults": {
138+
"conditions": [
139+
["OS=='linux'", {
140+
'cflags_cc!': [ '-std=gnu++20' ],
141+
'cflags_cc': [ '-std=gnu++2a' ],
142+
}]
143+
]
144+
}
145+
}
146+
EOF
147+
)
148+
if [ ! -d "$HOME/.gyp" ]; then
149+
mkdir -p "$HOME/.gyp"
150+
fi
151+
echo "$includes" > "$HOME/.gyp/include.gypi"
152+
displayName: Override gnu target for arm64 and arm
153+
132154
- script: |
133155
set -e
134156
@@ -156,20 +178,6 @@ steps:
156178
condition: and(succeeded(), ne(variables.NODE_MODULES_RESTORED, 'true'))
157179
displayName: Mixin distro node modules
158180

159-
- ${{ else }}:
160-
# Ref https://github.com/microsoft/vscode/issues/189019
161-
# for the node-gyp rebuild step
162-
- script: |
163-
set -e
164-
165-
cd node_modules/native-keymap && npx [email protected] -y rebuild --debug
166-
cd ../.. && ./.github/workflows/check-clean-git-state.sh
167-
env:
168-
npm_config_arch: $(NPM_ARCH)
169-
GITHUB_TOKEN: "$(github-distro-mixin-password)"
170-
displayName: Rebuild debug version of native modules (OSS)
171-
condition: and(succeeded(), ne(variables.NODE_MODULES_RESTORED, 'true'))
172-
173181
- script: |
174182
set -e
175183
node build/azure-pipelines/common/listNodeModules.js .build/node_modules_list.txt
@@ -248,8 +256,6 @@ steps:
248256
- script: |
249257
set -e
250258
251-
source ./build/azure-pipelines/linux/setup-env.sh
252-
253259
EXPECTED_GLIBC_VERSION="2.28" \
254260
EXPECTED_GLIBCXX_VERSION="3.4.25" \
255261
./build/azure-pipelines/linux/verify-glibc-requirements.sh
@@ -263,8 +269,6 @@ steps:
263269
- script: |
264270
set -e
265271
266-
source ./build/azure-pipelines/linux/setup-env.sh
267-
268272
EXPECTED_GLIBC_VERSION="2.28" \
269273
EXPECTED_GLIBCXX_VERSION="3.4.26" \
270274
./build/azure-pipelines/linux/verify-glibc-requirements.sh

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

+13-11
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,8 @@ else
1616
fi
1717

1818
if [ "$npm_config_arch" == "x64" ]; then
19-
if [ "$(echo "$@" | grep -c -- "--only-remote")" -eq 0 ]; then
2019
# Download clang based on chromium revision used by vscode
21-
curl -s https://raw.githubusercontent.com/chromium/chromium/124.0.6367.243/tools/clang/scripts/update.py | python - --output-dir=$PWD/.build/CR_Clang --host-os=linux
20+
curl -s https://raw.githubusercontent.com/chromium/chromium/128.0.6613.162/tools/clang/scripts/update.py | python - --output-dir=$PWD/.build/CR_Clang --host-os=linux
2221

2322
# Download libcxx headers and objects from upstream electron releases
2423
DEBUG=libcxx-fetcher \
@@ -30,22 +29,23 @@ if [ "$npm_config_arch" == "x64" ]; then
3029

3130
# Set compiler toolchain
3231
# Flags for the client build are based on
33-
# https://source.chromium.org/chromium/chromium/src/+/refs/tags/124.0.6367.243:build/config/arm.gni
34-
# https://source.chromium.org/chromium/chromium/src/+/refs/tags/124.0.6367.243:build/config/compiler/BUILD.gn
35-
# https://source.chromium.org/chromium/chromium/src/+/refs/tags/124.0.6367.243:build/config/c++/BUILD.gn
32+
# https://source.chromium.org/chromium/chromium/src/+/refs/tags/128.0.6613.162:build/config/arm.gni
33+
# https://source.chromium.org/chromium/chromium/src/+/refs/tags/128.0.6613.162:build/config/compiler/BUILD.gn
34+
# https://source.chromium.org/chromium/chromium/src/+/refs/tags/128.0.6613.162:build/config/c++/BUILD.gn
3635
export CC="$PWD/.build/CR_Clang/bin/clang --gcc-toolchain=$VSCODE_SYSROOT_DIR/x86_64-linux-gnu"
3736
export CXX="$PWD/.build/CR_Clang/bin/clang++ --gcc-toolchain=$VSCODE_SYSROOT_DIR/x86_64-linux-gnu"
3837
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"
3938
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"
4039

40+
if [ "$(echo "$@" | grep -c -- "--skip-sysroot")" -eq 0 ]; then
4141
# Set compiler toolchain for remote server
4242
export VSCODE_REMOTE_CC=$VSCODE_SYSROOT_DIR/x86_64-linux-gnu/bin/x86_64-linux-gnu-gcc
4343
export VSCODE_REMOTE_CXX=$VSCODE_SYSROOT_DIR/x86_64-linux-gnu/bin/x86_64-linux-gnu-g++
4444
export VSCODE_REMOTE_CXXFLAGS="--sysroot=$VSCODE_SYSROOT_DIR/x86_64-linux-gnu/x86_64-linux-gnu/sysroot"
4545
export VSCODE_REMOTE_LDFLAGS="--sysroot=$VSCODE_SYSROOT_DIR/x86_64-linux-gnu/x86_64-linux-gnu/sysroot -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"
4646
fi
4747
elif [ "$npm_config_arch" == "arm64" ]; then
48-
if [ "$(echo "$@" | grep -c -- "--only-remote")" -eq 0 ]; then
48+
if [ "$(echo "$@" | grep -c -- "--skip-sysroot")" -eq 0 ]; then
4949
# Set compiler toolchain for client native modules
5050
export CC=$VSCODE_SYSROOT_DIR/aarch64-linux-gnu/bin/aarch64-linux-gnu-gcc
5151
export CXX=$VSCODE_SYSROOT_DIR/aarch64-linux-gnu/bin/aarch64-linux-gnu-g++
@@ -59,11 +59,13 @@ elif [ "$npm_config_arch" == "arm64" ]; then
5959
export VSCODE_REMOTE_LDFLAGS="--sysroot=$VSCODE_SYSROOT_DIR/aarch64-linux-gnu/aarch64-linux-gnu/sysroot -L$VSCODE_SYSROOT_DIR/aarch64-linux-gnu/aarch64-linux-gnu/sysroot/usr/lib/aarch64-linux-gnu -L$VSCODE_SYSROOT_DIR/aarch64-linux-gnu/aarch64-linux-gnu/sysroot/lib/aarch64-linux-gnu"
6060
fi
6161
elif [ "$npm_config_arch" == "arm" ]; then
62-
# Set compiler toolchain for client native modules
63-
export CC=$VSCODE_SYSROOT_DIR/arm-rpi-linux-gnueabihf/bin/arm-rpi-linux-gnueabihf-gcc
64-
export CXX=$VSCODE_SYSROOT_DIR/arm-rpi-linux-gnueabihf/bin/arm-rpi-linux-gnueabihf-g++
65-
export CXXFLAGS="--sysroot=$VSCODE_SYSROOT_DIR/arm-rpi-linux-gnueabihf/arm-rpi-linux-gnueabihf/sysroot"
66-
export LDFLAGS="--sysroot=$VSCODE_SYSROOT_DIR/arm-rpi-linux-gnueabihf/arm-rpi-linux-gnueabihf/sysroot -L$VSCODE_SYSROOT_DIR/arm-rpi-linux-gnueabihf/arm-rpi-linux-gnueabihf/sysroot/usr/lib/arm-linux-gnueabihf -L$VSCODE_SYSROOT_DIR/arm-rpi-linux-gnueabihf/arm-rpi-linux-gnueabihf/sysroot/lib/arm-linux-gnueabihf"
62+
if [ "$(echo "$@" | grep -c -- "--skip-sysroot")" -eq 0 ]; then
63+
# Set compiler toolchain for client native modules
64+
export CC=$VSCODE_SYSROOT_DIR/arm-rpi-linux-gnueabihf/bin/arm-rpi-linux-gnueabihf-gcc
65+
export CXX=$VSCODE_SYSROOT_DIR/arm-rpi-linux-gnueabihf/bin/arm-rpi-linux-gnueabihf-g++
66+
export CXXFLAGS="--sysroot=$VSCODE_SYSROOT_DIR/arm-rpi-linux-gnueabihf/arm-rpi-linux-gnueabihf/sysroot"
67+
export LDFLAGS="--sysroot=$VSCODE_SYSROOT_DIR/arm-rpi-linux-gnueabihf/arm-rpi-linux-gnueabihf/sysroot -L$VSCODE_SYSROOT_DIR/arm-rpi-linux-gnueabihf/arm-rpi-linux-gnueabihf/sysroot/usr/lib/arm-linux-gnueabihf -L$VSCODE_SYSROOT_DIR/arm-rpi-linux-gnueabihf/arm-rpi-linux-gnueabihf/sysroot/lib/arm-linux-gnueabihf"
68+
fi
6769

6870
# Set compiler toolchain for remote server
6971
export VSCODE_REMOTE_CC=$VSCODE_SYSROOT_DIR/arm-rpi-linux-gnueabihf/bin/arm-rpi-linux-gnueabihf-gcc

build/azure-pipelines/oss/product-build-pr-cache-win32.yml

+4-4
Original file line numberDiff line numberDiff line change
@@ -49,15 +49,15 @@ steps:
4949

5050
- powershell: |
5151
. build/azure-pipelines/win32/exec.ps1
52-
. build/azure-pipelines/win32/retry.ps1
5352
$ErrorActionPreference = "Stop"
54-
$env:npm_config_arch="$(VSCODE_ARCH)"
55-
$env:CHILD_CONCURRENCY="1"
56-
retry { exec { npm ci } }
53+
exec { npm ci }
5754
env:
55+
npm_config_arch: $(VSCODE_ARCH)
56+
npm_config_foreground_scripts: "true"
5857
ELECTRON_SKIP_BINARY_DOWNLOAD: 1
5958
PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD: 1
6059
GITHUB_TOKEN: "$(github-distro-mixin-password)"
60+
retryCountOnTaskFailure: 5
6161
displayName: Install dependencies
6262
condition: and(succeeded(), ne(variables.NODE_MODULES_RESTORED, 'true'))
6363

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

+1
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,7 @@ steps:
6666
6767
- script: |
6868
set -e
69+
6970
for i in {1..5}; do # try 5 times
7071
npm ci && break
7172
if [ $i -eq 5 ]; then

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

+2-3
Original file line numberDiff line numberDiff line change
@@ -36,11 +36,10 @@ steps:
3636

3737
- powershell: |
3838
. azure-pipelines/win32/exec.ps1
39-
. azure-pipelines/win32/retry.ps1
4039
$ErrorActionPreference = "Stop"
41-
$env:CHILD_CONCURRENCY="1"
42-
retry { exec { npm ci } }
40+
exec { npm ci }
4341
workingDirectory: build
42+
retryCountOnTaskFailure: 5
4443
displayName: Install build dependencies
4544
4645
- template: ../cli/cli-win32-sign.yml@self

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

+3-3
Original file line numberDiff line numberDiff line change
@@ -91,15 +91,15 @@ steps:
9191

9292
- powershell: |
9393
. build/azure-pipelines/win32/exec.ps1
94-
. build/azure-pipelines/win32/retry.ps1
9594
$ErrorActionPreference = "Stop"
96-
retry { exec { npm ci } }
95+
exec { npm ci }
9796
env:
9897
npm_config_arch: $(VSCODE_ARCH)
99-
CHILD_CONCURRENCY: 1
98+
npm_config_foreground_scripts: "true"
10099
ELECTRON_SKIP_BINARY_DOWNLOAD: 1
101100
PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD: 1
102101
GITHUB_TOKEN: "$(github-distro-mixin-password)"
102+
retryCountOnTaskFailure: 5
103103
displayName: Install dependencies
104104
condition: and(succeeded(), ne(variables.NODE_MODULES_RESTORED, 'true'))
105105

build/azure-pipelines/win32/sdl-scan-win32.yml

+3-3
Original file line numberDiff line numberDiff line change
@@ -80,15 +80,15 @@ steps:
8080
8181
- powershell: |
8282
. build/azure-pipelines/win32/exec.ps1
83-
. build/azure-pipelines/win32/retry.ps1
8483
$ErrorActionPreference = "Stop"
85-
retry { exec { npm ci } }
84+
exec { npm ci }
8685
env:
8786
npm_config_arch: ${{ parameters.VSCODE_ARCH }}
88-
CHILD_CONCURRENCY: 1
87+
npm_config_foreground_scripts: "true"
8988
ELECTRON_SKIP_BINARY_DOWNLOAD: 1
9089
PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD: 1
9190
GITHUB_TOKEN: "$(github-distro-mixin-password)"
91+
retryCountOnTaskFailure: 5
9292
displayName: Install dependencies
9393
9494
- script: node build/azure-pipelines/distro/mixin-npm

0 commit comments

Comments
 (0)