Forráskód Böngészése

feat(1.86.2): use legacy support [skip ci]

Baptiste Augrain 1 éve
szülő
commit
a2c4dbed20

+ 20 - 14
.github/workflows/insider-linux.yml

@@ -31,29 +31,22 @@ env:
 
 jobs:
   build:
-    runs-on: ubuntu-latest
-    env:
-      DISABLE_UPDATE: 'yes'
+    runs-on: ubuntu-20.04
     strategy:
       fail-fast: false
       matrix:
         include:
         - vscode_arch: x64
           npm_arch: x64
-          image: vscodium/vscodium-linux-build-agent:bionic-x64
         - vscode_arch: arm64
           npm_arch: arm64
-          image: vscodium/vscodium-linux-build-agent:bionic-arm64
         - vscode_arch: armhf
           npm_arch: arm
-          image: vscodium/vscodium-linux-build-agent:bionic-armhf
-        - vscode_arch: ppc64le
-          npm_arch: ppc64
-          image: vscodium/vscodium-linux-build-agent:bionic-ppc64le
-    container:
-      image: ${{ matrix.image }}
-      env:
-        VSCODE_ARCH: ${{ matrix.vscode_arch }}
+        # - vscode_arch: ppc64le
+        #   npm_arch: ppc64
+    env:
+      DISABLE_UPDATE: 'yes'
+      VSCODE_ARCH: ${{ matrix.vscode_arch }}
     outputs:
       MS_COMMIT: ${{ env.MS_COMMIT }}
       MS_TAG: ${{ env.MS_TAG }}
@@ -62,10 +55,23 @@ jobs:
       SHOULD_DEPLOY: ${{ env.SHOULD_DEPLOY }}
 
     steps:
-      - uses: actions/checkout@v3
+      - uses: actions/checkout@v4
         with:
           ref: ${{ env.GITHUB_BRANCH }}
 
+      - name: Setup Node.js environment
+        uses: actions/setup-node@v4
+        with:
+          node-version: '18.17'
+
+      - name: Install Yarn
+        run: npm install -g yarn
+
+      - name: Setup Python 3
+        uses: actions/setup-python@v5
+        with:
+          python-version: '3.11'
+
       - name: Clone VSCode repo
         run: ./get_repo.sh
 

+ 4 - 0
build.sh

@@ -51,6 +51,10 @@ if [[ "${SHOULD_BUILD}" == "yes" ]]; then
   fi
 
   if [[ "${SHOULD_BUILD_REH}" != "no" ]]; then
+    if [[ "${OS_NAME}" == "linux" ]]; then
+      export VSCODE_NODE_GLIBC='-glibc-2.17'
+    fi
+
     yarn gulp minify-vscode-reh
     yarn gulp "vscode-reh-${VSCODE_PLATFORM}-${VSCODE_ARCH}-min-ci"
   fi

+ 2 - 2
insider.json

@@ -1,4 +1,4 @@
 {
-  "tag": "1.86.0",
-  "commit": "05047486b6df5eb8d44b2ecd70ea3bdf775fd937"
+  "tag": "1.86.2",
+  "commit": "903b1e9d8990623e3d7da1df3d33db3e42d80eda"
 }

+ 4 - 4
patches/fix-eol-banner.patch

@@ -1,5 +1,5 @@
 diff --git a/src/vs/workbench/browser/parts/banner/bannerPart.ts b/src/vs/workbench/browser/parts/banner/bannerPart.ts
-index b120c94..1bb2b88 100644
+index b522e75..5205e2b 100644
 --- a/src/vs/workbench/browser/parts/banner/bannerPart.ts
 +++ b/src/vs/workbench/browser/parts/banner/bannerPart.ts
 @@ -11,3 +11,3 @@ import { InstantiationType, registerSingleton } from 'vs/platform/instantiation/
@@ -31,7 +31,7 @@ index b120c94..1bb2b88 100644
 +		}
 +
  		// Clear previous item
