feat: loong64 support for client (#2121)

This commit is contained in:
darkyzhou 2024-11-22 21:28:10 +08:00 committed by GitHub
parent 52601b91bf
commit 8bcb412ec5
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
10 changed files with 48 additions and 6 deletions

View File

@ -170,6 +170,10 @@ jobs:
vscode_arch: riscv64
npm_arch: riscv64
image: vscodium/vscodium-linux-build-agent:focal-riscv64
- slug: LOONG64
vscode_arch: loong64
npm_arch: loong64
image: vscodium/vscodium-linux-build-agent:trixie-loong64
container:
image: ${{ matrix.image }}
env:

View File

@ -169,6 +169,10 @@ jobs:
vscode_arch: riscv64
npm_arch: riscv64
image: vscodium/vscodium-linux-build-agent:focal-riscv64
- slug: LOONG64
vscode_arch: loong64
npm_arch: loong64
image: vscodium/vscodium-linux-build-agent:trixie-loong64
container:
image: ${{ matrix.image }}
env:

View File

@ -187,6 +187,7 @@ The minimal version is limited by the core component Electron, you may want to c
- [x] GNU/Linux x64 (`deb`, `rpm`, `AppImage`, `snap`, `tar.gz`)
- [x] GNU/Linux arm64 (`deb`, `rpm`, `snap`, `tar.gz`)
- [x] GNU/Linux armhf (`deb`, `rpm`, `tar.gz`)
- [x] GNU/Linux loong64 (`tar.gz`)
- [x] Windows 10 / Server 2012 R2 or newer x64
- [x] Windows 10 / Server 2012 R2 or newer arm64

View File

@ -431,7 +431,13 @@ elif [[ "${ASSETS}" != "null" ]]; then
export SHOULD_BUILD_DEB="no"
export SHOULD_BUILD_RPM="no"
export SHOULD_BUILD_APPIMAGE="no"
export SHOULD_BUILD_TAR="no"
if [[ -z $( contains "${APP_NAME}-linux-loong64-${RELEASE_VERSION}.tar.gz" ) ]]; then
echo "Building on Linux Loong64 because we have no TAR"
export SHOULD_BUILD="yes"
else
export SHOULD_BUILD_TAR="no"
fi
if [[ -z $( contains "${APP_NAME_LC}-reh-linux-loong64-${RELEASE_VERSION}.tar.gz" ) ]]; then
echo "Building on Linux Loong64 because we have no REH archive"
@ -599,7 +605,6 @@ else
elif [[ "${VSCODE_ARCH}" == "loong64" ]]; then
SHOULD_BUILD_DEB="no"
SHOULD_BUILD_RPM="no"
SHOULD_BUILD_TAR="no"
fi
if [[ "${VSCODE_ARCH}" != "x64" || "${DISABLE_APPIMAGE}" == "yes" ]]; then
export SHOULD_BUILD_APPIMAGE="no"

View File

@ -0,0 +1,6 @@
#!/usr/bin/env bash
set -ex
export ELECTRON_VERSION="32.2.5"
export VSCODE_ELECTRON_TAG="v${ELECTRON_VERSION}"

View File

@ -0,0 +1 @@
8d8b540e36a62b778b0fb5e3798a2d47c2c0475925b78ff4a101aa864dfb28a9 *electron-v32.2.5-linux-loong64.zip

View File

@ -13,6 +13,7 @@ chown -R root:root vscode
cd vscode || { echo "'vscode' dir not found"; exit 1; }
export VSCODE_PLATFORM='linux'
export VSCODE_SKIP_NODE_VERSION_CHECK=1
export VSCODE_SYSROOT_PREFIX='-glibc-2.17'
@ -29,6 +30,11 @@ elif [[ "${VSCODE_ARCH}" == "riscv64" ]]; then
export ELECTRON_SKIP_BINARY_DOWNLOAD=1
export PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD=1
export VSCODE_SKIP_SETUPENV=1
elif [[ "${VSCODE_ARCH}" == "loong64" ]]; then
export VSCODE_ELECTRON_REPOSITORY='darkyzhou/electron-loong64'
export ELECTRON_SKIP_BINARY_DOWNLOAD=1
export PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD=1
export VSCODE_SKIP_SETUPENV=1
fi
if [[ -f "../electron_linux_${VSCODE_ARCH}.sh" ]]; then
@ -114,6 +120,10 @@ node build/azure-pipelines/distro/mixin-npm
yarn gulp "vscode-linux-${VSCODE_ARCH}-min-ci"
if [[ -f "../ripgrep_${VSCODE_PLATFORM}_${VSCODE_ARCH}.sh" ]]; then
bash "../ripgrep_${VSCODE_PLATFORM}_${VSCODE_ARCH}.sh" "../VSCode-linux-${VSCODE_ARCH}/resources/app/node_modules"
fi
find "../VSCode-linux-${VSCODE_ARCH}" -print0 | xargs -0 touch -c
cd ..

View File

@ -174,7 +174,7 @@ if [[ "${SHOULD_BUILD_REH}" != "no" ]]; then
pushd "../vscode-reh-${VSCODE_PLATFORM}-${VSCODE_ARCH}"
if [[ -f "../ripgrep_${VSCODE_PLATFORM}_${VSCODE_ARCH}.sh" ]]; then
bash "../ripgrep_${VSCODE_PLATFORM}_${VSCODE_ARCH}.sh"
bash "../ripgrep_${VSCODE_PLATFORM}_${VSCODE_ARCH}.sh" "node_modules"
fi
echo "Archiving REH"
@ -193,7 +193,7 @@ if [[ "${SHOULD_BUILD_REH_WEB}" != "no" ]]; then
pushd "../vscode-reh-web-${VSCODE_PLATFORM}-${VSCODE_ARCH}"
if [[ -f "../ripgrep_${VSCODE_PLATFORM}_${VSCODE_ARCH}.sh" ]]; then
bash "../ripgrep_${VSCODE_PLATFORM}_${VSCODE_ARCH}.sh"
bash "../ripgrep_${VSCODE_PLATFORM}_${VSCODE_ARCH}.sh" "node_modules"
fi
echo "Archiving REH-web"

View File

@ -225,7 +225,11 @@ RELEASE_NOTES
<table>
<tr>
<td rowspan="2">Linux</td>
<td rowspan="3">Linux</td>
<td>.tar.gz</td>
<td><a href="https://github.com/VSCodium/vscodium/releases/download/RELEASE_VERSION/VSCodium-linux-loong64-RELEASE_VERSION.tar.gz">VSCodium-linux-loong64-RELEASE_VERSION.tar.gz</a></td>
</tr>
<tr>
<td>Remote Host</td>
<td><a href="https://github.com/VSCodium/vscodium/releases/download/RELEASE_VERSION/vscodium-reh-linux-loong64-RELEASE_VERSION.tar.gz">vscodium-reh-linux-loong64-RELEASE_VERSION.tar.gz</a></td>
</tr>

View File

@ -1,7 +1,14 @@
#!/usr/bin/env bash
# When installing @vscode/ripgrep, it will try to download prebuilt ripgrep binary from https://github.com/microsoft/ripgrep-prebuilt,
# however, loong64 is not a supported architecture and x86 will be picked as fallback, so we need to replace it with a native one.
RG_PATH="node_modules/@vscode/ripgrep/bin/rg"
if [ "$#" -ne 1 ]; then
echo "Usage: $0 <path_to_node_modules>"
exit 1
fi
RG_PATH="$1/@vscode/ripgrep/bin/rg"
RG_VERSION="14.1.1"
echo "Replacing ripgrep binary with loong64 one"