-@@ -234,2 +247,15 @@ export class BannerPart extends Part implements IBannerService {
+@@ -236,2 +249,15 @@ export class BannerPart extends Part implements IBannerService {
  
 +	private toStorageScope(options: INeverShowAgainOptions): StorageScope {
 +		switch (options.scope) {
@@ -48,7 +48,7 @@ index b120c94..1bb2b88 100644
 +
  	toJSON(): object {
 diff --git a/src/vs/workbench/services/banner/browser/bannerService.ts b/src/vs/workbench/services/banner/browser/bannerService.ts
-index 639b1b2..70e8847 100644
+index d8560ce..23f5c0c 100644
 --- a/src/vs/workbench/services/banner/browser/bannerService.ts
 +++ b/src/vs/workbench/services/banner/browser/bannerService.ts
 @@ -10,2 +10,3 @@ import { ILinkDescriptor } from 'vs/platform/opener/browser/link';
@@ -58,4 +58,4 @@ index 639b1b2..70e8847 100644
 @@ -18,2 +19,3 @@ export interface IBannerItem {
  	readonly onClose?: () => void;
 +	readonly neverShowAgain?: INeverShowAgainOptions;
- }
+ 	readonly disableCloseAction?: boolean;

+ 0 - 0
patches/linux/reh-node16.patch → patches/linux/reh-node16.patch.no


+ 42 - 0
patches/linux/reh.patch

@@ -0,0 +1,42 @@
+diff --git a/build/gulpfile.reh.js b/build/gulpfile.reh.js
+index 595d0ce..2e94d99 100644
+--- a/build/gulpfile.reh.js
++++ b/build/gulpfile.reh.js
+@@ -375,10 +375,2 @@ function packageTask(type, platform, arch, sourceFolderName, destinationFolderNa
+ 
+-		if (platform === 'linux' || platform === 'alpine') {
+-			result = es.merge(result,
+-				gulp.src(`resources/server/bin/helpers/check-requirements-linux.sh`, { base: '.' })
+-					.pipe(rename(`bin/helpers/check-requirements.sh`))
+-					.pipe(util.setExecutableBit())
+-			);
+-		}
+-
+ 		return result.pipe(vfs.dest(destination));
+diff --git a/resources/server/bin/code-server-linux.sh b/resources/server/bin/code-server-linux.sh
+index e3d96bd..3df32df 100644
+--- a/resources/server/bin/code-server-linux.sh
++++ b/resources/server/bin/code-server-linux.sh
+@@ -11,22 +11,2 @@ ROOT="$(dirname "$(dirname "$(readlink -f "$0")")")"
+ 
+-# Do not remove this check.
+-# Provides a way to skip the server requirements check from
+-# outside the install flow. A system process can create this
+-# file before the server is downloaded and installed.
+-skip_check=0
+-if [ -f "/tmp/vscode-skip-server-requirements-check" ]; then
+-	echo "!!! WARNING: Skipping server pre-requisite check !!!"
+-	echo "!!! Server stability is not guaranteed. Proceed at your own risk. !!!"
+-	skip_check=1
+-fi
+-
+-# Check platform requirements
+-if [ "$(echo "$@" | grep -c -- "--skip-requirements-check")" -eq 0 ] && [ $skip_check -eq 0 ]; then
+-	$ROOT/bin/helpers/check-requirements.sh
+-	exit_code=$?
+-	if [ $exit_code -ne 0 ]; then
+-		exit $exit_code
+-	fi
+-fi
+-
+ "$ROOT/node" ${INSPECT:-} "$ROOT/out/server-main.js" "$@"

+ 0 - 68
patches/linux/sysroot.patch

@@ -1,68 +0,0 @@
-diff --git a/build/checksums/vscode-sysroot.txt b/build/checksums/vscode-sysroot.txt
-index 86da04d..0b5f38c 100644
---- a/build/checksums/vscode-sysroot.txt
-+++ b/build/checksums/vscode-sysroot.txt
-@@ -1,3 +1,6 @@
--a2d51dc505ed544c52757f90bcdab44920132295fc7a67166eff86b6e0e24aa8  aarch64-linux-gnu.tar.gz
--032cf16bf8b965e1351305f10f3dedabf4f9868027ac6d0e8f52321ca0b70d4a  arm-rpi-linux-gnueabihf.tar.gz
--360475a764d0faf4d3743aa866347eff78072639d20660def83e1a03eadf534c  x86_64-linux-gnu.tar.gz
-+68a17006021975ff271a1dd615f9db9eda7c25f2cc65e750c87980dc57a06c94  aarch64-linux-gnu-glibc-2.17.tar.gz
-+0de422a81683cf9e8cf875dbd1e0c27545ac3c775b2d53015daf3ca2b31d3f15  aarch64-linux-gnu-glibc-2.28.tar.gz
-+3ced48cb479f2cdba95aa649710fcb7778685551c745bbd76ac706c3c0ead9fb  arm-rpi-linux-gnueabihf-glibc-2.17.tar.gz
-+7aea163f7fad8cc50000c86b5108be880121d35e2f55d016ef8c96bbe54129eb  arm-rpi-linux-gnueabihf-glibc-2.28.tar.gz
-+5aae21115f1d284c3cdf32c83db15771b59bc80793f1423032abf5a823c0d658  x86_64-linux-gnu-glibc-2.17.tar.gz
-+dbb927408393041664a020661f2641c9785741be3d29b050b9dac58980967784  x86_64-linux-gnu-glibc-2.28.tar.gz
-diff --git a/build/linux/debian/install-sysroot.js b/build/linux/debian/install-sysroot.js
-index 40ca42e..d637fce 100644
---- a/build/linux/debian/install-sysroot.js
-+++ b/build/linux/debian/install-sysroot.js
-@@ -69,3 +69,3 @@ async function fetchUrl(options, retries = 10, retryDelay = 1000) {
-         const timeout = setTimeout(() => controller.abort(), 30 * 1000);
--        const version = '20231122-245579';
-+        const version = '20240129-253798';
-         try {
-@@ -121,5 +121,6 @@ async function getVSCodeSysroot(arch) {
-     let triple;
-+    const prefix = process.env['VSCODE_SYSROOT_PREFIX'] ?? '-glibc-2.28';
-     switch (arch) {
-         case 'amd64':
--            expectedName = `x86_64-linux-gnu.tar.gz`;
-+            expectedName = `x86_64-linux-gnu${prefix}.tar.gz`;
-             triple = 'x86_64-linux-gnu';
-@@ -127,3 +128,3 @@ async function getVSCodeSysroot(arch) {
-         case 'arm64':
--            expectedName = `aarch64-linux-gnu.tar.gz`;
-+            expectedName = `aarch64-linux-gnu${prefix}.tar.gz`;
-             triple = 'aarch64-linux-gnu';
-@@ -131,3 +132,3 @@ async function getVSCodeSysroot(arch) {
-         case 'armhf':
--            expectedName = `arm-rpi-linux-gnueabihf.tar.gz`;
-+            expectedName = `arm-rpi-linux-gnueabihf${prefix}.tar.gz`;
-             triple = 'arm-rpi-linux-gnueabihf';
-@@ -135,2 +136,3 @@ async function getVSCodeSysroot(arch) {
-     }
-+    console.log(`Fetching ${expectedName} for ${triple}`);
-     const checksumSha256 = getVSCodeSysrootChecksum(expectedName);
-diff --git a/build/linux/rpm/dep-lists.js b/build/linux/rpm/dep-lists.js
-index e824f19..b9a6e80 100644
---- a/build/linux/rpm/dep-lists.js
-+++ b/build/linux/rpm/dep-lists.js
-@@ -44,6 +44,3 @@ exports.referenceGeneratedDepsByArch = {
-         'libc.so.6(GLIBC_2.17)(64bit)',
--        'libc.so.6(GLIBC_2.18)(64bit)',
-         'libc.so.6(GLIBC_2.2.5)(64bit)',
--        'libc.so.6(GLIBC_2.25)(64bit)',
--        'libc.so.6(GLIBC_2.27)(64bit)',
-         'libc.so.6(GLIBC_2.28)(64bit)',
-@@ -143,5 +140,2 @@ exports.referenceGeneratedDepsByArch = {
-         'libc.so.6(GLIBC_2.17)',
--        'libc.so.6(GLIBC_2.18)',
--        'libc.so.6(GLIBC_2.25)',
--        'libc.so.6(GLIBC_2.27)',
-         'libc.so.6(GLIBC_2.28)',
-@@ -247,5 +241,2 @@ exports.referenceGeneratedDepsByArch = {
-         'libc.so.6(GLIBC_2.17)(64bit)',
--        'libc.so.6(GLIBC_2.18)(64bit)',
--        'libc.so.6(GLIBC_2.25)(64bit)',
--        'libc.so.6(GLIBC_2.27)(64bit)',
-         'libc.so.6(GLIBC_2.28)(64bit)',

+ 0 - 0
patches/linux/use-node16.patch → patches/linux/use-node16.patch.no


+ 24 - 6
prepare_vscode.sh

@@ -62,9 +62,9 @@ export PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD=1
 if [[ "${OS_NAME}" == "linux" ]]; then
   export VSCODE_SKIP_NODE_VERSION_CHECK=1
 
-  if [[ -f "../.nvmrc.linux" ]]; then
-    mv ../.nvmrc.linux ../.nvmrc
-  fi
+  # if [[ -f "../.nvmrc.linux" ]]; then
+  #   mv ../.nvmrc.linux ../.nvmrc
+  # fi
 
   for file in ../patches/linux/*.patch; do
     if [[ -f "${file}" ]]; then
@@ -84,11 +84,29 @@ if [[ "${OS_NAME}" == "linux" ]]; then
 
   CHILD_CONCURRENCY=1 yarn --frozen-lockfile --check-files --network-timeout 180000
 
-  mkdir -p .build
+  if [[ "${CI_BUILD}" != "no" ]]; then
+    mkdir -p .build
+
+    export VSCODE_SYSROOT_PREFIX='-glibc-2.17'
+
+    VSCODE_HOST_MOUNT="$( pwd )"
 
-  export VSCODE_SYSROOT_PREFIX='-glibc-2.17'
+    export VSCODE_HOST_MOUNT
 
-  ./build/azure-pipelines/linux/install.sh
+    if [[ "${VSCODE_ARCH}" == "x64" || "${VSCODE_ARCH}" == "arm64" ]]; then
+      VSCODE_REMOTE_DEPENDENCIES_CONTAINER_NAME="vscodium/vscodium-linux-build-agent:centos7-devtoolset8-${VSCODE_ARCH}"
+
+      export VSCODE_REMOTE_DEPENDENCIES_CONTAINER_NAME
+    elif [[ "${VSCODE_ARCH}" == "armhf" ]]; then
+      export VSCODE_REMOTE_DEPENDENCIES_CONTAINER_NAME="vscodium/vscodium-linux-build-agent:bionic-arm32v7"
+    fi
+
+    ./build/azure-pipelines/linux/install.sh
+
+    EXPECTED_GLIBC_VERSION="2.17" EXPECTED_GLIBCXX_VERSION="3.4.19" ./build/azure-pipelines/linux/verify-glibc-requirements.sh
+
+    node build/azure-pipelines/distro/mixin-npm
+  fi
 elif [[ "${OS_NAME}" == "osx" ]]; then
   CHILD_CONCURRENCY=1 yarn --frozen-lockfile --network-timeout 180000