Compare commits

..

101 Commits

Author SHA1 Message Date
Baptiste Augrain
30e3df2bdd feat(update): directly use versions repo (#2216) 2025-01-26 12:27:06 +01:00
VSCodium CI
6c79f57434 build(stable): update to commit cd4ee3b 2025-01-17 18:16:05 +00:00
VSCodium CI
0b8e88072a build(stable): update to commit 91fbddd 2025-01-13 18:15:50 +00:00
Thibaud CANALE
d0d0da180d ci: use jq to get gh cli (#2168)
Signed-off-by: Thibaud CANALE <thican@thican.net>
2024-12-21 01:38:49 +01:00
VSCodium CI
6aae07dad9 build(stable): update to commit fabdb6a 2024-12-20 18:18:06 +00:00
VSCodium CI
a6ae85fa52 build(stable): update to commit 42b2661 2024-12-18 18:16:30 +00:00
Baptiste Augrain
3a9708856a fix: update apis 2024-12-17 23:45:44 +01:00
Baptiste Augrain
52cc756ed2 fix(reh): move to nodejs-v20 (#2167) 2024-12-17 23:44:54 +01:00
VSCodium CI
91fa81be98 build(stable): update to commit 138f619 2024-12-12 16:18:06 +00:00
VSCodium CI
e53ab6ab9b build(insider): update to commit 475acb4 2024-12-10 07:15:02 +00:00
VSCodium CI
5cdecc4b06 build(insider): update to commit b18e7a7 2024-12-09 07:18:45 +00:00
VSCodium CI
d0aed99033 build(insider): update to commit e8e69d3 2024-12-08 11:43:00 +00:00
Baptiste Augrain
33711f5a48 fix: update patch and electron hashes 2024-12-08 12:30:19 +01:00
Baptiste Augrain
453b07c8c6 ci(macos): use available runner (#2138) 2024-12-06 11:56:02 +01:00
Baptiste Augrain
96905a4dec fix: update electron (#2136) 2024-12-06 10:35:33 +01:00
Baptiste Augrain
e5db309f8f feat(1.96): update patches 2024-12-06 08:22:56 +01:00
Baptiste Augrain
e61cd2295d Merge branch 'master' into insider 2024-12-06 08:08:15 +01:00
VSCodium CI
244841eb46 build(insider): update to commit 2ed1e9b 2024-12-03 07:15:19 +00:00
Lex
7df2a31432 feat: add ppc64le client (#2132) 2024-12-02 16:54:51 +01:00
VSCodium CI
93fd95feb2 build(insider): update to commit 275faf6 2024-11-29 07:15:17 +00:00
VSCodium CI
7930db61b8 build(insider): update to commit 709e28f 2024-11-27 11:49:02 +00:00
Baptiste Augrain
67fd09f6b8 feat(1.96): update patches and build process (#2131) 2024-11-27 12:34:24 +01:00
Baptiste Augrain
573a70ede1 Merge branch 'master' into insider 2024-11-27 00:19:43 +01:00
Baptiste Augrain
7ca11a2b2e fix(macos): update urls when using emulated app (#2122) 2024-11-26 15:22:18 +01:00
Levi Zim
8ddfccd6b8 fix: replace ripgrep binary for riscv64 (#2128) 2024-11-26 15:21:39 +01:00
darkyzhou
8bcb412ec5 feat: loong64 support for client (#2121) 2024-11-22 14:28:10 +01:00
Baptiste Augrain
52601b91bf fix(linux): update riscv64 electron [skip ci] 2024-11-16 10:50:33 +01:00
Baptiste Augrain
81562bbd3a ci: disable all steps when building app [skip ci] 2024-11-16 02:01:57 +01:00
Baptiste Augrain
1aa1ba1eba fix(linux): update electron to fix menu bug (#2117) 2024-11-16 01:45:16 +01:00
Baptiste Augrain
377ff77104 fix: replace all RELEASE_VERSION in notes [skip ci] 2024-11-15 22:07:33 +01:00
Baptiste Augrain
b9b5425af1 fix: generate release notes in several steps [skip ci] 2024-11-15 21:48:30 +01:00
Baptiste Augrain
4317f99fc4 fix: generate release notes in several steps [skip ci] 2024-11-15 20:07:54 +01:00
VSCodium CI
c4debee59f build(stable): update to commit f1a4fb1 2024-11-15 18:15:17 +00:00
Baptiste Augrain
5537da3d42 docs: remove infringing urls (#2113)
This PR is due to a complaint from MS.
2024-11-15 12:57:29 +01:00
Baptiste Augrain
e7ed2de4f8 Merge branch 'master' into insider 2024-11-09 20:18:30 +01:00
Baptiste Augrain
1364ac4639 ci: generate better release notes (#2103) 2024-11-09 20:16:58 +01:00
Andreas Grapentin
c9e2046201 feat: s390x support for reh server (#2099) 2024-11-09 19:46:27 +01:00
Baptiste Augrain
e8abb85f36 build(linux): allows patch per arch for reh 2024-11-09 01:55:09 +01:00
VSCodium CI
023fee37a3 build(stable): update to commit e865366 2024-11-08 18:14:59 +00:00
KnowZero
45927b08c7 fix(appimage): build by setting ARCH env (#2095) 2024-11-07 01:11:05 +01:00
Baptiste Augrain
aae1c62fe4 Merge branch 'master' into insider 2024-11-05 18:30:26 +01:00
Baptiste Augrain
6cb2291016 fix(snap): check correct channel [skip ci] 2024-11-05 18:27:45 +01:00
Baptiste Augrain
e3a0ba975b fix(reh): build reh archives 2024-11-05 18:04:24 +01:00
Baptiste Augrain
d7e6fa1217 feat: update patch 2024-11-05 17:52:20 +01:00
Baptiste Augrain
29779adedd Merge branch 'master' into insider 2024-11-05 16:54:21 +01:00
Baptiste Augrain
d598450d02 fix: move misplaced code (#2092) 2024-11-05 16:52:48 +01:00
VSCodium CI
da8a3ee91f build(insider): update to commit 231d373 2024-11-05 07:14:23 +00:00
AgFlore
ccec55599b fix: undo forever disabled crashpad (#1838) 2024-11-05 02:28:27 +01:00
Baptiste Augrain
5fb2dedcbd feat: remove mangling in extensions (#2090) 2024-11-04 19:14:35 +01:00
darkyzhou
a023a24173 feat: loong64 support for reh server (#2087) 2024-11-04 18:54:40 +01:00
266-750Balloons
d736414896 docs: add render glitch workwaround (#1699) 2024-11-04 18:16:28 +01:00
Baptiste Augrain
1731aa55d1 build: split big arch patch (#2085) 2024-11-04 12:14:15 +01:00
Baptiste Augrain
cc540f9f83 feat(1.96): update patches (#2083) 2024-11-03 15:00:10 +01:00
Baptiste Augrain
fe2d6e465b build(windows): pre-compile on linux 2024-11-02 15:52:01 +01:00
Baptiste Augrain
77e58edfe0 Merge branch 'insider' 2024-11-02 15:45:41 +01:00
Baptiste Augrain
2aae045dba fix(windows): build reh [skip ci] 2024-11-02 15:01:36 +01:00
Baptiste Augrain
7e79fdc303 build(windows): pre-compile on linux (#2080) 2024-11-02 12:51:21 +01:00
Baptiste Augrain
0baf7a131d build: make it easier on windows 2024-11-02 03:20:23 +01:00
Baptiste Augrain
04a8a93152 feat(1.95.0): update apis 2024-10-29 21:08:54 +01:00
Baptiste Augrain
820be10fd0 Merge branch 'insider' 2024-10-29 20:12:14 +01:00
Baptiste Augrain
606a83c4c5 ci(windows): add flag to disable signing [skip ci] 2024-10-29 19:13:00 +01:00
Baptiste Augrain
2b8134a202 fix(linux): build ppc64 (#2077) 2024-10-29 14:22:26 +01:00
Baptiste Augrain
1125a02e16 fix: tree-sitter is optional (#2076) 2024-10-29 12:19:38 +01:00
Baptiste Augrain
e4e4be70c9 docs: update thanks 2024-10-29 11:00:57 +01:00
VSCodium CI
b80aa30a35 build(insider): update to commit 912bb68 2024-10-29 08:54:00 +00:00
Baptiste Augrain
85ce7aa131 chore(linux): update version of riscv electron 2024-10-29 00:18:40 +01:00
Baptiste Augrain
7fbe30a3f5 ci: support vars.DISABLE_STABLE_LINUX_REH_<ARCH> 2024-10-29 00:12:58 +01:00
VSCodium CI
9ed563921b build(insider): update to commit 39fd376 2024-10-24 08:30:44 +00:00
Baptiste Augrain
34a8803363 fix(linux): move patch so it's enabled during compile job (#2073) 2024-10-23 17:07:32 +02:00
Baptiste Augrain
33a2643e1b fix: correct rpm patch and increase signing timeout [skip ci] 2024-10-23 11:22:55 +02:00
Baptiste Augrain
4418bab702 ci: update nodejs version [skip ci] 2024-10-23 10:14:47 +02:00
Baptiste Augrain
c910d1447d fix: update patches 2024-10-23 09:43:39 +02:00
Baptiste Augrain
656d6cea58 feat(linux): update XDG_RUNTIME_DIR for flatpak (#2071) 2024-10-23 02:27:04 +02:00
VSCodium CI
3d2a91c693 build(insider): update to commit defe52d 2024-10-22 14:04:15 +00:00
Baptiste Augrain
b10b54d0be build(windows): add signing with SignPath (#2069) 2024-10-22 15:53:04 +02:00
Baptiste Augrain
9eff6e1bc0 feat(1.95): update patches (#2066) 2024-10-19 09:18:19 +02:00
Levi Zim
5db0194218 fix(riscv64): bump nodejs to 20.16.0 (#2061) 2024-10-15 11:12:09 +02:00
Baptiste Augrain
8386f6057b ci: directly set the env variable to disable steps 2024-10-14 19:26:57 +02:00
Baptiste Augrain
b4943a7ef5 ci: fix condition 2024-10-14 19:22:50 +02:00
Baptiste Augrain
773b81f25f ci: add flag to disable reh build 2024-10-14 18:59:32 +02:00
Baptiste Augrain
f02532900b ci: add flag to disable reh build 2024-10-14 18:47:39 +02:00
Baptiste Augrain
8aa6281b5d build: re-enable ppc64 2024-10-14 15:12:38 +02:00
Baptiste Augrain
929efa9c89 chore: reformat value 2024-10-14 15:12:31 +02:00
Baptiste Augrain
a6cd884c37 build(windows): calculate checksums after signing [skip ci] 2024-10-14 01:03:50 +02:00
Baptiste Augrain
e5d9fa5143 wip: use correct signpath configuration [skip ci] 2024-10-14 00:15:36 +02:00
Baptiste Augrain
aa4d1fe3c9 wip: sign only user installer [skip ci] 2024-10-13 23:28:57 +02:00
Baptiste Augrain
6c5a93fd32 wip: disable msi and rename unsigned artifact [skip ci] 2024-10-13 22:52:30 +02:00
Baptiste Augrain
46b4f54548 feat: signing windows .exe (#2058) 2024-10-13 21:59:42 +02:00
Baptiste Augrain
7578449a67 feat(1.95): update patches (#2055) 2024-10-13 20:16:48 +02:00
Baptiste Augrain
95fd5b764a fix: correctly read user's product.json (#2057) 2024-10-12 21:57:19 +02:00
VSCodium CI
d5c18fc231 build(stable): update to commit 384ff73 2024-10-10 18:18:21 +00:00
Baptiste Augrain
0489bd5ca1 Merge branch 'master' into insider 2024-10-09 21:17:55 +02:00
Baptiste Augrain
cdbf4e17bd Merge branch 'master' into insider 2024-09-12 16:24:59 +02:00
Baptiste Augrain
5cb1be9c61 fix(alpine): download node's docker image (#2013) 2024-08-30 02:45:04 +02:00
Baptiste Augrain
aa340c1b5b fix(1.93): update patch [skip ci] 2024-08-29 22:43:38 +02:00
Baptiste Augrain
043f1c4c60 feat(1.93): update patches (#2001) 2024-08-21 15:39:29 +02:00
Baptiste Augrain
f10855ca77 fix(linux): update patch for reh 2024-08-18 12:01:40 +02:00
Baptiste Augrain
53ca646162 feat: add reh-web (#1993) 2024-08-14 17:04:41 +02:00
VSCodium CI
c6f099228b build(insider): update to commit 922413f 2024-08-14 07:16:42 +00:00
Baptiste Augrain
98747a7251 ci(insider): use insider branch for dispatch [skip ci] 2024-08-13 12:11:14 +02:00
Baptiste Augrain
5d1d56247d feat: prepare 1.93 (#1989) 2024-08-13 11:11:46 +02:00
68 changed files with 3371 additions and 1007 deletions

View File

@@ -92,10 +92,16 @@ jobs:
PULL_REQUEST_ID: ${{ github.event.inputs.checkout_pr }}
run: ./get_pr.sh
- name: Setup GCC
uses: egor-tensin/setup-gcc@v1
with:
version: 10
platform: x64
- name: Setup Node.js environment
uses: actions/setup-node@v4
with:
node-version: '18.17'
node-version: '20.18'
if: env.SHOULD_BUILD == 'yes'
- name: Install Yarn
@@ -132,7 +138,7 @@ jobs:
if: env.SHOULD_BUILD == 'yes'
- name: Upload vscode artifact
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: vscode
path: ./vscode.tar.gz
@@ -148,22 +154,35 @@ jobs:
fail-fast: false
matrix:
include:
- vscode_arch: x64
- slug: X64
vscode_arch: x64
npm_arch: x64
image: vscodium/vscodium-linux-build-agent:focal-x64
- vscode_arch: arm64
- slug: ARM64
vscode_arch: arm64
npm_arch: arm64
image: vscodium/vscodium-linux-build-agent:focal-arm64
- vscode_arch: armhf
- slug: ARM32
vscode_arch: armhf
npm_arch: arm
image: vscodium/vscodium-linux-build-agent:focal-armhf
- vscode_arch: riscv64
- slug: RISCV64
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
- slug: PPC64
vscode_arch: ppc64le
npm_arch: ppc64
image: vscodium/vscodium-linux-build-agent:focal-ppc64le
container:
image: ${{ matrix.image }}
env:
BUILD_SOURCEVERSION: ${{ needs.compile.outputs.BUILD_SOURCEVERSION }}
DISABLED: ${{ vars[format('DISABLE_INSIDER_LINUX_APP_{0}', matrix.slug)] }}
MS_COMMIT: ${{ needs.check.outputs.MS_COMMIT }}
MS_TAG: ${{ needs.check.outputs.MS_TAG }}
RELEASE_VERSION: ${{ needs.check.outputs.RELEASE_VERSION }}
@@ -176,19 +195,20 @@ jobs:
SHOULD_DEPLOY: ${{ env.SHOULD_DEPLOY }}
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
ref: ${{ env.GITHUB_BRANCH }}
if: env.SHOULD_BUILD == 'yes'
if: env.DISABLED != 'yes' && env.SHOULD_BUILD == 'yes'
- name: Switch to relevant branch
env:
PULL_REQUEST_ID: ${{ github.event.inputs.checkout_pr }}
run: ./get_pr.sh
if: env.DISABLED != 'yes'
- name: Install GH
run: ./install_gh.sh
if: env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes'
if: env.DISABLED != 'yes' && env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes'
- name: Check existing VSCodium tags/releases
env:
@@ -196,38 +216,38 @@ jobs:
DISABLE_APPIMAGE: ${{ vars.DISABLE_INSIDER_APPIMAGE }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: ./check_tags.sh
if: env.SHOULD_BUILD == 'yes'
if: env.DISABLED != 'yes' && env.SHOULD_BUILD == 'yes'
- name: Install libkrb5-dev
run: sudo apt-get update -y && sudo apt-get install -y libkrb5-dev
if: env.SHOULD_BUILD == 'yes'
if: env.DISABLED != 'yes' && env.SHOULD_BUILD == 'yes'
- name: Download vscode artifact
uses: actions/download-artifact@v3
uses: actions/download-artifact@v4
with:
name: vscode
if: env.SHOULD_BUILD == 'yes'
if: env.DISABLED != 'yes' && env.SHOULD_BUILD == 'yes'
- name: Build
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
npm_config_arch: ${{ matrix.npm_arch }}
run: ./package_linux_bin.sh
if: env.SHOULD_BUILD == 'yes'
if: env.DISABLED != 'yes' && env.SHOULD_BUILD == 'yes'
- name: Prepare assets
env:
SHOULD_BUILD_REH: 'no'
SHOULD_BUILD_REH_WEB: 'no'
run: ./prepare_assets.sh
if: env.SHOULD_BUILD == 'yes' && (env.SHOULD_DEPLOY == 'yes' || github.event.inputs.generate_assets == 'true')
if: env.DISABLED != 'yes' && env.SHOULD_BUILD == 'yes' && (env.SHOULD_DEPLOY == 'yes' || github.event.inputs.generate_assets == 'true')
- name: Release
env:
GITHUB_TOKEN: ${{ secrets.STRONGER_GITHUB_TOKEN }}
GITHUB_USERNAME: ${{ github.repository_owner }}
run: ./release.sh
if: env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes'
if: env.DISABLED != 'yes' && env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes'
- name: Update versions repo
env:
@@ -235,15 +255,15 @@ jobs:
GITHUB_TOKEN: ${{ secrets.STRONGER_GITHUB_TOKEN }}
GITHUB_USERNAME: ${{ github.repository_owner }}
run: ./update_version.sh
if: env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes'
if: env.DISABLED != 'yes' && env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes'
- name: Upload assets
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: bin-${{ matrix.vscode_arch }}
path: assets/
retention-days: 3
if: env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'no' && github.event.inputs.generate_assets == 'true'
if: env.DISABLED != 'yes' && env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'no' && github.event.inputs.generate_assets == 'true'
reh_linux:
needs:
@@ -254,18 +274,30 @@ jobs:
fail-fast: false
matrix:
include:
- vscode_arch: x64
- slug: X64
vscode_arch: x64
npm_arch: x64
- vscode_arch: arm64
- slug: ARM64
vscode_arch: arm64
npm_arch: arm64
- vscode_arch: armhf
- slug: ARM32
vscode_arch: armhf
npm_arch: arm
- vscode_arch: ppc64le
- slug: PPC64
vscode_arch: ppc64le
npm_arch: ppc64
- vscode_arch: riscv64
- slug: RISCV64
vscode_arch: riscv64
npm_arch: riscv64
- slug: LOONG64
vscode_arch: loong64
npm_arch: loong64
- slug: S390X
vscode_arch: s390x
npm_arch: s390x
env:
BUILD_SOURCEVERSION: ${{ needs.compile.outputs.BUILD_SOURCEVERSION }}
DISABLED: ${{ vars[format('DISABLE_INSIDER_LINUX_REH_{0}', matrix.slug)] }}
MS_COMMIT: ${{ needs.check.outputs.MS_COMMIT }}
MS_TAG: ${{ needs.check.outputs.MS_TAG }}
RELEASE_VERSION: ${{ needs.check.outputs.RELEASE_VERSION }}
@@ -275,57 +307,70 @@ jobs:
if: needs.check.outputs.SHOULD_BUILD == 'yes' || github.event.inputs.generate_assets == 'true'
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
ref: ${{ env.GITHUB_BRANCH }}
if: env.DISABLED != 'yes'
- name: Switch to relevant branch
env:
PULL_REQUEST_ID: ${{ github.event.inputs.checkout_pr }}
run: ./get_pr.sh
if: env.DISABLED != 'yes'
- name: Setup GCC
uses: egor-tensin/setup-gcc@v1
with:
version: 10
platform: x64
if: env.DISABLED != 'yes'
- name: Setup Node.js environment
uses: actions/setup-node@v4
with:
node-version: '18.17'
node-version: '20.18'
if: env.DISABLED != 'yes'
- name: Setup Python 3
uses: actions/setup-python@v5
with:
python-version: '3.11'
if: env.DISABLED != 'yes'
- name: Install libkrb5-dev
run: sudo apt-get update -y && sudo apt-get install -y libkrb5-dev
if: env.DISABLED != 'yes'
- name: Install GH
run: ./install_gh.sh
if: env.SHOULD_DEPLOY == 'yes'
if: env.DISABLED != 'yes' && env.SHOULD_DEPLOY == 'yes'
- name: Check existing VSCodium tags/releases
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
CHECK_ONLY_REH: 'yes'
run: ./check_tags.sh
if: env.DISABLED != 'yes'
- name: Download vscode artifact
uses: actions/download-artifact@v3
uses: actions/download-artifact@v4
with:
name: vscode
if: env.SHOULD_BUILD_REH != 'no' || env.SHOULD_BUILD_REH_WEB != 'no' || github.event.inputs.generate_assets == 'true'
if: env.DISABLED != 'yes' && (env.SHOULD_BUILD_REH != 'no' || env.SHOULD_BUILD_REH_WEB != 'no' || github.event.inputs.generate_assets == 'true')
- name: Build
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
npm_config_arch: ${{ matrix.npm_arch }}
run: ./package_linux_reh.sh
if: env.SHOULD_BUILD_REH != 'no' || env.SHOULD_BUILD_REH_WEB != 'no' || github.event.inputs.generate_assets == 'true'
if: env.DISABLED != 'yes' && (env.SHOULD_BUILD_REH != 'no' || env.SHOULD_BUILD_REH_WEB != 'no' || github.event.inputs.generate_assets == 'true')
- name: Release
env:
GITHUB_TOKEN: ${{ secrets.STRONGER_GITHUB_TOKEN }}
GITHUB_USERNAME: ${{ github.repository_owner }}
run: ./release.sh
if: (env.SHOULD_BUILD_REH != 'no' || env.SHOULD_BUILD_REH_WEB != 'no') && env.SHOULD_DEPLOY == 'yes'
if: env.DISABLED != 'yes' && env.SHOULD_DEPLOY == 'yes' && (env.SHOULD_BUILD_REH != 'no' || env.SHOULD_BUILD_REH_WEB != 'no')
- name: Upload assets
uses: actions/upload-artifact@v4
@@ -333,7 +378,7 @@ jobs:
name: reh-linux-${{ matrix.vscode_arch }}
path: assets/
retention-days: 3
if: env.SHOULD_DEPLOY == 'no' && github.event.inputs.generate_assets == 'true'
if: env.DISABLED != 'yes' && env.SHOULD_DEPLOY == 'no' && github.event.inputs.generate_assets == 'true'
reh_alpine:
needs:
@@ -360,7 +405,7 @@ jobs:
if: needs.check.outputs.SHOULD_BUILD == 'yes' || github.event.inputs.generate_assets == 'true'
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
ref: ${{ env.GITHUB_BRANCH }}
@@ -369,6 +414,12 @@ jobs:
PULL_REQUEST_ID: ${{ github.event.inputs.checkout_pr }}
run: ./get_pr.sh
- name: Setup GCC
uses: egor-tensin/setup-gcc@v1
with:
version: 10
platform: x64
- name: Install GH
run: ./install_gh.sh
if: env.SHOULD_DEPLOY == 'yes'
@@ -384,7 +435,7 @@ jobs:
if: env.SHOULD_BUILD == 'yes'
- name: Download vscode artifact
uses: actions/download-artifact@v3
uses: actions/download-artifact@v4
with:
name: vscode
if: env.SHOULD_BUILD_REH != 'no' || github.event.inputs.generate_assets == 'true'
@@ -456,7 +507,7 @@ jobs:
if: needs.check.outputs.SHOULD_DEPLOY == 'yes' && vars.DISABLE_INSIDER_SNAP != 'yes'
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
ref: ${{ env.GITHUB_BRANCH }}

View File

@@ -40,9 +40,8 @@ jobs:
fail-fast: false
matrix:
include:
- runner: macos-12
- runner: macos-13
vscode_arch: x64
# - runner: macos-14
- runner: [self-hosted, macOS, ARM64]
vscode_arch: arm64
@@ -59,7 +58,7 @@ jobs:
- name: Setup Node.js environment
uses: actions/setup-node@v4
with:
node-version: '20.12'
node-version: '20.18'
- name: Setup Python 3
uses: actions/setup-python@v5

View File

@@ -38,7 +38,7 @@ jobs:
- name: Setup Node.js environment
uses: actions/setup-node@v4
with:
node-version: '20.12'
node-version: '20.18'
- name: Clone VSCode repo
run: . get_repo.sh

View File

@@ -32,22 +32,13 @@ env:
VSCODE_QUALITY: insider
jobs:
build:
runs-on: windows-2019
defaults:
run:
shell: bash
env:
VSCODE_ARCH: ${{ matrix.vscode_arch }}
strategy:
fail-fast: false
matrix:
vscode_arch:
- x64
# - ia32
- arm64
check:
runs-on: ubuntu-latest
outputs:
MS_COMMIT: ${{ env.MS_COMMIT }}
MS_TAG: ${{ env.MS_TAG }}
RELEASE_VERSION: ${{ env.RELEASE_VERSION }}
SHOULD_BUILD: ${{ env.SHOULD_BUILD }}
SHOULD_DEPLOY: ${{ env.SHOULD_DEPLOY }}
steps:
@@ -60,19 +51,6 @@ jobs:
PULL_REQUEST_ID: ${{ github.event.inputs.checkout_pr }}
run: ./get_pr.sh
- name: Setup Node.js environment
uses: actions/setup-node@v4
with:
node-version: '20.12'
- 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
@@ -84,21 +62,195 @@ jobs:
- name: Check existing VSCodium tags/releases
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
CHECK_ALL: 'yes'
run: ./check_tags.sh
if: env.SHOULD_DEPLOY == 'yes' || github.event.inputs.generate_assets == 'true'
compile:
needs:
- check
runs-on: ubuntu-20.04
env:
MS_COMMIT: ${{ needs.check.outputs.MS_COMMIT }}
MS_TAG: ${{ needs.check.outputs.MS_TAG }}
RELEASE_VERSION: ${{ needs.check.outputs.RELEASE_VERSION }}
SHOULD_BUILD: ${{ (needs.check.outputs.SHOULD_BUILD == 'yes' || github.event.inputs.generate_assets == 'true') && 'yes' || 'no' }}
VSCODE_ARCH: 'x64'
outputs:
BUILD_SOURCEVERSION: ${{ env.BUILD_SOURCEVERSION }}
steps:
- uses: actions/checkout@v4
with:
ref: ${{ env.GITHUB_BRANCH }}
if: env.SHOULD_BUILD == 'yes'
- name: Switch to relevant branch
env:
PULL_REQUEST_ID: ${{ github.event.inputs.checkout_pr }}
run: ./get_pr.sh
- name: Setup GCC
uses: egor-tensin/setup-gcc@v1
with:
version: 10
platform: x64
- name: Setup Node.js environment
uses: actions/setup-node@v4
with:
node-version: '20.18'
if: env.SHOULD_BUILD == 'yes'
- name: Install Yarn
run: npm install -g yarn
if: env.SHOULD_BUILD == 'yes'
- name: Setup Python 3
uses: actions/setup-python@v5
with:
python-version: '3.11'
if: env.SHOULD_BUILD == 'yes'
- name: Install libkrb5-dev
run: sudo apt-get update -y && sudo apt-get install -y libkrb5-dev
if: env.SHOULD_BUILD == 'yes'
- name: Clone VSCode repo
run: ./get_repo.sh
if: env.SHOULD_BUILD == 'yes'
- name: Build
env:
SHOULD_BUILD_REH: 'no'
SHOULD_BUILD_REH_WEB: 'no'
run: ./build.sh
if: env.SHOULD_BUILD == 'yes'
- name: Compress vscode artifact
run: |
find vscode -type f -not -path "*/node_modules/*" -not -path "vscode/.build/node/*" -not -path "vscode/.git/*" > vscode.txt
echo "vscode/.build/extensions/node_modules" >> vscode.txt
echo "vscode/.git" >> vscode.txt
tar -czf vscode.tar.gz -T vscode.txt
if: env.SHOULD_BUILD == 'yes'
- name: Upload vscode artifact
uses: actions/upload-artifact@v4
with:
name: vscode
path: ./vscode.tar.gz
retention-days: ${{ needs.check.outputs.SHOULD_DEPLOY == 'yes' && 30 || 1 }}
if: env.SHOULD_BUILD == 'yes'
build:
needs:
- check
- compile
runs-on: windows-2019
strategy:
fail-fast: false
matrix:
vscode_arch:
- x64
- arm64
defaults:
run:
shell: bash
env:
BUILD_SOURCEVERSION: ${{ needs.compile.outputs.BUILD_SOURCEVERSION }}
MS_COMMIT: ${{ needs.check.outputs.MS_COMMIT }}
MS_TAG: ${{ needs.check.outputs.MS_TAG }}
RELEASE_VERSION: ${{ needs.check.outputs.RELEASE_VERSION }}
SHOULD_BUILD: ${{ (needs.check.outputs.SHOULD_BUILD == 'yes' || github.event.inputs.generate_assets == 'true') && 'yes' || 'no' }}
SHOULD_DEPLOY: ${{ needs.check.outputs.SHOULD_DEPLOY }}
VSCODE_ARCH: ${{ matrix.vscode_arch }}
outputs:
RELEASE_VERSION: ${{ env.RELEASE_VERSION }}
SHOULD_DEPLOY: ${{ env.SHOULD_DEPLOY }}
steps:
- uses: actions/checkout@v4
with:
ref: ${{ env.GITHUB_BRANCH }}
if: env.SHOULD_BUILD == 'yes'
- name: Switch to relevant branch
env:
PULL_REQUEST_ID: ${{ github.event.inputs.checkout_pr }}
run: ./get_pr.sh
if: env.SHOULD_BUILD == 'yes'
- name: Setup Node.js environment
uses: actions/setup-node@v4
with:
node-version: '20.18'
if: env.SHOULD_BUILD == 'yes'
- name: Install Yarn
run: npm install -g yarn
if: env.SHOULD_BUILD == 'yes'
- name: Setup Python 3
uses: actions/setup-python@v5
with:
python-version: '3.11'
if: env.SHOULD_BUILD == 'yes'
- name: Check existing VSCodium tags/releases
env:
DISABLE_MSI: ${{ vars.DISABLE_INSIDER_MSI }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: ./check_tags.sh
if: env.SHOULD_BUILD == 'yes'
- name: Download vscode artifact
uses: actions/download-artifact@v4
with:
name: vscode
if: env.SHOULD_BUILD == 'yes'
- name: Build
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
npm_config_arch: ${{ matrix.vscode_arch }}
npm_config_target_arch: ${{ matrix.vscode_arch }}
run: ./build.sh
run: ./package_windows.sh
if: env.SHOULD_BUILD == 'yes'
- name: Prepare assets
run: ./prepare_assets.sh
if: env.SHOULD_BUILD == 'yes' && (env.SHOULD_DEPLOY == 'yes' || github.event.inputs.generate_assets == 'true')
- name: Upload unsigned artifacts
id: upload-unsigned-artifacts
uses: actions/upload-artifact@v4
with:
name: unsigned-${{ matrix.vscode_arch }}
path: |
assets/*.exe
assets/*.msi
retention-days: 1
if: env.SHOULD_BUILD == 'yes' && vars.DISABLE_INSIDER_WINDOWS_SIGNING != 'yes' && (env.SHOULD_DEPLOY == 'yes' || github.event.inputs.generate_assets == 'true')
- name: Signing
uses: signpath/github-action-submit-signing-request@v1
with:
api-token: ${{ secrets.SIGNPATH_API_TOKEN }}
organization-id: ${{ secrets.SIGNPATH_ORGANIZATION_ID }}
project-slug: ${{ secrets.SIGNPATH_PROJECT_SLUG }}
signing-policy-slug: ${{ secrets.SIGNPATH_POLICY_SLUG }}
github-artifact-id: ${{ steps.upload-unsigned-artifacts.outputs.artifact-id }}
artifact-configuration-slug: ${{ matrix.vscode_arch }}
wait-for-completion: true
# 3h to manually approve the request
wait-for-completion-timeout-in-seconds: 10800
output-artifact-directory: assets/
if: env.SHOULD_BUILD == 'yes' && vars.DISABLE_INSIDER_WINDOWS_SIGNING != 'yes' && (env.SHOULD_DEPLOY == 'yes' || github.event.inputs.generate_assets == 'true')
- name: Prepare checksums
run: ./prepare_checksums.sh
if: env.SHOULD_BUILD == 'yes' && (env.SHOULD_DEPLOY == 'yes' || github.event.inputs.generate_assets == 'true')
- name: Release
env:
GITHUB_TOKEN: ${{ secrets.STRONGER_GITHUB_TOKEN }}

View File

@@ -91,10 +91,16 @@ jobs:
PULL_REQUEST_ID: ${{ github.event.inputs.checkout_pr }}
run: ./get_pr.sh
- name: Setup GCC
uses: egor-tensin/setup-gcc@v1
with:
version: 10
platform: x64
- name: Setup Node.js environment
uses: actions/setup-node@v4
with:
node-version: '18.17'
node-version: '20.18'
if: env.SHOULD_BUILD == 'yes'
- name: Install Yarn
@@ -131,7 +137,7 @@ jobs:
if: env.SHOULD_BUILD == 'yes'
- name: Upload vscode artifact
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: vscode
path: ./vscode.tar.gz
@@ -147,22 +153,35 @@ jobs:
fail-fast: false
matrix:
include:
- vscode_arch: x64
- slug: X64
vscode_arch: x64
npm_arch: x64
image: vscodium/vscodium-linux-build-agent:focal-x64
- vscode_arch: arm64
- slug: ARM64
vscode_arch: arm64
npm_arch: arm64
image: vscodium/vscodium-linux-build-agent:focal-arm64
- vscode_arch: armhf
- slug: ARM32
vscode_arch: armhf
npm_arch: arm
image: vscodium/vscodium-linux-build-agent:focal-armhf
- vscode_arch: riscv64
- slug: RISCV64
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
- slug: PPC64
vscode_arch: ppc64le
npm_arch: ppc64
image: vscodium/vscodium-linux-build-agent:focal-ppc64le
container:
image: ${{ matrix.image }}
env:
BUILD_SOURCEVERSION: ${{ needs.compile.outputs.BUILD_SOURCEVERSION }}
DISABLED: ${{ vars[format('DISABLE_STABLE_LINUX_APP_{0}', matrix.slug)] }}
MS_COMMIT: ${{ needs.check.outputs.MS_COMMIT }}
MS_TAG: ${{ needs.check.outputs.MS_TAG }}
RELEASE_VERSION: ${{ needs.check.outputs.RELEASE_VERSION }}
@@ -175,19 +194,20 @@ jobs:
SHOULD_DEPLOY: ${{ env.SHOULD_DEPLOY }}
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
ref: ${{ env.GITHUB_BRANCH }}
if: env.SHOULD_BUILD == 'yes'
if: env.DISABLED != 'yes' && env.SHOULD_BUILD == 'yes'
- name: Switch to relevant branch
env:
PULL_REQUEST_ID: ${{ github.event.inputs.checkout_pr }}
run: ./get_pr.sh
if: env.DISABLED != 'yes'
- name: Install GH
run: ./install_gh.sh
if: env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes'
if: env.DISABLED != 'yes' && env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes'
- name: Check existing VSCodium tags/releases
env:
@@ -195,38 +215,38 @@ jobs:
DISABLE_APPIMAGE: ${{ vars.DISABLE_STABLE_APPIMAGE }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: ./check_tags.sh
if: env.SHOULD_BUILD == 'yes'
if: env.DISABLED != 'yes' && env.SHOULD_BUILD == 'yes'
- name: Install libkrb5-dev
run: sudo apt-get update -y && sudo apt-get install -y libkrb5-dev
if: env.SHOULD_BUILD == 'yes'
if: env.DISABLED != 'yes' && env.SHOULD_BUILD == 'yes'
- name: Download vscode artifact
uses: actions/download-artifact@v3
uses: actions/download-artifact@v4
with:
name: vscode
if: env.SHOULD_BUILD == 'yes'
if: env.DISABLED != 'yes' && env.SHOULD_BUILD == 'yes'
- name: Build
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
npm_config_arch: ${{ matrix.npm_arch }}
run: ./package_linux_bin.sh
if: env.SHOULD_BUILD == 'yes'
if: env.DISABLED != 'yes' && env.SHOULD_BUILD == 'yes'
- name: Prepare assets
env:
SHOULD_BUILD_REH: 'no'
SHOULD_BUILD_REH_WEB: 'no'
run: ./prepare_assets.sh
if: env.SHOULD_BUILD == 'yes' && (env.SHOULD_DEPLOY == 'yes' || github.event.inputs.generate_assets == 'true')
if: env.DISABLED != 'yes' && env.SHOULD_BUILD == 'yes' && (env.SHOULD_DEPLOY == 'yes' || github.event.inputs.generate_assets == 'true')
- name: Release
env:
GITHUB_TOKEN: ${{ secrets.STRONGER_GITHUB_TOKEN }}
GITHUB_USERNAME: ${{ github.repository_owner }}
run: ./release.sh
if: env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes'
if: env.DISABLED != 'yes' && env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes'
- name: Update versions repo
env:
@@ -234,15 +254,15 @@ jobs:
GITHUB_TOKEN: ${{ secrets.STRONGER_GITHUB_TOKEN }}
GITHUB_USERNAME: ${{ github.repository_owner }}
run: ./update_version.sh
if: env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes'
if: env.DISABLED != 'yes' && env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes'
- name: Upload assets
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: bin-${{ matrix.vscode_arch }}
path: assets/
retention-days: 3
if: env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'no' && github.event.inputs.generate_assets == 'true'
if: env.DISABLED != 'yes' && env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'no' && github.event.inputs.generate_assets == 'true'
reh_linux:
needs:
@@ -253,18 +273,30 @@ jobs:
fail-fast: false
matrix:
include:
- vscode_arch: x64
- slug: X64
vscode_arch: x64
npm_arch: x64
- vscode_arch: arm64
- slug: ARM64
vscode_arch: arm64
npm_arch: arm64
- vscode_arch: armhf
- slug: ARM32
vscode_arch: armhf
npm_arch: arm
- vscode_arch: ppc64le
- slug: PPC64
vscode_arch: ppc64le
npm_arch: ppc64
- vscode_arch: riscv64
- slug: RISCV64
vscode_arch: riscv64
npm_arch: riscv64
- slug: LOONG64
vscode_arch: loong64
npm_arch: loong64
- slug: S390X
vscode_arch: s390x
npm_arch: s390x
env:
BUILD_SOURCEVERSION: ${{ needs.compile.outputs.BUILD_SOURCEVERSION }}
DISABLED: ${{ vars[format('DISABLE_STABLE_LINUX_REH_{0}', matrix.slug)] }}
MS_COMMIT: ${{ needs.check.outputs.MS_COMMIT }}
MS_TAG: ${{ needs.check.outputs.MS_TAG }}
RELEASE_VERSION: ${{ needs.check.outputs.RELEASE_VERSION }}
@@ -274,57 +306,70 @@ jobs:
if: needs.check.outputs.SHOULD_BUILD == 'yes' || github.event.inputs.generate_assets == 'true'
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
ref: ${{ env.GITHUB_BRANCH }}
if: env.DISABLED != 'yes'
- name: Switch to relevant branch
env:
PULL_REQUEST_ID: ${{ github.event.inputs.checkout_pr }}
run: ./get_pr.sh
if: env.DISABLED != 'yes'
- name: Setup GCC
uses: egor-tensin/setup-gcc@v1
with:
version: 10
platform: x64
if: env.DISABLED != 'yes'
- name: Setup Node.js environment
uses: actions/setup-node@v4
with:
node-version: '18.17'
node-version: '20.18'
if: env.DISABLED != 'yes'
- name: Setup Python 3
uses: actions/setup-python@v5
with:
python-version: '3.11'
if: env.DISABLED != 'yes'
- name: Install libkrb5-dev
run: sudo apt-get update -y && sudo apt-get install -y libkrb5-dev
if: env.DISABLED != 'yes'
- name: Install GH
run: ./install_gh.sh
if: env.SHOULD_DEPLOY == 'yes'
if: env.DISABLED != 'yes' && env.SHOULD_DEPLOY == 'yes'
- name: Check existing VSCodium tags/releases
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
CHECK_ONLY_REH: 'yes'
run: ./check_tags.sh
if: env.DISABLED != 'yes'
- name: Download vscode artifact
uses: actions/download-artifact@v3
uses: actions/download-artifact@v4
with:
name: vscode
if: env.SHOULD_BUILD_REH != 'no' || env.SHOULD_BUILD_REH_WEB != 'no' || github.event.inputs.generate_assets == 'true'
if: env.DISABLED != 'yes' && (env.SHOULD_BUILD_REH != 'no' || env.SHOULD_BUILD_REH_WEB != 'no' || github.event.inputs.generate_assets == 'true')
- name: Build
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
npm_config_arch: ${{ matrix.npm_arch }}
run: ./package_linux_reh.sh
if: env.SHOULD_BUILD_REH != 'no' || env.SHOULD_BUILD_REH_WEB != 'no' || github.event.inputs.generate_assets == 'true'
if: env.DISABLED != 'yes' && (env.SHOULD_BUILD_REH != 'no' || env.SHOULD_BUILD_REH_WEB != 'no' || github.event.inputs.generate_assets == 'true')
- name: Release
env:
GITHUB_TOKEN: ${{ secrets.STRONGER_GITHUB_TOKEN }}
GITHUB_USERNAME: ${{ github.repository_owner }}
run: ./release.sh
if: (env.SHOULD_BUILD_REH != 'no' || env.SHOULD_BUILD_REH_WEB != 'no') && env.SHOULD_DEPLOY == 'yes'
if: env.DISABLED != 'yes' && env.SHOULD_DEPLOY == 'yes' && (env.SHOULD_BUILD_REH != 'no' || env.SHOULD_BUILD_REH_WEB != 'no')
- name: Upload assets
uses: actions/upload-artifact@v4
@@ -332,7 +377,7 @@ jobs:
name: reh-linux-${{ matrix.vscode_arch }}
path: assets/
retention-days: 3
if: env.SHOULD_DEPLOY == 'no' && github.event.inputs.generate_assets == 'true'
if: env.DISABLED != 'yes' && env.SHOULD_DEPLOY == 'no' && github.event.inputs.generate_assets == 'true'
reh_alpine:
needs:
@@ -359,7 +404,7 @@ jobs:
if: needs.check.outputs.SHOULD_BUILD == 'yes' || github.event.inputs.generate_assets == 'true'
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
ref: ${{ env.GITHUB_BRANCH }}
@@ -368,6 +413,12 @@ jobs:
PULL_REQUEST_ID: ${{ github.event.inputs.checkout_pr }}
run: ./get_pr.sh
- name: Setup GCC
uses: egor-tensin/setup-gcc@v1
with:
version: 10
platform: x64
- name: Install GH
run: ./install_gh.sh
if: env.SHOULD_DEPLOY == 'yes'
@@ -383,7 +434,7 @@ jobs:
if: env.SHOULD_BUILD == 'yes'
- name: Download vscode artifact
uses: actions/download-artifact@v3
uses: actions/download-artifact@v4
with:
name: vscode
if: env.SHOULD_BUILD_REH != 'no' || github.event.inputs.generate_assets == 'true'
@@ -421,8 +472,8 @@ jobs:
include:
- package_name: vscodium
package_type: stable
- package_name: vscodium-git
package_type: rolling
# - package_name: vscodium-git
# package_type: rolling
if: needs.check.outputs.SHOULD_DEPLOY == 'yes'
steps:
@@ -452,7 +503,7 @@ jobs:
if: needs.check.outputs.SHOULD_DEPLOY == 'yes' && vars.DISABLE_STABLE_SNAP != 'yes'
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
ref: ${{ env.GITHUB_BRANCH }}
@@ -465,6 +516,7 @@ jobs:
env:
ARCHITECTURE: ${{ matrix.platform }}
GENERATE_ASSETS: ${{ github.event.inputs.generate_assets }}
SNAPCRAFT_STORE_CHANNEL: ${{ vars.SNAP_STORE_CHANNEL }}
SNAPCRAFT_STORE_CREDENTIALS: ${{ secrets.SNAP_STORE_LOGIN }}
run: ./stores/snapcraft/check_version.sh

View File

@@ -39,9 +39,8 @@ jobs:
fail-fast: false
matrix:
include:
- runner: macos-12
- runner: macos-13
vscode_arch: x64
# - runner: macos-14
- runner: [self-hosted, macOS, ARM64]
vscode_arch: arm64
@@ -58,7 +57,7 @@ jobs:
- name: Setup Node.js environment
uses: actions/setup-node@v4
with:
node-version: '20.12'
node-version: '20.18'
- name: Setup Python 3
uses: actions/setup-python@v5

View File

@@ -33,7 +33,7 @@ jobs:
- name: Setup Node.js environment
uses: actions/setup-node@v4
with:
node-version: '20.12'
node-version: '20.18'
- name: Clone VSCode repo
run: . get_repo.sh

View File

@@ -30,24 +30,14 @@ env:
VERSIONS_REPOSITORY: ${{ github.repository_owner }}/versions
VSCODE_QUALITY: stable
jobs:
build:
runs-on: windows-2019
defaults:
run:
shell: bash
env:
VSCODE_ARCH: ${{ matrix.vscode_arch }}
strategy:
fail-fast: false
matrix:
vscode_arch:
- x64
# - ia32
- arm64
check:
runs-on: ubuntu-latest
outputs:
MS_COMMIT: ${{ env.MS_COMMIT }}
MS_TAG: ${{ env.MS_TAG }}
RELEASE_VERSION: ${{ env.RELEASE_VERSION }}
SHOULD_BUILD: ${{ env.SHOULD_BUILD }}
SHOULD_DEPLOY: ${{ env.SHOULD_DEPLOY }}
steps:
@@ -60,19 +50,6 @@ jobs:
PULL_REQUEST_ID: ${{ github.event.inputs.checkout_pr }}
run: ./get_pr.sh
- name: Setup Node.js environment
uses: actions/setup-node@v4
with:
node-version: '20.12'
- 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
@@ -84,21 +61,195 @@ jobs:
- name: Check existing VSCodium tags/releases
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
CHECK_ALL: 'yes'
run: ./check_tags.sh
if: env.SHOULD_DEPLOY == 'yes' || github.event.inputs.generate_assets == 'true'
compile:
needs:
- check
runs-on: ubuntu-20.04
env:
MS_COMMIT: ${{ needs.check.outputs.MS_COMMIT }}
MS_TAG: ${{ needs.check.outputs.MS_TAG }}
RELEASE_VERSION: ${{ needs.check.outputs.RELEASE_VERSION }}
SHOULD_BUILD: ${{ (needs.check.outputs.SHOULD_BUILD == 'yes' || github.event.inputs.generate_assets == 'true') && 'yes' || 'no' }}
VSCODE_ARCH: 'x64'
outputs:
BUILD_SOURCEVERSION: ${{ env.BUILD_SOURCEVERSION }}
steps:
- uses: actions/checkout@v4
with:
ref: ${{ env.GITHUB_BRANCH }}
if: env.SHOULD_BUILD == 'yes'
- name: Switch to relevant branch
env:
PULL_REQUEST_ID: ${{ github.event.inputs.checkout_pr }}
run: ./get_pr.sh
- name: Setup GCC
uses: egor-tensin/setup-gcc@v1
with:
version: 10
platform: x64
- name: Setup Node.js environment
uses: actions/setup-node@v4
with:
node-version: '20.18'
if: env.SHOULD_BUILD == 'yes'
- name: Install Yarn
run: npm install -g yarn
if: env.SHOULD_BUILD == 'yes'
- name: Setup Python 3
uses: actions/setup-python@v5
with:
python-version: '3.11'
if: env.SHOULD_BUILD == 'yes'
- name: Install libkrb5-dev
run: sudo apt-get update -y && sudo apt-get install -y libkrb5-dev
if: env.SHOULD_BUILD == 'yes'
- name: Clone VSCode repo
run: ./get_repo.sh
if: env.SHOULD_BUILD == 'yes'
- name: Build
env:
SHOULD_BUILD_REH: 'no'
SHOULD_BUILD_REH_WEB: 'no'
run: ./build.sh
if: env.SHOULD_BUILD == 'yes'
- name: Compress vscode artifact
run: |
find vscode -type f -not -path "*/node_modules/*" -not -path "vscode/.build/node/*" -not -path "vscode/.git/*" > vscode.txt
echo "vscode/.build/extensions/node_modules" >> vscode.txt
echo "vscode/.git" >> vscode.txt
tar -czf vscode.tar.gz -T vscode.txt
if: env.SHOULD_BUILD == 'yes'
- name: Upload vscode artifact
uses: actions/upload-artifact@v4
with:
name: vscode
path: ./vscode.tar.gz
retention-days: ${{ needs.check.outputs.SHOULD_DEPLOY == 'yes' && 30 || 1 }}
if: env.SHOULD_BUILD == 'yes'
build:
needs:
- check
- compile
runs-on: windows-2019
strategy:
fail-fast: false
matrix:
vscode_arch:
- x64
- arm64
defaults:
run:
shell: bash
env:
BUILD_SOURCEVERSION: ${{ needs.compile.outputs.BUILD_SOURCEVERSION }}
MS_COMMIT: ${{ needs.check.outputs.MS_COMMIT }}
MS_TAG: ${{ needs.check.outputs.MS_TAG }}
RELEASE_VERSION: ${{ needs.check.outputs.RELEASE_VERSION }}
SHOULD_BUILD: ${{ (needs.check.outputs.SHOULD_BUILD == 'yes' || github.event.inputs.generate_assets == 'true') && 'yes' || 'no' }}
SHOULD_DEPLOY: ${{ needs.check.outputs.SHOULD_DEPLOY }}
VSCODE_ARCH: ${{ matrix.vscode_arch }}
outputs:
RELEASE_VERSION: ${{ env.RELEASE_VERSION }}
SHOULD_DEPLOY: ${{ env.SHOULD_DEPLOY }}
steps:
- uses: actions/checkout@v4
with:
ref: ${{ env.GITHUB_BRANCH }}
if: env.SHOULD_BUILD == 'yes'
- name: Switch to relevant branch
env:
PULL_REQUEST_ID: ${{ github.event.inputs.checkout_pr }}
run: ./get_pr.sh
if: env.SHOULD_BUILD == 'yes'
- name: Setup Node.js environment
uses: actions/setup-node@v4
with:
node-version: '20.18'
if: env.SHOULD_BUILD == 'yes'
- name: Install Yarn
run: npm install -g yarn
if: env.SHOULD_BUILD == 'yes'
- name: Setup Python 3
uses: actions/setup-python@v5
with:
python-version: '3.11'
if: env.SHOULD_BUILD == 'yes'
- name: Check existing VSCodium tags/releases
env:
DISABLE_MSI: ${{ vars.DISABLE_STABLE_MSI }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: ./check_tags.sh
if: env.SHOULD_BUILD == 'yes'
- name: Download vscode artifact
uses: actions/download-artifact@v4
with:
name: vscode
if: env.SHOULD_BUILD == 'yes'
- name: Build
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
npm_config_arch: ${{ matrix.vscode_arch }}
npm_config_target_arch: ${{ matrix.vscode_arch }}
run: ./build.sh
run: ./package_windows.sh
if: env.SHOULD_BUILD == 'yes'
- name: Prepare assets
run: ./prepare_assets.sh
if: env.SHOULD_BUILD == 'yes' && (env.SHOULD_DEPLOY == 'yes' || github.event.inputs.generate_assets == 'true')
- name: Upload unsigned artifacts
id: upload-unsigned-artifacts
uses: actions/upload-artifact@v4
with:
name: unsigned-${{ matrix.vscode_arch }}
path: |
assets/*.exe
assets/*.msi
retention-days: 1
if: env.SHOULD_BUILD == 'yes' && (env.SHOULD_DEPLOY == 'yes' || github.event.inputs.generate_assets == 'true')
- name: Signing
uses: signpath/github-action-submit-signing-request@v1
with:
api-token: ${{ secrets.SIGNPATH_API_TOKEN }}
organization-id: ${{ secrets.SIGNPATH_ORGANIZATION_ID }}
project-slug: ${{ secrets.SIGNPATH_PROJECT_SLUG }}
signing-policy-slug: ${{ secrets.SIGNPATH_POLICY_SLUG }}
github-artifact-id: ${{ steps.upload-unsigned-artifacts.outputs.artifact-id }}
artifact-configuration-slug: ${{ matrix.vscode_arch }}
wait-for-completion: true
# 3h to manually approve the request
wait-for-completion-timeout-in-seconds: 10800
output-artifact-directory: assets/
if: env.SHOULD_BUILD == 'yes' && (env.SHOULD_DEPLOY == 'yes' || github.event.inputs.generate_assets == 'true')
- name: Prepare checksums
run: ./prepare_checksums.sh
if: env.SHOULD_BUILD == 'yes' && (env.SHOULD_DEPLOY == 'yes' || github.event.inputs.generate_assets == 'true')
- name: Release
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
@@ -111,7 +262,7 @@ jobs:
GITHUB_TOKEN: ${{ secrets.STRONGER_GITHUB_TOKEN }}
GITHUB_USERNAME: ${{ github.repository_owner }}
run: ./update_version.sh
if: env.SHOULD_DEPLOY == 'yes'
if: env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes'
- name: Upload assets
uses: actions/upload-artifact@v4

2
.nvmrc
View File

@@ -1 +1 @@
20.14
20.18

View File

@@ -187,6 +187,9 @@ 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 riscv64 (`tar.gz`)
- [x] GNU/Linux loong64 (`tar.gz`)
- [x] GNU/Linux ppc64le (`tar.gz`)
- [x] Windows 10 / Server 2012 R2 or newer x64
- [x] Windows 10 / Server 2012 R2 or newer arm64
@@ -209,6 +212,10 @@ The minimal version is limited by the core component Electron, you may want to c
<td><a href="https://github.com/daiyam" target="_blank">@daiyam</a></td>
<td>for macOS certificate</td>
</tr>
<tr>
<td><a href="https://signpath.org/" target="_blank"><img src="https://avatars.githubusercontent.com/u/34448643" height="30" alt="SignPath logo" /></a></td>
<td>free code signing on Windows provided by <a href="https://signpath.io/" target="_blank">SignPath.io</a>, certificate by <a href="https://signpath.org/" target="_blank">SignPath Foundation</a></td>
</tr>
</table>
## <a id="license"></a>License

View File

@@ -29,13 +29,16 @@ if [[ "${SHOULD_BUILD}" == "yes" ]]; then
VSCODE_PLATFORM="darwin"
elif [[ "${OS_NAME}" == "windows" ]]; then
. ../build/windows/rtf/make.sh
# in CI, packaging will be done by a different job
if [[ "${CI_BUILD}" == "no" ]]; then
. ../build/windows/rtf/make.sh
yarn gulp "vscode-win32-${VSCODE_ARCH}-min-ci"
yarn gulp "vscode-win32-${VSCODE_ARCH}-min-ci"
if [[ "${VSCODE_ARCH}" != "ia32" && "${VSCODE_ARCH}" != "x64" ]]; then
SHOULD_BUILD_REH="no"
SHOULD_BUILD_REH_WEB="no"
if [[ "${VSCODE_ARCH}" != "x64" ]]; then
SHOULD_BUILD_REH="no"
SHOULD_BUILD_REH_WEB="no"
fi
fi
VSCODE_PLATFORM="win32"

View File

@@ -59,6 +59,10 @@ elif [[ "${UNAME_ARCH}" == "ppc64le" ]]; then
export VSCODE_ARCH="ppc64le"
elif [[ "${UNAME_ARCH}" == "riscv64" ]]; then
export VSCODE_ARCH="riscv64"
elif [[ "${UNAME_ARCH}" == "loongarch64" ]]; then
export VSCODE_ARCH="loong64"
elif [[ "${UNAME_ARCH}" == "s390x" ]]; then
export VSCODE_ARCH="s390x"
else
export VSCODE_ARCH="x64"
fi
@@ -86,7 +90,7 @@ if [[ "${SKIP_SOURCE}" == "no" ]]; then
echo "BUILD_SOURCEVERSION=\"${BUILD_SOURCEVERSION}\"" >> build.env
else
if [[ "${SKIP_ASSETS}" != "no" ]]; then
rm -rf VSCode*
rm -rf vscode-* VSCode-*
fi
. build.env
@@ -104,11 +108,31 @@ if [[ "${SKIP_BUILD}" == "no" ]]; then
git add .
git reset -q --hard HEAD
rm -rf .build out*
cd ..
fi
if [[ -f "./include_${OS_NAME}.gypi" ]]; then
echo "Installing custom ~/.gyp/include.gypi"
mkdir -p ~/.gyp
if [[ -f "${HOME}/.gyp/include.gypi" ]]; then
mv ~/.gyp/include.gypi ~/.gyp/include.gypi.pre-vscodium
else
echo "{}" > ~/.gyp/include.gypi.pre-vscodium
fi
cp ./include_osx.gypi ~/.gyp/include.gypi
fi
. build.sh
if [[ -f "./include_${OS_NAME}.gypi" ]]; then
mv ~/.gyp/include.gypi.pre-vscodium ~/.gyp/include.gypi
fi
if [[ "${VSCODE_LATEST}" == "yes" ]]; then
jsonTmp=$( cat "${VSCODE_QUALITY}.json" | jq --arg 'tag' "${MS_TAG/\-insider/}" --arg 'commit' "${MS_COMMIT}" '. | .tag=$tag | .commit=$commit' )
echo "${jsonTmp}" > "${VSCODE_QUALITY}.json" && unset jsonTmp

View File

@@ -37,6 +37,8 @@ if [[ "${VSCODE_ARCH}" == "x64" ]]; then
sed -i 's|@@ICON@@|vscodium|g' recipe.yml
fi
# workaround that enforces x86 ARCH for pkg2appimage having /__w/vscodium/vscodium/build/linux/appimage/VSCodium/VSCodium.AppDir/usr/share/codium/resources/app/node_modules/rc/index.js is of architecture armhf
export ARCH=x86_64
bash -ex pkg2appimage.AppDir/AppRun recipe.yml
rm -f pkg2appimage-*.AppImage

View File

@@ -13,6 +13,12 @@ while getopts ":i" opt; do
done
check_file() {
while [ $# -gt 1 ]; do
git apply --reject "${1}"
shift
done
if [[ -f "${1}" ]]; then
echo applying patch: "${1}"
if ! git apply --ignore-whitespace "${1}"; then
@@ -47,6 +53,28 @@ if [[ "${VSCODE_QUALITY}" == "insider" ]]; then
done
fi
for FILE in ../patches/linux/*/*.patch; do
check_file "${FILE}"
for ARCH in alpine linux osx windows; do
for FILE in "../patches/${ARCH}/"*.patch; do
if [[ "${FILE}" != *"/arch-"* ]]; then
check_file "${FILE}"
fi
done
if [[ "${ARCH}" == "linux" ]]; then
check_file "../patches/linux/arch-0-support.patch"
check_file "../patches/linux/arch-0-support.patch" "../patches/linux/arch-1-ppc64le.patch"
check_file "../patches/linux/arch-0-support.patch" "../patches/linux/arch-1-ppc64le.patch" "../patches/linux/arch-2-riscv64.patch"
check_file "../patches/linux/arch-0-support.patch" "../patches/linux/arch-1-ppc64le.patch" "../patches/linux/arch-2-riscv64.patch" "../patches/linux/arch-3-loong64.patch"
check_file "../patches/linux/arch-0-support.patch" "../patches/linux/arch-1-ppc64le.patch" "../patches/linux/arch-2-riscv64.patch" "../patches/linux/arch-3-loong64.patch" "../patches/linux/arch-4-s390x.patch"
fi
for TARGET in client reh; do
for FILE in "../patches/${ARCH}/${TARGET}/"*.patch; do
check_file "${FILE}"
done
for FILE in "../patches/${ARCH}/${TARGET}/"*/*.patch; do
check_file "${FILE}"
done
done
done

View File

@@ -163,14 +163,18 @@ elif [[ "${ASSETS}" != "null" ]]; then
export SHOULD_BUILD_ZIP="no"
fi
if [[ -z $( contains "${APP_NAME}-${VSCODE_ARCH}-${RELEASE_VERSION}.msi" ) ]]; then
if [[ "${DISABLE_MSI}" == "yes" ]]; then
export SHOULD_BUILD_MSI="no"
elif [[ -z $( contains "${APP_NAME}-${VSCODE_ARCH}-${RELEASE_VERSION}.msi" ) ]]; then
echo "Building on Windows ia32 because we have no msi"
export SHOULD_BUILD="yes"
else
export SHOULD_BUILD_MSI="no"
fi
if [[ -z $( contains "${APP_NAME}-${VSCODE_ARCH}-updates-disabled-${RELEASE_VERSION}.msi" ) ]]; then
if [[ "${DISABLE_MSI}" == "yes" ]]; then
export SHOULD_BUILD_MSI_NOUP="no"
elif [[ -z $( contains "${APP_NAME}-${VSCODE_ARCH}-updates-disabled-${RELEASE_VERSION}.msi" ) ]]; then
echo "Building on Windows ia32 because we have no updates-disabled msi"
export SHOULD_BUILD="yes"
else
@@ -218,14 +222,18 @@ elif [[ "${ASSETS}" != "null" ]]; then
export SHOULD_BUILD_ZIP="no"
fi
if [[ -z $( contains "${APP_NAME}-${VSCODE_ARCH}-${RELEASE_VERSION}.msi" ) ]]; then
if [[ "${DISABLE_MSI}" == "yes" ]]; then
export SHOULD_BUILD_MSI="no"
elif [[ -z $( contains "${APP_NAME}-${VSCODE_ARCH}-${RELEASE_VERSION}.msi" ) ]]; then
echo "Building on Windows x64 because we have no msi"
export SHOULD_BUILD="yes"
else
export SHOULD_BUILD_MSI="no"
fi
if [[ -z $( contains "${APP_NAME}-${VSCODE_ARCH}-updates-disabled-${RELEASE_VERSION}.msi" ) ]]; then
if [[ "${DISABLE_MSI}" == "yes" ]]; then
export SHOULD_BUILD_MSI_NOUP="no"
elif [[ -z $( contains "${APP_NAME}-${VSCODE_ARCH}-updates-disabled-${RELEASE_VERSION}.msi" ) ]]; then
echo "Building on Windows x64 because we have no updates-disabled msi"
export SHOULD_BUILD="yes"
else
@@ -365,7 +373,14 @@ elif [[ "${ASSETS}" != "null" ]]; then
SHOULD_BUILD_APPIMAGE="no"
SHOULD_BUILD_DEB="no"
SHOULD_BUILD_RPM="no"
SHOULD_BUILD_TAR="no"
if [[ -z $( contains "${APP_NAME}-linux-ppc64le-${RELEASE_VERSION}.tar.gz" ) ]]; then
echo "Building on Linux PowerPC64LE because we have no TAR"
export SHOULD_BUILD="yes"
else
export SHOULD_BUILD_TAR="no"
fi
if [[ -z $( contains "${APP_NAME_LC}-reh-linux-ppc64le-${RELEASE_VERSION}.tar.gz" ) ]]; then
echo "Building on Linux PowerPC64LE because we have no REH archive"
@@ -418,6 +433,64 @@ elif [[ "${ASSETS}" != "null" ]]; then
fi
fi
# linux-loong64
if [[ "${VSCODE_ARCH}" == "loong64" || "${CHECK_ALL}" == "yes" ]]; then
export SHOULD_BUILD_DEB="no"
export SHOULD_BUILD_RPM="no"
export SHOULD_BUILD_APPIMAGE="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"
export SHOULD_BUILD="yes"
else
export SHOULD_BUILD_REH="no"
fi
if [[ -z $( contains "${APP_NAME_LC}-reh-web-linux-loong64-${RELEASE_VERSION}.tar.gz" ) ]]; then
echo "Building on Linux Loong64 because we have no REH-web archive"
export SHOULD_BUILD="yes"
else
export SHOULD_BUILD_REH_WEB="no"
fi
if [[ "${SHOULD_BUILD}" != "yes" ]]; then
echo "Already have all the Linux Loong64 builds"
fi
fi
# linux-s390x
if [[ "${VSCODE_ARCH}" == "s390x" || "${CHECK_ALL}" == "yes" ]]; then
SHOULD_BUILD_APPIMAGE="no"
SHOULD_BUILD_DEB="no"
SHOULD_BUILD_RPM="no"
SHOULD_BUILD_TAR="no"
if [[ -z $( contains "${APP_NAME_LC}-reh-linux-s390x-${RELEASE_VERSION}.tar.gz" ) ]]; then
echo "Building on Linux s390x because we have no REH archive"
export SHOULD_BUILD="yes"
else
export SHOULD_BUILD_REH="no"
fi
if [[ -z $( contains "${APP_NAME_LC}-reh-web-linux-s390x-${RELEASE_VERSION}.tar.gz" ) ]]; then
echo "Building on Linux s390x because we have no REH-web archive"
export SHOULD_BUILD="yes"
else
export SHOULD_BUILD_REH_WEB="no"
fi
if [[ "${SHOULD_BUILD}" != "yes" ]]; then
echo "Already have all the Linux s390x builds"
fi
fi
# linux-x64
if [[ "${VSCODE_ARCH}" == "x64" || "${CHECK_ALL}" == "yes" ]]; then
if [[ -z $( contains "amd64.deb" ) ]]; then
@@ -536,6 +609,9 @@ else
elif [[ "${VSCODE_ARCH}" == "riscv64" ]]; then
SHOULD_BUILD_DEB="no"
SHOULD_BUILD_RPM="no"
elif [[ "${VSCODE_ARCH}" == "loong64" ]]; then
SHOULD_BUILD_DEB="no"
SHOULD_BUILD_RPM="no"
fi
if [[ "${VSCODE_ARCH}" != "x64" || "${DISABLE_APPIMAGE}" == "yes" ]]; then
export SHOULD_BUILD_APPIMAGE="no"
@@ -545,6 +621,10 @@ else
export SHOULD_BUILD_REH="no"
export SHOULD_BUILD_REH_WEB="no"
fi
if [[ "${DISABLE_MSI}" == "yes" ]]; then
export SHOULD_BUILD_MSI="no"
export SHOULD_BUILD_MSI_NOUP="no"
fi
fi
echo "Release assets do not exist at all, continuing build"

View File

@@ -6,8 +6,9 @@
- [Replacements to Microsoft Online Services](#replacement-online-services)
- [Extensions + Marketplace](#extensions-marketplace)
- [How to use the OpenVSX Marketplace](#howto-openvsx-marketplace)
- [How to use the VS Code Marketplace](#howto-vscode-marketplace)
- [How to use a different extension gallery](#howto-switch-marketplace)
- [How to self host your own VS Code Marketplace](#howto-selfhost-marketplace)
- [Visual Studio Marketplace](#visual-studio-marketplace)
- [Proprietary Debugging Tools](#proprietary-debugging-tools)
- [Proprietary Extensions](#proprietary-extensions)
- [Extensions compatibility](https://github.com/VSCodium/vscodium/blob/master/docs/extensions-compatibility.md)
@@ -27,9 +28,9 @@
Even though we do not pass the telemetry build flags (and go out of our way to cripple the baked-in telemetry), Microsoft will still track usage by default.
We do however set the default `telemetry.enableCrashReporter` and `telemetry.enableTelemetry` values to false. You can see those by viewing your VSCodium settings.json and searching for `telemetry`.
We do however set the `telemetry.enableTelemetry` setting's default value to `false`. You can see those by viewing your VSCodium `settings.json` and searching for `telemetry`.
The instructions [here](https://code.visualstudio.com/docs/supporting/faq#_how-to-disable-telemetry-reporting) and [here](https://code.visualstudio.com/docs/supporting/faq#_how-to-disable-crash-reporting) help with explaining and toggling telemetry.
The instructions [here](https://code.visualstudio.com/docs/supporting/faq#_how-to-disable-telemetry-reporting) help with explaining and toggling telemetry.
It is also highly recommended that you review all the settings that "use online services" by following [these instructions](https://code.visualstudio.com/docs/getstarted/telemetry#_managing-online-services). The `@tag:usesOnlineServices` filter on the settings page will show that by default:
@@ -66,29 +67,26 @@ See [this article](https://www.gitpod.io/blog/open-vsx/) for more information on
### <a id="howto-switch-marketplace"></a>How to use a different extension gallery
You can switch from the pre-set Open VSX Registry by configuring the endpoints using the following solutions.
These examples use the URLs for Microsoft's VS Code Marketplace, see [below](#howto-vscode-marketplace) for more information on that.
With the following environment variables:
- `VSCODE_GALLERY_SERVICE_URL='https://marketplace.visualstudio.com/_apis/public/gallery'`
- `VSCODE_GALLERY_ITEM_URL='https://marketplace.visualstudio.com/items'`
- `VSCODE_GALLERY_CACHE_URL='https://vscode.blob.core.windows.net/gallery/index'`
- `VSCODE_GALLERY_CONTROL_URL=''`
You can either use the following environment variables:
- `VSCODE_GALLERY_SERVICE_URL`
- `VSCODE_GALLERY_ITEM_URL`
- `VSCODE_GALLERY_CACHE_URL`
- `VSCODE_GALLERY_CONTROL_URL`
Or by creating a custom `product.json` at the following location (replace `VSCodium` by `VSCodium - Insiders` if you use that):
- Windows: `%APPDATA%\VSCodium` or `%USERPROFILE%\AppData\Roaming\VSCodium`
- macOS: `~/Library/Application Support/VSCodium`
- Linux: `$XDG_CONFIG_HOME/VSCodium` or `~/.config/VSCodium`
with the content:
- Note: set `cacheUrl` to empty string for every other extension gallery
with the content like:
```jsonc
{
"extensionsGallery": {
"serviceUrl": "https://marketplace.visualstudio.com/_apis/public/gallery",
"itemUrl": "https://marketplace.visualstudio.com/items",
"cacheUrl": "https://vscode.blob.core.windows.net/gallery/index",
"serviceUrl": "",
"itemUrl": "",
"cacheUrl": "",
"controlUrl": ""
}
}
@@ -96,7 +94,7 @@ with the content:
### <a id="howto-selfhost-marketplace"></a>How to self-host your own extension gallery
Individual developers and enterprise companies in regulated or security-conscious industries can self-host their own extension gallery. In all of these cases, you'd enter its endpoint URLs as noted above, replacing `marketplace.visualstudio.com` with `your-self-hosted-marketplace-address.example.com` (or IP address), setting `cacheUrl` / `VSCODE_GALLERY_CACHE_URL` to an empty string.
Individual developers and enterprise companies in regulated or security-conscious industries can self-host their own extension gallery.
There are likely other options, but the following were reported to work:
@@ -109,14 +107,15 @@ There are likely other options, but the following were reported to work:
> `code-marketplace` is a self-contained go binary that does not have a frontend or any mechanisms for extension authors to add or update extensions in the marketplace. It simply reads extensions from file storage and provides an API for VSCode compatible editors to consume.
### <a id="howto-vscode-marketplace"></a>How to use the VS Code Marketplace
### <a id="visual-studio-marketplace"></a>Visual Studio Marketplace
As with any online service, ensure you've understood [its terms of use](https://aka.ms/vsmarketplace-ToU) which include:
> Marketplace Offerings are intended for use only with Visual Studio Products and Services and you may only install and use Marketplace Offerings with Visual Studio Products and Services.
So, we can't provide any help if you intend to infringe their terms of use.
As with any online service, ensure you've understood [its terms of use](https://aka.ms/vsmarketplace-ToU).
Also note that this extension gallery hosts multiple extensions that are non-free and have license-agreements that explicitly forbid using them in non-Microsoft products, along with using telemetry.
The endpoint URLs are given in the [example above](#howto-switch-marketplace).
### <a id="proprietary-debugging-tools"></a>Proprietary Debugging Tools
The debugger provided with Microsoft's [C# extension](https://github.com/OmniSharp/omnisharp-vscode) as well as the (Windows) debugger provided with their [C++ extension](https://github.com/Microsoft/vscode-cpptools) are very restrictively licensed to only work with the official Visual Studio Code build. See [this comment in the C# extension repo](https://github.com/OmniSharp/omnisharp-vscode/issues/2491#issuecomment-418811364) and [this comment in the C++ extension repo](https://github.com/Microsoft/vscode-cpptools/issues/21#issuecomment-248349017).

View File

@@ -4,6 +4,7 @@
- [Linux](#linux)
- [Fonts showing up as rectangles](#linux-fonts-rectangle)
- [Text and/or the entire interface not appearing](#linux-rendering-glitches)
- [Global menu workaround for KDE](#linux-kde-global-menu)
- [Flatpak most common issues](#linux-flatpak-most-common-issues)
- [Remote SSH doesn't work](#linux-remote-ssh)
@@ -24,6 +25,14 @@ rm -rf ~/snap/codium/common/.cache
fc-cache -r
```
#### <a id="linux-rendering-glitches"></a>*Text and/or the entire interface not appearing*
You have likely encountered [a bug in Chromium and Electron](microsoft/vscode#190437) when compiling Mesa shaders, which has affected all Visual Studio Code and VSCodium versions for Linux distributions since 1.82. The current workaround (see microsoft/vscode#190437) is to delete the GPU cache as follows:
```bash
rm -rf ~/.config/VSCodium/GPUCache
```
#### <a id="linux-kde-global-menu"></a>*Global menu workaround for KDE*
Install these packages on Fedora:

View File

@@ -1,8 +0,0 @@
#!/usr/bin/env bash
set -ex
export ELECTRON_VERSION="30.5.1"
export VSCODE_ELECTRON_TAG="v${ELECTRON_VERSION}.riscv1"
echo "dfae1ccddec728faa7e5dcc92fb38ee7c40251e7f7638817da1c2a94dd37b5c2 *electron-v${ELECTRON_VERSION}-linux-riscv64.zip" >> build/checksums/electron.txt

View File

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

View File

@@ -0,0 +1,11 @@
2324198f130de1f5ccff6f216277eafa76fa53883c8297533f0e0c09d96faf31 *chromedriver-v32.2.7-linux-loong64.zip
724acd5cde9e747b3765f062b9a243af344faa039f9f0218beed1b0e9455e893 *electron-v32.2.7-linux-loong64-debug.zip
dee3600a67cc7f40f0fb4a8938940cb20fba0a95886352145cacc0334baa955e *electron-v32.2.7-linux-loong64-symbols.zip
2904bfaa386deddf968dec71c4b4235635daa318bdbb05ae3f3673983242cefe *electron-v32.2.7-linux-loong64.zip
e8fb755c82a58d98c70c1d3ac4d9c9c77e42021322b188183a550793ba94afe0 *ffmpeg-v32.2.7-linux-loong64.zip
69506c95a7ce4d5270164e0613aec9eb11fdc24f3dc21df3cd78963b764a6b75 *hunspell-dictionaries.zip
e02189a00e5170306289ba2bc0c295a9698f76899d812e35fc69fd8e4e4841d2 *libcxx-headers.zip
0cc5c76d848d9f572ef4050839876afd8533dc71fc90c319edfffcaa3dca0e01 *libcxx-objects-v32.2.7-linux-loong64.zip
caada8fb0a210d660e2150a0fe9f7b84a9e969a5b1110ce2d6b58f5d21637387 *libcxxabi-headers.zip
8736592799acdaafae2214156c7755f3249f4fd577fccc3df11bf42a5481aa12 *mksnapshot-v32.2.7-linux-loong64.zip
3d80771ab908f55cc61416b8b11d572e777b6c613ad2a7ee7aa8fef8b4ede011 *node-v32.2.7-headers.tar.gz

View File

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

View File

@@ -0,0 +1,11 @@
176cbd410925566ed2290d006b4a70de9d7953997d2189e67495fec5ec7648aa *chromedriver-v32.2.7-linux-ppc64le.zip
64a683d339b87463cacef142730ac366fa39ee27e017390909a928b9afb81b12 *electron-v32.2.7-linux-ppc64le-debug.zip
361b11b83589f64756def0a4982b611fb5220df287cd6c6fc3c9d4c5240a7b87 *electron-v32.2.7-linux-ppc64le-symbols.zip
1cba399c82c5baccb0387971a5697920d771bc424bd65fe503289e4d8f72dfa2 *electron-v32.2.7-linux-ppc64le.zip
ce41b10c28bd43249cd3b409e081b1c83a2b691381bdd2e3bf208ec40ca176b8 *electron.d.ts
9b74c159cbc8e9f80d145117e828066b09a1703961adc4f31703271776132797 *ffmpeg-v32.2.7-linux-ppc64le.zip
d8b47b51bb9474e39f9a0024a34a2378e4bdb3ff1ed4366db1752b3c6452afd1 *hunspell_dictionaries.zip
0c125463ff1b1bc3e8f16e3fc09052f4061143743acddf478188d08049da4d55 *libcxx-objects-v32.2.7-linux-ppc64le.zip
b1fc26b925ba6b896dea50bd471128cfa290c5b19673a62e8775537f6f94514d *libcxx_headers.zip
6f00ab500f9418eb788578c67a84422ed5dc962ad9c3be0de1f2931f55066895 *libcxxabi_headers.zip
2def4b7386e49bd658dd4f2f147710525423bb5cd3811394af0cf2b5047045ea *mksnapshot-v32.2.7-linux-ppc64le.zip

6
electron_linux_riscv64.sh Executable file
View File

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

View File

@@ -0,0 +1,11 @@
26a3b6958d4b88f8b436b429aa7702d5d3af58ce892fe985c8fd68156e0b33d6 *chromedriver-v32.2.7-linux-riscv64.zip
3b1e9b38a722a32c7127a9646b37366ebe20470fbedf17c94e2dd7e388046c26 *electron-v32.2.7-linux-riscv64-debug.tar.zst
e9b4738bfd9aa0a9a98ee626e760f230730655bb02185a90a246ba6398c52db3 *electron-v32.2.7-linux-riscv64-symbols.tar.zst
e71a432a4e03458b71d2428c812d3119658b61941a59b60d346d281b5c29f827 *electron-v32.2.7-linux-riscv64.zip
51982b096a16b6546941710225fd21855a3fe3b83ec0bf69a4b048d9995ddd19 *ffmpeg-v32.2.7-linux-riscv64.zip
5455ce9b9a98b349ad95050ca643bfc5312cf4636dd5ec62d475d1a07b2a35a5 *hunspell-dictionaries.zip
4f0abd2517c30de0fc3ddcaa881460924b87c6a48e28cffa41e1050e201b17e5 *libcxx-headers.zip
3477a9c568c8c65e5a142a2b4408aec19edda2de9ba303e4aec77eef41aeea10 *libcxx-objects-v32.2.7-linux-riscv64.zip
01ff628652bc485ce6bf41b975e15339b246771f5f9d1de79ba24d79a00e840a *libcxxabi-headers.zip
8d47b32d2cd3d57fab542de097a10f5f632a958902172a8993fe390a6089f778 *mksnapshot-v32.2.7-linux-riscv64.zip
29229408ca301a90be7f7862ac3efec932b198105c44e668f1b3eb6bf043198e *node-v32.2.7-headers.tar.gz

11
include_osx.gypi Normal file
View File

@@ -0,0 +1,11 @@
{
'target_defaults': {
'conditions': [
['OS=="mac"', {
'xcode_settings': {
'OTHER_CPLUSPLUSFLAGS': ['-std=c++20']
}
}]
]
}
}

View File

@@ -1,4 +1,4 @@
{
"tag": "1.93.0",
"commit": "5b066ec2e30cf46bc636d6d27af5404713f6b0f8"
"tag": "1.96.0",
"commit": "475acb4b9bdd77d4204224990bf288ed5bfe6b0e"
}

View File

@@ -4,9 +4,10 @@ set -ex
GH_ARCH="amd64"
VERSION=$( curl --retry 12 --retry-delay 30 "https://api.github.com/repos/cli/cli/releases/latest" | grep '"tag_name"' | sed -E 's/.*"([^"]+)".*/\1/' | cut -c2- )
TAG=$( curl --retry 12 --retry-delay 30 "https://api.github.com/repos/cli/cli/releases/latest" | jq --raw-output '.tag_name' )
VERSION=${TAG#v}
curl --retry 12 --retry-delay 120 -sSL "https://github.com/cli/cli/releases/download/v${VERSION}/gh_${VERSION}_linux_${GH_ARCH}.tar.gz" -o "gh_${VERSION}_linux_${GH_ARCH}.tar.gz"
curl --retry 12 --retry-delay 120 -sSL "https://github.com/cli/cli/releases/download/${TAG}/gh_${VERSION}_linux_${GH_ARCH}.tar.gz" -o "gh_${VERSION}_linux_${GH_ARCH}.tar.gz"
tar xf "gh_${VERSION}_linux_${GH_ARCH}.tar.gz"

View File

@@ -13,27 +13,49 @@ 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'
if [[ "${VSCODE_ARCH}" == "ppc64le" ]]; then
export VSCODE_SYSROOT_REPO='VSCodium/vscode-linux-build-agent'
if [[ "${VSCODE_ARCH}" == "arm64" || "${VSCODE_ARCH}" == "armhf" ]]; then
export VSCODE_SKIP_SYSROOT=1
export USE_GNUPP2A=1
elif [[ "${VSCODE_ARCH}" == "ppc64le" ]]; then
export VSCODE_SYSROOT_REPOSITORY='VSCodium/vscode-linux-build-agent'
export VSCODE_SYSROOT_VERSION='20240129-253798'
export VSCODE_SYSROOT_PREFIX='-glibc-2.28'
fi
if [[ "${VSCODE_ARCH}" == "riscv64" ]]; then
export VSCODE_ELECTRON_REPO='riscv-forks/electron-riscv-releases'
export USE_GNUPP2A=1
export ELECTRON_SKIP_BINARY_DOWNLOAD=1
export PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD=1
export VSCODE_SKIP_SETUPENV=1
export VSCODE_ELECTRON_REPOSITORY='lex-ibm/electron-ppc64le-build-scripts'
elif [[ "${VSCODE_ARCH}" == "riscv64" ]]; then
export VSCODE_ELECTRON_REPOSITORY='riscv-forks/electron-riscv-releases'
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
source ../electron.riscv64.sh
if [[ -f "../electron_linux_${VSCODE_ARCH}.sh" ]]; then
# add newline at the end of the file
echo "" >> build/checksums/electron.txt
if [[ "${ELECTRON_VERSION}" != "$(yarn config get target)" ]]; then
if [[ -f "../electron_linux_${VSCODE_ARCH}.sha256sums" ]]; then
cat "../electron_linux_${VSCODE_ARCH}.sha256sums" >> build/checksums/electron.txt
fi
# shellcheck disable=SC1090
source "../electron_linux_${VSCODE_ARCH}.sh"
if [[ "${ELECTRON_VERSION}" != "$( yarn config get target )" ]]; then
# Fail the pipeline if electron target doesn't match what is used.
# Look for releases here if electron version used by vscode changed:
# https://github.com/riscv-forks/electron-riscv-releases/releases
echo "Electron RISC-V binary version doesn't match target electron version!"
echo "Electron ${VSCODE_ARCH} binary version doesn't match target electron version!"
echo "Releases available at: https://github.com/${VSCODE_ELECTRON_REPOSITORY}/releases"
exit 1
fi
fi
@@ -50,6 +72,28 @@ if [[ -d "../patches/linux/client/" ]]; then
done
fi
if [[ -n "${USE_GNUPP2A}" ]]; then
INCLUDES=$(cat <<EOF
{
"target_defaults": {
"conditions": [
["OS=='linux'", {
'cflags_cc!': [ '-std=gnu++20' ],
'cflags_cc': [ '-std=gnu++2a' ],
}]
]
}
}
EOF
)
if [ ! -d "$HOME/.gyp" ]; then
mkdir -p "$HOME/.gyp"
fi
echo "${INCLUDES}" > "$HOME/.gyp/include.gypi"
fi
for i in {1..5}; do # try 5 times
npm ci --prefix build && break
if [[ $i == 3 ]]; then
@@ -59,10 +103,12 @@ for i in {1..5}; do # try 5 times
echo "Npm install failed $i, trying again..."
done
if [[ "${VSCODE_ARCH}" == "ppc64le" ]]; then
source ./build/azure-pipelines/linux/setup-env.sh
else
./build/azure-pipelines/linux/setup-env.sh
if [[ -z "${VSCODE_SKIP_SETUPENV}" ]]; then
if [[ -n "${VSCODE_SKIP_SYSROOT}" ]]; then
source ./build/azure-pipelines/linux/setup-env.sh --skip-sysroot
else
source ./build/azure-pipelines/linux/setup-env.sh
fi
fi
for i in {1..5}; do # try 5 times
@@ -78,6 +124,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

@@ -15,15 +15,61 @@ tar -xzf ./vscode.tar.gz
cd vscode || { echo "'vscode' dir not found"; exit 1; }
GLIBC_VERSION="2.17"
GLIBCXX_VERSION="3.4.22"
NODE_VERSION="16.20.2"
GLIBC_VERSION="2.28"
GLIBCXX_VERSION="3.4.26"
NODE_VERSION="20.18.1"
if [[ "${VSCODE_ARCH}" == "ppc64le" ]]; then
GLIBC_VERSION="2.28"
export VSCODE_NODEJS_URLROOT='/download/release'
export VSCODE_NODEJS_URLSUFFIX=''
if [[ "${VSCODE_ARCH}" == "x64" ]]; then
GLIBC_VERSION="2.17"
GLIBCXX_VERSION="3.4.22"
VSCODE_REMOTE_DEPENDENCIES_CONTAINER_NAME="vscodium/vscodium-linux-build-agent:centos7-devtoolset8-${VSCODE_ARCH}"
export VSCODE_NODEJS_SITE='https://unofficial-builds.nodejs.org'
export VSCODE_NODEJS_URLSUFFIX='-glibc-217'
elif [[ "${VSCODE_ARCH}" == "arm64" ]]; then
VSCODE_REMOTE_DEPENDENCIES_CONTAINER_NAME="vscodium/vscodium-linux-build-agent:centos7-devtoolset8-${VSCODE_ARCH}"
export VSCODE_SKIP_SYSROOT=1
export USE_GNUPP2A=1
elif [[ "${VSCODE_ARCH}" == "armhf" ]]; then
VSCODE_REMOTE_DEPENDENCIES_CONTAINER_NAME="vscodium/vscodium-linux-build-agent:bionic-devtoolset-arm32v7"
export VSCODE_SKIP_SYSROOT=1
export USE_GNUPP2A=1
elif [[ "${VSCODE_ARCH}" == "ppc64le" ]]; then
VSCODE_REMOTE_DEPENDENCIES_CONTAINER_NAME="vscodium/vscodium-linux-build-agent:bionic-devtoolset-ppc64le"
export ELECTRON_SKIP_BINARY_DOWNLOAD=1
export PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD=1
export VSCODE_SYSROOT_REPOSITORY='VSCodium/vscode-linux-build-agent'
export VSCODE_SYSROOT_VERSION='20240129-253798'
export USE_GNUPP2A=1
elif [[ "${VSCODE_ARCH}" == "riscv64" ]]; then
# Unofficial RISC-V nodejs builds doesn't provide v16.x
NODE_VERSION="18.18.1"
NODE_VERSION="20.16.0"
VSCODE_REMOTE_DEPENDENCIES_CONTAINER_NAME="vscodium/vscodium-linux-build-agent:focal-devtoolset-riscv64"
export ELECTRON_SKIP_BINARY_DOWNLOAD=1
export PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD=1
export VSCODE_SKIP_SETUPENV=1
export VSCODE_NODEJS_SITE='https://unofficial-builds.nodejs.org'
elif [[ "${VSCODE_ARCH}" == "loong64" ]]; then
NODE_VERSION="20.16.0"
VSCODE_REMOTE_DEPENDENCIES_CONTAINER_NAME="vscodium/vscodium-linux-build-agent:trixie-devtoolset-loong64"
export ELECTRON_SKIP_BINARY_DOWNLOAD=1
export PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD=1
export VSCODE_SKIP_SETUPENV=1
export VSCODE_NODEJS_SITE='https://unofficial-builds.nodejs.org'
elif [[ "${VSCODE_ARCH}" == "s390x" ]]; then
VSCODE_REMOTE_DEPENDENCIES_CONTAINER_NAME="vscodium/vscodium-linux-build-agent:focal-devtoolset-s390x"
export ELECTRON_SKIP_BINARY_DOWNLOAD=1
export PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD=1
export VSCODE_SYSROOT_REPOSITORY='VSCodium/vscode-linux-build-agent'
export VSCODE_SYSROOT_VERSION='20241108'
fi
export VSCODE_PLATFORM='linux'
@@ -33,33 +79,10 @@ export VSCODE_SYSROOT_PREFIX="-glibc-${GLIBC_VERSION}"
VSCODE_HOST_MOUNT="$( pwd )"
export VSCODE_HOST_MOUNT
if [[ "${VSCODE_ARCH}" == "x64" || "${VSCODE_ARCH}" == "arm64" ]]; then
VSCODE_REMOTE_DEPENDENCIES_CONTAINER_NAME="vscodium/vscodium-linux-build-agent:centos7-devtoolset8-${VSCODE_ARCH}"
elif [[ "${VSCODE_ARCH}" == "armhf" ]]; then
VSCODE_REMOTE_DEPENDENCIES_CONTAINER_NAME="vscodium/vscodium-linux-build-agent:bionic-devtoolset-arm32v7"
elif [[ "${VSCODE_ARCH}" == "ppc64le" ]]; then
VSCODE_REMOTE_DEPENDENCIES_CONTAINER_NAME="vscodium/vscodium-linux-build-agent:bionic-devtoolset-ppc64le"
export ELECTRON_SKIP_BINARY_DOWNLOAD=1
export PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD=1
export VSCODE_SYSROOT_REPO='VSCodium/vscode-linux-build-agent'
export VSCODE_SYSROOT_VERSION='20240129-253798'
elif [[ "${VSCODE_ARCH}" == "riscv64" ]]; then
VSCODE_REMOTE_DEPENDENCIES_CONTAINER_NAME="vscodium/vscodium-linux-build-agent:focal-devtoolset-riscv64"
export ELECTRON_SKIP_BINARY_DOWNLOAD=1
export PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD=1
fi
export VSCODE_REMOTE_DEPENDENCIES_CONTAINER_NAME
sed -i "/target/s/\"20.*\"/\"${NODE_VERSION}\"/" remote/.npmrc
if [[ "${NODE_VERSION}" != 16* ]]; then
if [[ -f "../patches/linux/reh/node16.patch" ]]; then
mv "../patches/linux/reh/node16.patch" "../patches/linux/reh/node16.patch.no"
fi
fi
if [[ -d "../patches/linux/reh/" ]]; then
for file in "../patches/linux/reh/"*.patch; do
if [[ -f "${file}" ]]; then
@@ -72,6 +95,40 @@ if [[ -d "../patches/linux/reh/" ]]; then
done
fi
if [[ -d "../patches/linux/reh/${VSCODE_ARCH}/" ]]; then
for file in "../patches/linux/reh/${VSCODE_ARCH}/"*.patch; do
if [[ -f "${file}" ]]; then
echo applying patch: "${file}";
if ! git apply --ignore-whitespace "${file}"; then
echo failed to apply patch "${file}" >&2
exit 1
fi
fi
done
fi
if [[ -n "${USE_GNUPP2A}" ]]; then
INCLUDES=$(cat <<EOF
{
"target_defaults": {
"conditions": [
["OS=='linux'", {
'cflags_cc!': [ '-std=gnu++20' ],
'cflags_cc': [ '-std=gnu++2a' ],
}]
]
}
}
EOF
)
if [ ! -d "${HOME}/.gyp" ]; then
mkdir -p "${HOME}/.gyp"
fi
echo "${INCLUDES}" > "${HOME}/.gyp/include.gypi"
fi
for i in {1..5}; do # try 5 times
npm ci --prefix build && break
if [[ $i == 3 ]]; then
@@ -81,10 +138,12 @@ for i in {1..5}; do # try 5 times
echo "Npm install failed $i, trying again..."
done
if [[ "${VSCODE_ARCH}" == "ppc64le" ]]; then
source ./build/azure-pipelines/linux/setup-env.sh
else
./build/azure-pipelines/linux/setup-env.sh --only-remote
if [[ -z "${VSCODE_SKIP_SETUPENV}" ]]; then
if [[ -n "${VSCODE_SKIP_SYSROOT}" ]]; then
source ./build/azure-pipelines/linux/setup-env.sh --skip-sysroot
else
source ./build/azure-pipelines/linux/setup-env.sh
fi
fi
for i in {1..5}; do # try 5 times
@@ -107,9 +166,15 @@ if [[ "${SHOULD_BUILD_REH}" != "no" ]]; then
EXPECTED_GLIBC_VERSION="${GLIBC_VERSION}" EXPECTED_GLIBCXX_VERSION="${GLIBCXX_VERSION}" SEARCH_PATH="../vscode-reh-${VSCODE_PLATFORM}-${VSCODE_ARCH}" ./build/azure-pipelines/linux/verify-glibc-requirements.sh
echo "Archiving REH"
pushd "../vscode-reh-${VSCODE_PLATFORM}-${VSCODE_ARCH}"
if [[ -f "../ripgrep_${VSCODE_PLATFORM}_${VSCODE_ARCH}.sh" ]]; then
bash "../ripgrep_${VSCODE_PLATFORM}_${VSCODE_ARCH}.sh" "node_modules"
fi
echo "Archiving REH"
tar czf "../assets/${APP_NAME_LC}-reh-${VSCODE_PLATFORM}-${VSCODE_ARCH}-${RELEASE_VERSION}.tar.gz" .
popd
fi
@@ -120,9 +185,15 @@ if [[ "${SHOULD_BUILD_REH_WEB}" != "no" ]]; then
EXPECTED_GLIBC_VERSION="${GLIBC_VERSION}" EXPECTED_GLIBCXX_VERSION="${GLIBCXX_VERSION}" SEARCH_PATH="../vscode-reh-web-${VSCODE_PLATFORM}-${VSCODE_ARCH}" ./build/azure-pipelines/linux/verify-glibc-requirements.sh
echo "Archiving REH-web"
pushd "../vscode-reh-web-${VSCODE_PLATFORM}-${VSCODE_ARCH}"
if [[ -f "../ripgrep_${VSCODE_PLATFORM}_${VSCODE_ARCH}.sh" ]]; then
bash "../ripgrep_${VSCODE_PLATFORM}_${VSCODE_ARCH}.sh" "node_modules"
fi
echo "Archiving REH-web"
tar czf "../assets/${APP_NAME_LC}-reh-web-${VSCODE_PLATFORM}-${VSCODE_ARCH}-${RELEASE_VERSION}.tar.gz" .
popd
fi

43
package_windows.sh Executable file
View File

@@ -0,0 +1,43 @@
#!/usr/bin/env bash
# shellcheck disable=SC1091
set -ex
if [[ "${CI_BUILD}" == "no" ]]; then
exit 1
fi
tar -xzf ./vscode.tar.gz
cd vscode || { echo "'vscode' dir not found"; exit 1; }
for i in {1..5}; do # try 5 times
npm ci && break
if [[ $i -eq 3 ]]; then
echo "Npm install failed too many times" >&2
exit 1
fi
echo "Npm install failed $i, trying again..."
done
node build/azure-pipelines/distro/mixin-npm
. ../build/windows/rtf/make.sh
yarn gulp "vscode-win32-${VSCODE_ARCH}-min-ci"
if [[ "${VSCODE_ARCH}" == "x64" ]]; then
if [[ "${SHOULD_BUILD_REH}" != "no" ]]; then
echo "Building REH"
yarn gulp minify-vscode-reh
yarn gulp "vscode-reh-win32-${VSCODE_ARCH}-min-ci"
fi
if [[ "${SHOULD_BUILD_REH_WEB}" != "no" ]]; then
echo "Building REH-web"
yarn gulp minify-vscode-reh-web
yarn gulp "vscode-reh-web-win32-${VSCODE_ARCH}-min-ci"
fi
fi
cd ..

View File

@@ -1,28 +1,51 @@
#!/usr/bin/env bash
set -e
echo "$#"
cd vscode || { echo "'vscode' dir not found"; exit 1; }
git add .
git reset -q --hard HEAD
while [[ -n "$( git log -1 | grep "VSCODIUM HELPER" )" ]]; do
git reset -q --hard HEAD~
done
git apply --reject "../patches/helper/settings.patch"
while [ $# -gt 1 ]; do
echo "Parameter: $1"
if [[ "${1}" == *patch ]]; then
FILE="../patches/${1}"
else
FILE="../patches/${1}.patch"
fi
git apply --reject "${FILE}"
shift
done
git add .
git commit -q -m "VSCODIUM HELPER" --no-verify
if [[ "${1}" == *patch ]]; then
FILE="../patches/${1}"
else
FILE="../patches/${1}.patch"
fi
cd vscode || { echo "'vscode' dir not found"; exit 1; }
git add .
git reset -q --hard HEAD
if [[ -f "${FILE}" ]]; then
git apply --reject "${FILE}"
fi
git apply --reject "../patches/helper/settings.patch"
read -rp "Press any key when the conflict have been resolved..." -n1 -s
git restore .vscode/settings.json
git add .
git diff --staged -U1 > "${FILE}"
git reset -q --hard HEAD~
cd ..

View File

@@ -62,7 +62,7 @@ index 1be4d0e..73a8f3e 100644
-export const redundantImplicitActivationEvent = l10n.t("This activation event can be removed as VS Code generates these automatically from your package.json contribution declarations.");
+export const redundantImplicitActivationEvent = l10n.t("This activation event can be removed as VSCodium generates these automatically from your package.json contribution declarations.");
diff --git a/extensions/extension-editing/src/extensionLinter.ts b/extensions/extension-editing/src/extensionLinter.ts
index b69dac0..293e866 100644
index be7eea1..389e89e 100644
--- a/extensions/extension-editing/src/extensionLinter.ts
+++ b/extensions/extension-editing/src/extensionLinter.ts
@@ -34,4 +34,4 @@ const relativeUrlRequiresHttpsRepository = l10n.t("Relative image URLs require a
@@ -73,37 +73,37 @@ index b69dac0..293e866 100644
+const bumpEngineForImplicitActivationEvents = l10n.t("This activation event can be removed for extensions targeting engine version ^1.75 as VSCodium will generate these automatically from your package.json contribution declarations.");
const starActivation = l10n.t("Using '*' activation is usually a bad idea as it impacts performance.");
diff --git a/extensions/git/package.nls.json b/extensions/git/package.nls.json
index bad361b..300261a 100644
index d706b65..fb24421 100644
--- a/extensions/git/package.nls.json
+++ b/extensions/git/package.nls.json
@@ -221,3 +221,3 @@
@@ -223,3 +223,3 @@
"{Locked='](command:git.showOutput'}",
- "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VS Code",
+ "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VSCodium",
"Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links"
@@ -249,4 +249,4 @@
@@ -251,4 +251,4 @@
"config.showCommitInput": "Controls whether to show the commit input in the Git source control panel.",
- "config.terminalAuthentication": "Controls whether to enable VS Code to be the authentication handler for Git processes spawned in the Integrated Terminal. Note: Terminals need to be restarted to pick up a change in this setting.",
- "config.terminalGitEditor": "Controls whether to enable VS Code to be the Git editor for Git processes spawned in the integrated terminal. Note: Terminals need to be restarted to pick up a change in this setting.",
+ "config.terminalAuthentication": "Controls whether to enable VSCodium to be the authentication handler for Git processes spawned in the Integrated Terminal. Note: Terminals need to be restarted to pick up a change in this setting.",
+ "config.terminalGitEditor": "Controls whether to enable VSCodium to be the Git editor for Git processes spawned in the integrated terminal. Note: Terminals need to be restarted to pick up a change in this setting.",
"config.timeline.showAuthor": "Controls whether to show the commit author in the Timeline view.",
@@ -305,3 +305,3 @@
@@ -312,3 +312,3 @@
"{Locked='](command:workbench.action.reloadWindow'}",
- "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VS Code",
+ "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VSCodium",
"Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links"
@@ -313,3 +313,3 @@
@@ -320,3 +320,3 @@
"{Locked='](command:workbench.action.reloadWindow'}",
- "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VS Code",
+ "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VSCodium",
"Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links"
@@ -321,3 +321,3 @@
@@ -328,3 +328,3 @@
"{Locked='](command:workbench.action.reloadWindow'}",
- "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VS Code",
+ "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VSCodium",
"Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links"
@@ -327,6 +327,6 @@
@@ -334,6 +334,6 @@
"view.workbench.scm.disabled": {
- "message": "If you would like to use Git features, please enable Git in your [settings](command:workbench.action.openSettings?%5B%22git.enabled%22%5D).\nTo learn more about how to use Git and source control in VS Code [read our docs](https://aka.ms/vscode-scm).",
+ "message": "If you would like to use Git features, please enable Git in your [settings](command:workbench.action.openSettings?%5B%22git.enabled%22%5D).\nTo learn more about how to use Git and source control in VSCodium [read our docs](https://aka.ms/vscode-scm).",
@@ -112,7 +112,7 @@ index bad361b..300261a 100644
- "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VS Code",
+ "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VSCodium",
"Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links"
@@ -335,6 +335,6 @@
@@ -342,6 +342,6 @@
"view.workbench.scm.empty": {
- "message": "In order to use Git features, you can open a folder containing a Git repository or clone from a URL.\n[Open Folder](command:vscode.openFolder)\n[Clone Repository](command:git.clone)\nTo learn more about how to use Git and source control in VS Code [read our docs](https://aka.ms/vscode-scm).",
+ "message": "In order to use Git features, you can open a folder containing a Git repository or clone from a URL.\n[Open Folder](command:vscode.openFolder)\n[Clone Repository](command:git.clone)\nTo learn more about how to use Git and source control in VSCodium [read our docs](https://aka.ms/vscode-scm).",
@@ -121,7 +121,7 @@ index bad361b..300261a 100644
- "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VS Code",
+ "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VSCodium",
"Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links"
@@ -343,6 +343,6 @@
@@ -350,6 +350,6 @@
"view.workbench.scm.folder": {
- "message": "The folder currently open doesn't have a Git repository. You can initialize a repository which will enable source control features powered by Git.\n[Initialize Repository](command:git.init?%5Btrue%5D)\nTo learn more about how to use Git and source control in VS Code [read our docs](https://aka.ms/vscode-scm).",
+ "message": "The folder currently open doesn't have a Git repository. You can initialize a repository which will enable source control features powered by Git.\n[Initialize Repository](command:git.init?%5Btrue%5D)\nTo learn more about how to use Git and source control in VSCodium [read our docs](https://aka.ms/vscode-scm).",
@@ -130,7 +130,7 @@ index bad361b..300261a 100644
- "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VS Code",
+ "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VSCodium",
"Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links"
@@ -351,6 +351,6 @@
@@ -358,6 +358,6 @@
"view.workbench.scm.workspace": {
- "message": "The workspace currently open doesn't have any folders containing Git repositories. You can initialize a repository on a folder which will enable source control features powered by Git.\n[Initialize Repository](command:git.init)\nTo learn more about how to use Git and source control in VS Code [read our docs](https://aka.ms/vscode-scm).",
+ "message": "The workspace currently open doesn't have any folders containing Git repositories. You can initialize a repository on a folder which will enable source control features powered by Git.\n[Initialize Repository](command:git.init)\nTo learn more about how to use Git and source control in VSCodium [read our docs](https://aka.ms/vscode-scm).",
@@ -139,7 +139,7 @@ index bad361b..300261a 100644
- "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VS Code",
+ "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VSCodium",
"Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links"
@@ -359,6 +359,6 @@
@@ -366,6 +366,6 @@
"view.workbench.scm.emptyWorkspace": {
- "message": "The workspace currently open doesn't have any folders containing Git repositories.\n[Add Folder to Workspace](command:workbench.action.addRootFolder)\nTo learn more about how to use Git and source control in VS Code [read our docs](https://aka.ms/vscode-scm).",
+ "message": "The workspace currently open doesn't have any folders containing Git repositories.\n[Add Folder to Workspace](command:workbench.action.addRootFolder)\nTo learn more about how to use Git and source control in VSCodium [read our docs](https://aka.ms/vscode-scm).",
@@ -148,27 +148,27 @@ index bad361b..300261a 100644
- "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VS Code",
+ "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VSCodium",
"Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links"
@@ -377,3 +377,3 @@
@@ -384,3 +384,3 @@
"{Locked='](command:workbench.action.openSettings?%5B%22git.openRepositoryInParentFolders%22%5D'}",
- "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VS Code",
+ "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VSCodium",
"Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links"
@@ -386,3 +386,3 @@
@@ -393,3 +393,3 @@
"{Locked='](command:workbench.action.openSettings?%5B%22git.openRepositoryInParentFolders%22%5D'}",
- "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VS Code",
+ "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VSCodium",
"Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links"
@@ -394,3 +394,3 @@
@@ -401,3 +401,3 @@
"{Locked='](command:git.manageUnsafeRepositories'}",
- "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VS Code",
+ "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VSCodium",
"Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links"
@@ -402,3 +402,3 @@
@@ -409,3 +409,3 @@
"{Locked='](command:git.manageUnsafeRepositories'}",
- "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VS Code",
+ "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VSCodium",
"Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links"
@@ -407,6 +407,6 @@
@@ -414,6 +414,6 @@
"view.workbench.scm.closedRepository": {
- "message": "A Git repository was found that was previously closed.\n[Reopen Closed Repository](command:git.reopenClosedRepositories)\nTo learn more about how to use Git and source control in VS Code [read our docs](https://aka.ms/vscode-scm).",
+ "message": "A Git repository was found that was previously closed.\n[Reopen Closed Repository](command:git.reopenClosedRepositories)\nTo learn more about how to use Git and source control in VSCodium [read our docs](https://aka.ms/vscode-scm).",
@@ -177,7 +177,7 @@ index bad361b..300261a 100644
- "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VS Code",
+ "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VSCodium",
"Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links"
@@ -415,6 +415,6 @@
@@ -422,6 +422,6 @@
"view.workbench.scm.closedRepositories": {
- "message": "Git repositories were found that were previously closed.\n[Reopen Closed Repositories](command:git.reopenClosedRepositories)\nTo learn more about how to use Git and source control in VS Code [read our docs](https://aka.ms/vscode-scm).",
+ "message": "Git repositories were found that were previously closed.\n[Reopen Closed Repositories](command:git.reopenClosedRepositories)\nTo learn more about how to use Git and source control in VSCodium [read our docs](https://aka.ms/vscode-scm).",
@@ -186,12 +186,12 @@ index bad361b..300261a 100644
- "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VS Code",
+ "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VSCodium",
"Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links"
@@ -426,3 +426,3 @@
@@ -433,3 +433,3 @@
"{Locked='](command:git.clone'}",
- "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VS Code",
+ "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VSCodium",
"Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links"
@@ -430,3 +430,3 @@
@@ -437,3 +437,3 @@
},
- "view.workbench.learnMore": "To learn more about how to use Git and source control in VS Code [read our docs](https://aka.ms/vscode-scm)."
+ "view.workbench.learnMore": "To learn more about how to use Git and source control in VSCodium [read our docs](https://aka.ms/vscode-scm)."
@@ -359,30 +359,34 @@ index b18b340..ca2eb2d 100644
+ "comment": "The simpler (?<=\\bProcess\\.|\\bCommandLine\\.) breaks VSCodium / Atom, see https://github.com/textmate/swift.tmbundle/issues/29",
"name": "support.variable.swift",
diff --git a/extensions/typescript-language-features/package.nls.json b/extensions/typescript-language-features/package.nls.json
index d9c4ddb..4f0516c 100644
index 1e5ca17..ef1e18d 100644
--- a/extensions/typescript-language-features/package.nls.json
+++ b/extensions/typescript-language-features/package.nls.json
@@ -75,4 +75,4 @@
"configuration.tsserver.experimental.enableProjectDiagnostics": "(Experimental) Enables project wide error reporting.",
"configuration.tsserver.experimental.enableProjectDiagnostics": "Enables project wide error reporting.",
- "typescript.locale": "Sets the locale used to report JavaScript and TypeScript errors. Defaults to use VS Code's locale.",
- "typescript.locale.auto": "Use VS Code's configured display language",
- "typescript.locale.auto": "Use VS Code's configured display language.",
+ "typescript.locale": "Sets the locale used to report JavaScript and TypeScript errors. Defaults to use VSCodium's locale.",
+ "typescript.locale.auto": "Use VSCodium's configured display language",
+ "typescript.locale.auto": "Use VSCodium's configured display language.",
"configuration.implicitProjectConfig.module": "Sets the module system for the program. See more: https://www.typescriptlang.org/tsconfig#module.",
@@ -160,3 +160,3 @@
"typescript.workspaceSymbols.excludeLibrarySymbols": "Exclude symbols that come from library files in Go to Symbol in Workspace results. Requires using TypeScript 5.3+ in the workspace.",
"typescript.workspaceSymbols.excludeLibrarySymbols": "Exclude symbols that come from library files in `Go to Symbol in Workspace` results. Requires using TypeScript 5.3+ in the workspace.",
- "typescript.updateImportsOnFileMove.enabled": "Enable/disable automatic updating of import paths when you rename or move a file in VS Code.",
+ "typescript.updateImportsOnFileMove.enabled": "Enable/disable automatic updating of import paths when you rename or move a file in VSCodium.",
"typescript.updateImportsOnFileMove.enabled.prompt": "Prompt on each rename.",
@@ -166,5 +166,5 @@
@@ -166,8 +166,8 @@
"typescript.suggest.enabled": "Enabled/disable autocomplete suggestions.",
- "configuration.surveys.enabled": "Enabled/disable occasional surveys that help us improve VS Code's JavaScript and TypeScript support.",
+ "configuration.surveys.enabled": "Enabled/disable occasional surveys that help us improve VSCodium's JavaScript and TypeScript support.",
"configuration.suggest.completeJSDocs": "Enable/disable suggestion to complete JSDoc comments.",
- "configuration.tsserver.useVsCodeWatcher": "Use VS Code's file watchers instead of TypeScript's. Requires using TypeScript 5.4+ in the workspace.",
+ "configuration.tsserver.useVsCodeWatcher": "Use VSCodium's file watchers instead of TypeScript's. Requires using TypeScript 5.4+ in the workspace.",
"configuration.tsserver.useVsCodeWatcher.deprecation": "Please use the `#typescript.tsserver.watchOptions#` setting instead.",
"configuration.tsserver.watchOptions": "Configure which watching strategies should be used to keep track of files and directories.",
@@ -234,6 +234,6 @@
- "configuration.tsserver.watchOptions.vscode": "Use VS Code's file watchers instead of TypeScript's. Requires using TypeScript 5.4+ in the workspace.",
+ "configuration.tsserver.watchOptions.vscode": "Use VSCodium's file watchers instead of TypeScript's. Requires using TypeScript 5.4+ in the workspace.",
"configuration.tsserver.watchOptions.watchFile": "Strategy for how individual files are watched.",
@@ -222,6 +222,6 @@
"configuration.suggest.objectLiteralMethodSnippets.enabled": "Enable/disable snippet completions for methods in object literals.",
- "configuration.tsserver.web.projectWideIntellisense.enabled": "Enable/disable project-wide IntelliSense on web. Requires that VS Code is running in a trusted context.",
+ "configuration.tsserver.web.projectWideIntellisense.enabled": "Enable/disable project-wide IntelliSense on web. Requires that VSCodium is running in a trusted context.",
@@ -390,16 +394,24 @@ index d9c4ddb..4f0516c 100644
"configuration.tsserver.web.typeAcquisition.enabled": "Enable/disable package acquisition on the web. This enables IntelliSense for imported packages. Requires `#typescript.tsserver.web.projectWideIntellisense.enabled#`. Currently not supported for Safari.",
- "configuration.tsserver.nodePath": "Run TS Server on a custom Node installation. This can be a path to a Node executable, or 'node' if you want VS Code to detect a Node installation.",
+ "configuration.tsserver.nodePath": "Run TS Server on a custom Node installation. This can be a path to a Node executable, or 'node' if you want VSCodium to detect a Node installation.",
"configuration.updateImportsOnPaste": "Automatically update imports when pasting code. Requires TypeScript 5.6+.",
@@ -249,6 +249,6 @@
"configuration.updateImportsOnPaste": "Enable updating imports when pasting code. Requires TypeScript 5.7+.\n\nBy default this shows a option to update imports after pasting. You can use the `#editor.pasteAs.preferences#` setting to update imports automatically when pasting: `\"editor.pasteAs.preferences\": [ \"text.updateImports.jsts\" ]`.",
@@ -229,3 +229,3 @@
"walkthroughs.nodejsWelcome.title": "Get started with JavaScript and Node.js",
- "walkthroughs.nodejsWelcome.description": "Make the most of Visual Studio Code's first-class JavaScript experience.",
+ "walkthroughs.nodejsWelcome.description": "Make the most of VSCodium's first-class JavaScript experience.",
"walkthroughs.nodejsWelcome.downloadNode.forMacOrWindows.title": "Install Node.js",
@@ -237,7 +237,7 @@
"walkthroughs.nodejsWelcome.debugJsFile.title": "Run and Debug your JavaScript",
- "walkthroughs.nodejsWelcome.debugJsFile.description": "Once you've installed Node.js, you can run JavaScript programs at a terminal by entering ``node your-file-name.js``\nAnother easy way to run Node.js programs is by using VS Code's debugger which lets you run your code, pause at different points, and help you understand what's going on step-by-step.\n[Start Debugging](command:javascript-walkthrough.commands.debugJsFile)",
- "walkthroughs.nodejsWelcome.debugJsFile.altText": "Debug and run your JavaScript code in Node.js with Visual Studio Code.",
+ "walkthroughs.nodejsWelcome.debugJsFile.description": "Once you've installed Node.js, you can run JavaScript programs at a terminal by entering ``node your-file-name.js``\nAnother easy way to run Node.js programs is by using VSCodium's debugger which lets you run your code, pause at different points, and help you understand what's going on step-by-step.\n[Start Debugging](command:javascript-walkthrough.commands.debugJsFile)",
"walkthroughs.nodejsWelcome.debugJsFile.altText": "Debug and run your JavaScript code in Node.js with Visual Studio Code.",
+ "walkthroughs.nodejsWelcome.debugJsFile.altText": "Debug and run your JavaScript code in Node.js with VSCodium.",
"walkthroughs.nodejsWelcome.learnMoreAboutJs.title": "Explore More",
- "walkthroughs.nodejsWelcome.learnMoreAboutJs.description": "Want to get more comfortable with JavaScript, Node.js, and VS Code? Be sure to check out our docs!\nWe've got lots of resources for learning [JavaScript](https://code.visualstudio.com/docs/nodejs/working-with-javascript) and [Node.js](https://code.visualstudio.com/docs/nodejs/nodejs-tutorial).\n\n[Learn More](https://code.visualstudio.com/docs/nodejs/nodejs-tutorial)",
- "walkthroughs.nodejsWelcome.learnMoreAboutJs.altText": "Learn more about JavaScript and Node.js in Visual Studio Code."
+ "walkthroughs.nodejsWelcome.learnMoreAboutJs.description": "Want to get more comfortable with JavaScript, Node.js, and VSCodium? Be sure to check out our docs!\nWe've got lots of resources for learning [JavaScript](https://code.visualstudio.com/docs/nodejs/working-with-javascript) and [Node.js](https://code.visualstudio.com/docs/nodejs/nodejs-tutorial).\n\n[Learn More](https://code.visualstudio.com/docs/nodejs/nodejs-tutorial)",
"walkthroughs.nodejsWelcome.learnMoreAboutJs.altText": "Learn more about JavaScript and Node.js in Visual Studio Code."
+ "walkthroughs.nodejsWelcome.learnMoreAboutJs.altText": "Learn more about JavaScript and Node.js in VSCodium."
}
diff --git a/extensions/typescript-language-features/src/tsServer/versionManager.ts b/extensions/typescript-language-features/src/tsServer/versionManager.ts
index 43a2413..277a089 100644
--- a/extensions/typescript-language-features/src/tsServer/versionManager.ts
@@ -428,26 +440,26 @@ index e85c715..9059335 100644
+ vscode.l10n.t("Please open a folder in VSCodium to use a TypeScript or JavaScript project"));
return;
diff --git a/extensions/typescript-language-features/src/typescriptServiceClient.ts b/extensions/typescript-language-features/src/typescriptServiceClient.ts
index a1f06a3..4d04671 100644
index 7e18022..1243c69 100644
--- a/extensions/typescript-language-features/src/typescriptServiceClient.ts
+++ b/extensions/typescript-language-features/src/typescriptServiceClient.ts
@@ -664,3 +664,3 @@ export default class TypeScriptServiceClient extends Disposable implements IType
@@ -665,3 +665,3 @@ export default class TypeScriptServiceClient extends Disposable implements IType
prompt = vscode.window.showErrorMessage<vscode.MessageItem>(
- vscode.l10n.t("The JS/TS language service immediately crashed 5 times. The service will not be restarted.\nThis may be caused by a plugin contributed by one of these extensions: {0}.\nPlease try disabling these extensions before filing an issue against VS Code.", pluginExtensionList));
+ vscode.l10n.t("The JS/TS language service immediately crashed 5 times. The service will not be restarted.\nThis may be caused by a plugin contributed by one of these extensions: {0}.\nPlease try disabling these extensions before filing an issue against VSCodium.", pluginExtensionList));
} else {
@@ -685,3 +685,3 @@ export default class TypeScriptServiceClient extends Disposable implements IType
@@ -686,3 +686,3 @@ export default class TypeScriptServiceClient extends Disposable implements IType
prompt = vscode.window.showWarningMessage<vscode.MessageItem>(
- vscode.l10n.t("The JS/TS language service crashed 5 times in the last 5 Minutes.\nThis may be caused by a plugin contributed by one of these extensions: {0}\nPlease try disabling these extensions before filing an issue against VS Code.", pluginExtensionList));
+ vscode.l10n.t("The JS/TS language service crashed 5 times in the last 5 Minutes.\nThis may be caused by a plugin contributed by one of these extensions: {0}\nPlease try disabling these extensions before filing an issue against VSCodium.", pluginExtensionList));
} else {
@@ -699,3 +699,3 @@ export default class TypeScriptServiceClient extends Disposable implements IType
@@ -700,3 +700,3 @@ export default class TypeScriptServiceClient extends Disposable implements IType
prompt = vscode.window.showWarningMessage<vscode.MessageItem>(
- vscode.l10n.t("The JS/TS language service crashed.\nThis may be caused by a plugin contributed by one of these extensions: {0}.\nPlease try disabling these extensions before filing an issue against VS Code.", pluginExtensionList));
+ vscode.l10n.t("The JS/TS language service crashed.\nThis may be caused by a plugin contributed by one of these extensions: {0}.\nPlease try disabling these extensions before filing an issue against VSCodium.", pluginExtensionList));
} else {
diff --git a/extensions/vscode-api-tests/package.json b/extensions/vscode-api-tests/package.json
index 8a1032f..1041fd2 100644
index 5f7681b..58bc70b 100644
--- a/extensions/vscode-api-tests/package.json
+++ b/extensions/vscode-api-tests/package.json
@@ -2,3 +2,3 @@
@@ -491,7 +503,7 @@ index 8ab2171..33fb9e0 100644
+ "description": "Test resolver for VSCodium",
"version": "0.0.1",
diff --git a/extensions/vscode-test-resolver/src/download.ts b/extensions/vscode-test-resolver/src/download.ts
index fa001b5..13abac2 100644
index a351aa7..32bfdb6 100644
--- a/extensions/vscode-test-resolver/src/download.ts
+++ b/extensions/vscode-test-resolver/src/download.ts
@@ -32,3 +32,3 @@ async function downloadVSCodeServerArchive(updateUrl: string, commit: string, qu
@@ -503,32 +515,32 @@ index fa001b5..13abac2 100644
if (res.statusCode !== 302) {
- reject('Failed to get VS Code server archive location');
+ reject('Failed to get VSCodium server archive location');
}
@@ -41,3 +41,3 @@ async function downloadVSCodeServerArchive(updateUrl: string, commit: string, qu
res.resume(); // read the rest of the response data and discard it
@@ -43,3 +43,3 @@ async function downloadVSCodeServerArchive(updateUrl: string, commit: string, qu
if (!archiveUrl) {
- reject('Failed to get VS Code server archive location');
+ reject('Failed to get VSCodium server archive location');
return;
@@ -70,3 +70,3 @@ async function downloadVSCodeServerArchive(updateUrl: string, commit: string, qu
res.resume(); // read the rest of the response data and discard it
@@ -68,3 +68,3 @@ async function downloadVSCodeServerArchive(updateUrl: string, commit: string, qu
/**
- * Unzip a .zip or .tar.gz VS Code archive
+ * Unzip a .zip or .tar.gz VSCodium archive
*/
@@ -104,3 +104,3 @@ export async function downloadAndUnzipVSCodeServer(updateUrl: string, commit: st
@@ -102,3 +102,3 @@ export async function downloadAndUnzipVSCodeServer(updateUrl: string, commit: st
} else {
- log(`Downloading VS Code Server ${quality} - ${commit} into ${extractDir}.`);
+ log(`Downloading VSCodium Server ${quality} - ${commit} into ${extractDir}.`);
try {
@@ -113,3 +113,3 @@ export async function downloadAndUnzipVSCodeServer(updateUrl: string, commit: st
@@ -111,3 +111,3 @@ export async function downloadAndUnzipVSCodeServer(updateUrl: string, commit: st
} catch (err) {
- throw Error(`Failed to download and unzip VS Code ${quality} - ${commit}`);
+ throw Error(`Failed to download and unzip VSCodium ${quality} - ${commit}`);
}
diff --git a/src/vs/code/electron-main/app.ts b/src/vs/code/electron-main/app.ts
index 2942951..86c5653 100644
index 11ca66e..9fc3414 100644
--- a/src/vs/code/electron-main/app.ts
+++ b/src/vs/code/electron-main/app.ts
@@ -532,3 +532,3 @@ export class CodeApplication extends Disposable {
@@ -540,3 +540,3 @@ export class CodeApplication extends Disposable {
async startup(): Promise<void> {
- this.logService.debug('Starting VS Code');
+ this.logService.debug('Starting VSCodium');
@@ -552,34 +564,34 @@ index c256dba..0ae2e47 100644
+export const ProductQualityContext = new RawContextKey<string>('productQualityType', '', localize('productQualityType', "Quality type of VSCodium"));
diff --git a/src/vs/platform/extensionManagement/node/extensionManagementService.ts b/src/vs/platform/extensionManagement/node/extensionManagementService.ts
index 680e0dd..6d4b191 100644
index a55978c..4194925 100644
--- a/src/vs/platform/extensionManagement/node/extensionManagementService.ts
+++ b/src/vs/platform/extensionManagement/node/extensionManagementService.ts
@@ -148,3 +148,3 @@ export class ExtensionManagementService extends AbstractExtensionManagementServi
@@ -151,3 +151,3 @@ export class ExtensionManagementService extends AbstractExtensionManagementServi
if (manifest.engines && manifest.engines.vscode && !isEngineValid(manifest.engines.vscode, this.productService.version, this.productService.date)) {
- throw new Error(nls.localize('incompatible', "Unable to install extension '{0}' as it is not compatible with VS Code '{1}'.", extensionId, this.productService.version));
+ throw new Error(nls.localize('incompatible', "Unable to install extension '{0}' as it is not compatible with VSCodium '{1}'.", extensionId, this.productService.version));
}
@@ -225,3 +225,3 @@ export class ExtensionManagementService extends AbstractExtensionManagementServi
@@ -233,3 +233,3 @@ export class ExtensionManagementService extends AbstractExtensionManagementServi
} catch (e) {
- throw new Error(nls.localize('removeError', "Error while removing the extension: {0}. Please Quit and Start VS Code before trying again.", toErrorMessage(e)));
+ throw new Error(nls.localize('removeError', "Error while removing the extension: {0}. Please Quit and Start VSCodium before trying again.", toErrorMessage(e)));
}
@@ -1006,3 +1006,3 @@ class InstallExtensionInProfileTask extends AbstractExtensionTask<ILocalExtensio
@@ -1047,3 +1047,3 @@ class InstallExtensionInProfileTask extends AbstractExtensionTask<ILocalExtensio
} catch (e) {
- throw new Error(nls.localize('restartCode', "Please restart VS Code before reinstalling {0}.", this.manifest.displayName || this.manifest.name));
+ throw new Error(nls.localize('restartCode', "Please restart VSCodium before reinstalling {0}.", this.manifest.displayName || this.manifest.name));
}
@@ -1017,3 +1017,3 @@ class InstallExtensionInProfileTask extends AbstractExtensionTask<ILocalExtensio
@@ -1058,3 +1058,3 @@ class InstallExtensionInProfileTask extends AbstractExtensionTask<ILocalExtensio
} catch (e) {
- throw new Error(nls.localize('restartCode', "Please restart VS Code before reinstalling {0}.", this.manifest.displayName || this.manifest.name));
+ throw new Error(nls.localize('restartCode', "Please restart VSCodium before reinstalling {0}.", this.manifest.displayName || this.manifest.name));
}
diff --git a/src/vs/platform/extensions/common/extensionValidator.ts b/src/vs/platform/extensions/common/extensionValidator.ts
index 87923dc..c3456ef 100644
index 87a9288..d2b5f3f 100644
--- a/src/vs/platform/extensions/common/extensionValidator.ts
+++ b/src/vs/platform/extensions/common/extensionValidator.ts
@@ -377,5 +377,5 @@ export function areApiProposalsCompatible(apiProposals: string[], arg1?: any): b
@@ -374,5 +374,5 @@ export function areApiProposalsCompatible(apiProposals: string[], arg1?: any): b
if (incompatibleProposals.length === 1) {
- notices.push(nls.localize('apiProposalMismatch1', "This extension is using the API proposal '{0}' that is not compatible with the current version of VS Code.", incompatibleProposals[0]));
+ notices.push(nls.localize('apiProposalMismatch1', "This extension is using the API proposal '{0}' that is not compatible with the current version of VSCodium.", incompatibleProposals[0]));
@@ -640,10 +652,10 @@ index d3f27d3..6a7e37a 100644
+ comment: 'This is used to know how often VSCodium has successfully downloaded the update.';
};
diff --git a/src/vs/server/node/server.cli.ts b/src/vs/server/node/server.cli.ts
index 9314c9d..c3ee8de 100644
index eb68e8a..55fd45f 100644
--- a/src/vs/server/node/server.cli.ts
+++ b/src/vs/server/node/server.cli.ts
@@ -455,3 +455,3 @@ function asExtensionIdOrVSIX(inputs: string[] | undefined) {
@@ -456,3 +456,3 @@ function asExtensionIdOrVSIX(inputs: string[] | undefined) {
function fatal(message: string, err: any): void {
- console.error('Unable to connect to VS Code server: ' + message);
+ console.error('Unable to connect to VSCodium server: ' + message);
@@ -658,7 +670,7 @@ index f5a0648..5333241 100644
+ description: localize({ key: 'vscode.extension.contributes.views.containers.id', comment: ['Contribution refers to those that an extension contributes to VSCodium through an extension/contribution point. '] }, "Unique id used to identify the container in which views can be contributed using 'views' contribution point"),
type: 'string',
diff --git a/src/vs/workbench/api/common/extHostApiCommands.ts b/src/vs/workbench/api/common/extHostApiCommands.ts
index b43b330..aeddf5e 100644
index 8167b0c..a43b277 100644
--- a/src/vs/workbench/api/common/extHostApiCommands.ts
+++ b/src/vs/workbench/api/common/extHostApiCommands.ts
@@ -443,3 +443,3 @@ const newCommands: ApiCommand[] = [
@@ -667,13 +679,15 @@ index b43b330..aeddf5e 100644
+ ApiCommandArgument.String.with('viewId', 'Custom editor view id. This should be the viewType string for custom editors or the notebookType string for notebooks. Use \'default\' to use VSCodium\'s default text editor'),
new ApiCommandArgument<vscode.ViewColumn | typeConverters.TextEditorOpenOptions | undefined, [vscode.ViewColumn?, ITextEditorOptions?] | undefined>('columnOrOptions', 'Either the column in which to open or editor options, see vscode.TextDocumentShowOptions',
diff --git a/src/vs/workbench/api/common/extHostCommands.ts b/src/vs/workbench/api/common/extHostCommands.ts
index c40a194..d76e2cd 100644
index b1ff981..639ada5 100644
--- a/src/vs/workbench/api/common/extHostCommands.ts
+++ b/src/vs/workbench/api/common/extHostCommands.ts
@@ -460,3 +460,3 @@ export class ApiCommandArgument<V, O = V> {
@@ -460,4 +460,4 @@ export class ApiCommandArgument<V, O = V> {
static readonly TypeHierarchyItem = new ApiCommandArgument('item', 'A type hierarchy item', v => v instanceof extHostTypes.TypeHierarchyItem, extHostTypeConverter.TypeHierarchyItem.from);
- static readonly TestItem = new ApiCommandArgument('testItem', 'A VS Code TestItem', v => v instanceof TestItemImpl, extHostTypeConverter.TestItem.from);
- static readonly TestProfile = new ApiCommandArgument('testProfile', 'A VS Code test profile', v => v instanceof extHostTypes.TestRunProfileBase, extHostTypeConverter.TestRunProfile.from);
+ static readonly TestItem = new ApiCommandArgument('testItem', 'A VSCodium TestItem', v => v instanceof TestItemImpl, extHostTypeConverter.TestItem.from);
+ static readonly TestProfile = new ApiCommandArgument('testProfile', 'A VSCodium test profile', v => v instanceof extHostTypes.TestRunProfileBase, extHostTypeConverter.TestRunProfile.from);
diff --git a/src/vs/workbench/api/test/browser/extHostNotebook.test.ts b/src/vs/workbench/api/test/browser/extHostNotebook.test.ts
index 54b14a3..c075afb 100644
@@ -685,10 +699,10 @@ index 54b14a3..c075afb 100644
+ test('Opening a notebook results in VSCodium firing the event onDidChangeActiveNotebookEditor twice #118470', function () {
let count = 0;
diff --git a/src/vs/workbench/browser/workbench.contribution.ts b/src/vs/workbench/browser/workbench.contribution.ts
index 30699b3..cd6647a 100644
index 7b8a2f9..d489ddb 100644
--- a/src/vs/workbench/browser/workbench.contribution.ts
+++ b/src/vs/workbench/browser/workbench.contribution.ts
@@ -658,3 +658,3 @@ const registry = Registry.as<IConfigurationRegistry>(ConfigurationExtensions.Con
@@ -673,3 +673,3 @@ const registry = Registry.as<IConfigurationRegistry>(ConfigurationExtensions.Con
localize('profileName', "`${profileName}`: name of the profile in which the workspace is opened (e.g. Data Science (Profile)). Ignored if default profile is used."),
- localize('appName', "`${appName}`: e.g. VS Code."),
+ localize('appName', "`${appName}`: e.g. VSCodium."),
@@ -703,45 +717,45 @@ index 50ae856..de6bb10 100644
+ localize('screenReaderDetectedExplanation.question', "Are you using a screen reader to operate VSCodium?"),
[{
diff --git a/src/vs/workbench/contrib/debug/browser/debugAdapterManager.ts b/src/vs/workbench/contrib/debug/browser/debugAdapterManager.ts
index 20f77ec..b12cac0 100644
index 0a13063..c62db65 100644
--- a/src/vs/workbench/contrib/debug/browser/debugAdapterManager.ts
+++ b/src/vs/workbench/contrib/debug/browser/debugAdapterManager.ts
@@ -176,3 +176,3 @@ export class AdapterManager extends Disposable implements IAdapterManager {
@@ -177,3 +177,3 @@ export class AdapterManager extends Disposable implements IAdapterManager {
type: 'number',
- description: nls.localize('debugServer', "For debug extension development only: if a port is specified VS Code tries to connect to a debug adapter running in server mode"),
+ description: nls.localize('debugServer', "For debug extension development only: if a port is specified VSCodium tries to connect to a debug adapter running in server mode"),
default: 4711
diff --git a/src/vs/workbench/contrib/extensions/browser/extensions.contribution.ts b/src/vs/workbench/contrib/extensions/browser/extensions.contribution.ts
index f4d62c7..dde4827 100644
index 4a2b68d..9ad4aea 100644
--- a/src/vs/workbench/contrib/extensions/browser/extensions.contribution.ts
+++ b/src/vs/workbench/contrib/extensions/browser/extensions.contribution.ts
@@ -304,3 +304,3 @@ CommandsRegistry.registerCommand({
@@ -378,3 +378,3 @@ CommandsRegistry.registerCommand({
description: '(optional) Options for installing the extension. Object with the following properties: ' +
- '`installOnlyNewlyAddedFromExtensionPackVSIX`: When enabled, VS Code installs only newly added extensions from the extension pack VSIX. This option is considered only when installing VSIX. ',
+ '`installOnlyNewlyAddedFromExtensionPackVSIX`: When enabled, VSCodium installs only newly added extensions from the extension pack VSIX. This option is considered only when installing VSIX. ',
isOptional: true,
@@ -311,3 +311,3 @@ CommandsRegistry.registerCommand({
@@ -385,3 +385,3 @@ CommandsRegistry.registerCommand({
'type': 'boolean',
- 'description': localize('workbench.extensions.installExtension.option.installOnlyNewlyAddedFromExtensionPackVSIX', "When enabled, VS Code installs only newly added extensions from the extension pack VSIX. This option is considered only while installing a VSIX."),
+ 'description': localize('workbench.extensions.installExtension.option.installOnlyNewlyAddedFromExtensionPackVSIX', "When enabled, VSCodium installs only newly added extensions from the extension pack VSIX. This option is considered only while installing a VSIX."),
default: false
@@ -316,3 +316,3 @@ CommandsRegistry.registerCommand({
@@ -390,3 +390,3 @@ CommandsRegistry.registerCommand({
'type': 'boolean',
- 'description': localize('workbench.extensions.installExtension.option.installPreReleaseVersion', "When enabled, VS Code installs the pre-release version of the extension if available."),
+ 'description': localize('workbench.extensions.installExtension.option.installPreReleaseVersion', "When enabled, VSCodium installs the pre-release version of the extension if available."),
default: false
@@ -321,3 +321,3 @@ CommandsRegistry.registerCommand({
@@ -395,3 +395,3 @@ CommandsRegistry.registerCommand({
'type': 'boolean',
- 'description': localize('workbench.extensions.installExtension.option.donotSync', "When enabled, VS Code do not sync this extension when Settings Sync is on."),
+ 'description': localize('workbench.extensions.installExtension.option.donotSync', "When enabled, VSCodium do not sync this extension when Settings Sync is on."),
default: false
@@ -824,3 +824,3 @@ class ExtensionsContributions extends Disposable implements IWorkbenchContributi
@@ -899,3 +899,3 @@ class ExtensionsContributions extends Disposable implements IWorkbenchContributi
Severity.Info,
- localize('InstallVSIXAction.successReload', "Completed installing extension from VSIX. Please reload Visual Studio Code to enable it."),
+ localize('InstallVSIXAction.successReload', "Completed installing extension from VSIX. Please reload VSCodium to enable it."),
[{
diff --git a/src/vs/workbench/contrib/extensions/browser/extensionsActions.ts b/src/vs/workbench/contrib/extensions/browser/extensionsActions.ts
index 3930f44..89051bd 100644
index a932e4f..3e08d9a 100644
--- a/src/vs/workbench/contrib/extensions/browser/extensionsActions.ts
+++ b/src/vs/workbench/contrib/extensions/browser/extensionsActions.ts
@@ -105,3 +105,3 @@ export class PromptExtensionInstallFailureAction extends Action {
@@ -749,41 +763,36 @@ index 3930f44..89051bd 100644
- const productName = isWeb ? localize('VS Code for Web', "{0} for the Web", this.productService.nameLong) : this.productService.nameLong;
+ const productName = isWeb ? localize('VSCodium for Web', "{0} for the Web", this.productService.nameLong) : this.productService.nameLong;
const message = localize('cannot be installed', "The '{0}' extension is not available in {1}. Click 'More Information' to learn more.", this.extension.displayName || this.extension.identifier.id, productName);
@@ -512,3 +512,3 @@ export class InstallAction extends ExtensionAction {
@@ -514,3 +514,3 @@ export class InstallAction extends ExtensionAction {
} else if (this.extension.deprecationInfo.settings) {
- detail = localize('deprecated with alternate settings message', "This extension is deprecated as this functionality is now built-in to VS Code.");
+ detail = localize('deprecated with alternate settings message', "This extension is deprecated as this functionality is now built-in to VSCodium.");
@@ -900,3 +900,3 @@ export class UninstallAction extends ExtensionAction {
@@ -902,3 +902,3 @@ export class UninstallAction extends ExtensionAction {
await this.extensionsWorkbenchService.uninstall(this.extension);
- alert(localize('uninstallExtensionComplete', "Please reload Visual Studio Code to complete the uninstallation of the extension {0}.", this.extension.displayName));
+ alert(localize('uninstallExtensionComplete', "Please reload VSCodium to complete the uninstallation of the extension {0}.", this.extension.displayName));
} catch (error) {
@@ -2526,3 +2526,3 @@ export class ExtensionStatusAction extends ExtensionAction {
@@ -2555,3 +2555,3 @@ export class ExtensionStatusAction extends ExtensionAction {
const link = `[${localize('settings', "settings")}](${URI.parse(`command:workbench.action.openSettings?${encodeURIComponent(JSON.stringify([this.extension.deprecationInfo.settings.map(setting => `@id:${setting}`).join(' ')]))}`)})`;
- this.updateStatus({ icon: warningIcon, message: new MarkdownString(localize('deprecated with alternate settings tooltip', "This extension is deprecated as this functionality is now built-in to VS Code. Configure these {0} to use this functionality.", link)) }, true);
+ this.updateStatus({ icon: warningIcon, message: new MarkdownString(localize('deprecated with alternate settings tooltip', "This extension is deprecated as this functionality is now built-in to VSCodium. Configure these {0} to use this functionality.", link)) }, true);
} else {
@@ -2567,3 +2567,3 @@ export class ExtensionStatusAction extends ExtensionAction {
if (this.extensionManagementServerService.webExtensionManagementServer) {
- const productName = localize('VS Code for Web', "{0} for the Web", this.productService.nameLong);
+ const productName = localize('VSCodium for Web', "{0} for the Web", this.productService.nameLong);
const message = new MarkdownString(`${localize('not web tooltip', "The '{0}' extension is not available in {1}.", this.extension.displayName || this.extension.identifier.id, productName)} [${localize('learn why', "Learn Why")}](https://aka.ms/vscode-web-extensions-guide)`);
@@ -2866,3 +2866,3 @@ export class ReinstallAction extends Action {
@@ -2894,3 +2894,3 @@ export class ReinstallAction extends Action {
const requireReload = !(extension.local && this.extensionService.canAddExtension(toExtensionDescription(extension.local)));
- const message = requireReload ? localize('ReinstallAction.successReload', "Please reload Visual Studio Code to complete reinstalling the extension {0}.", extension.identifier.id)
+ const message = requireReload ? localize('ReinstallAction.successReload', "Please reload VSCodium to complete reinstalling the extension {0}.", extension.identifier.id)
: localize('ReinstallAction.success', "Reinstalling the extension {0} is completed.", extension.identifier.id);
diff --git a/src/vs/workbench/contrib/extensions/browser/extensionsWorkbenchService.ts b/src/vs/workbench/contrib/extensions/browser/extensionsWorkbenchService.ts
index e34a900..c976572 100644
index 1a86249..2230763 100644
--- a/src/vs/workbench/contrib/extensions/browser/extensionsWorkbenchService.ts
+++ b/src/vs/workbench/contrib/extensions/browser/extensionsWorkbenchService.ts
@@ -452,3 +452,3 @@ export class Extension implements IExtension {
@@ -457,3 +457,3 @@ export class Extension implements IExtension {
return Promise.resolve(`# ${this.displayName || this.name}
-**Notice:** This extension is bundled with Visual Studio Code. It can be disabled but not uninstalled.
+**Notice:** This extension is bundled with VSCodium. It can be disabled but not uninstalled.
## Features
@@ -490,3 +490,3 @@ ${this.description}
@@ -495,3 +495,3 @@ ${this.description}
if (this.type === ExtensionType.System) {
- return Promise.resolve(`Please check the [VS Code Release Notes](command:${ShowCurrentReleaseNotesActionId}) for changes to the built-in extensions.`);
+ return Promise.resolve(`Please check the [VSCodium Release Notes](command:${ShowCurrentReleaseNotesActionId}) for changes to the built-in extensions.`);
@@ -867,10 +876,10 @@ index b716bcd..07b107b 100644
+ "You can now access this machine anywhere via the secure tunnel [{0}](command:{4}). To connect via a different machine, use the generated [{1}]({2}) link or use the [{6}]({7}) extension in the desktop or web. You can [configure](command:{3}) or [turn off](command:{5}) this access via the VSCodium Accounts menu.",
connectionInfo.tunnelName, connectionInfo.domain, linkToOpenForMarkdown, RemoteTunnelCommandIds.manage, RemoteTunnelCommandIds.configure, RemoteTunnelCommandIds.turnOff, remoteExtension.friendlyName, 'https://code.visualstudio.com/docs/remote/tunnels'
diff --git a/src/vs/workbench/contrib/tasks/browser/abstractTaskService.ts b/src/vs/workbench/contrib/tasks/browser/abstractTaskService.ts
index f3ade8a..5d1d496 100644
index 8879209..79644c1 100644
--- a/src/vs/workbench/contrib/tasks/browser/abstractTaskService.ts
+++ b/src/vs/workbench/contrib/tasks/browser/abstractTaskService.ts
@@ -3189,3 +3189,3 @@ export abstract class AbstractTaskService extends Disposable implements ITaskSer
@@ -3197,3 +3197,3 @@ export abstract class AbstractTaskService extends Disposable implements ITaskSer
if (response.code && response.code === TerminateResponseCode.ProcessNotFound) {
- this._notificationService.error(nls.localize('TerminateAction.noProcess', 'The launched process doesn\'t exist anymore. If the task spawned background tasks exiting VS Code might result in orphaned processes.'));
+ this._notificationService.error(nls.localize('TerminateAction.noProcess', 'The launched process doesn\'t exist anymore. If the task spawned background tasks exiting VSCodium might result in orphaned processes.'));
@@ -908,79 +917,74 @@ index 6a5728c..2c561bd 100644
+ message: nls.localize('TaskSystem.noProcess', 'The launched task doesn\'t exist anymore. If the task spawned background processes exiting VSCodium might result in orphaned processes. To avoid this start the last background process with a wait flag.'),
primaryButton: nls.localize({ key: 'TaskSystem.exitAnyways', comment: ['&& denotes a mnemonic'] }, "&&Exit Anyways"),
diff --git a/src/vs/workbench/contrib/terminal/browser/terminalView.ts b/src/vs/workbench/contrib/terminal/browser/terminalView.ts
index 13d0821..171a99d 100644
index b71064b..d558dae 100644
--- a/src/vs/workbench/contrib/terminal/browser/terminalView.ts
+++ b/src/vs/workbench/contrib/terminal/browser/terminalView.ts
@@ -202,3 +202,3 @@ export class TerminalViewPane extends ViewPane {
@@ -204,3 +204,3 @@ export class TerminalViewPane extends ViewPane {
}];
- this._notificationService.prompt(Severity.Warning, nls.localize('terminal.monospaceOnly', "The terminal only supports monospace fonts. Be sure to restart VS Code if this is a newly installed font."), choices);
+ this._notificationService.prompt(Severity.Warning, nls.localize('terminal.monospaceOnly', "The terminal only supports monospace fonts. Be sure to restart VSCodium if this is a newly installed font."), choices);
}
diff --git a/src/vs/workbench/contrib/terminal/common/terminalConfiguration.ts b/src/vs/workbench/contrib/terminal/common/terminalConfiguration.ts
index 4b36691..a87a683 100644
index 752b9e8..5d27d5e 100644
--- a/src/vs/workbench/contrib/terminal/common/terminalConfiguration.ts
+++ b/src/vs/workbench/contrib/terminal/common/terminalConfiguration.ts
@@ -296,3 +296,3 @@ const terminalConfiguration: IConfigurationNode = {
@@ -290,3 +290,3 @@ const terminalConfiguration: IConfigurationNode = {
[TerminalSettingId.DetectLocale]: {
- markdownDescription: localize('terminal.integrated.detectLocale', "Controls whether to detect and set the `$LANG` environment variable to a UTF-8 compliant option since VS Code's terminal only supports UTF-8 encoded data coming from the shell."),
+ markdownDescription: localize('terminal.integrated.detectLocale', "Controls whether to detect and set the `$LANG` environment variable to a UTF-8 compliant option since VSCodium's terminal only supports UTF-8 encoded data coming from the shell."),
type: 'string',
@@ -310,3 +310,3 @@ const terminalConfiguration: IConfigurationNode = {
@@ -304,3 +304,3 @@ const terminalConfiguration: IConfigurationNode = {
markdownEnumDescriptions: [
- localize('terminal.integrated.gpuAcceleration.auto', "Let VS Code detect which renderer will give the best experience."),
+ localize('terminal.integrated.gpuAcceleration.auto', "Let VSCodium detect which renderer will give the best experience."),
localize('terminal.integrated.gpuAcceleration.on', "Enable GPU acceleration within the terminal."),
@@ -398,3 +398,3 @@ const terminalConfiguration: IConfigurationNode = {
@@ -392,3 +392,3 @@ const terminalConfiguration: IConfigurationNode = {
'terminal.integrated.commandsToSkipShell',
- "A set of command IDs whose keybindings will not be sent to the shell but instead always be handled by VS Code. This allows keybindings that would normally be consumed by the shell to act instead the same as when the terminal is not focused, for example `Ctrl+P` to launch Quick Open.\n\n&nbsp;\n\nMany commands are skipped by default. To override a default and pass that command's keybinding to the shell instead, add the command prefixed with the `-` character. For example add `-workbench.action.quickOpen` to allow `Ctrl+P` to reach the shell.\n\n&nbsp;\n\nThe following list of default skipped commands is truncated when viewed in Settings Editor. To see the full list, {1} and search for the first command from the list below.\n\n&nbsp;\n\nDefault Skipped Commands:\n\n{0}",
+ "A set of command IDs whose keybindings will not be sent to the shell but instead always be handled by VSCodium. This allows keybindings that would normally be consumed by the shell to act instead the same as when the terminal is not focused, for example `Ctrl+P` to launch Quick Open.\n\n&nbsp;\n\nMany commands are skipped by default. To override a default and pass that command's keybinding to the shell instead, add the command prefixed with the `-` character. For example add `-workbench.action.quickOpen` to allow `Ctrl+P` to reach the shell.\n\n&nbsp;\n\nThe following list of default skipped commands is truncated when viewed in Settings Editor. To see the full list, {1} and search for the first command from the list below.\n\n&nbsp;\n\nDefault Skipped Commands:\n\n{0}",
DEFAULT_COMMANDS_TO_SKIP_SHELL.sort().map(command => `- ${command}`).join('\n'),
@@ -410,3 +410,3 @@ const terminalConfiguration: IConfigurationNode = {
@@ -404,3 +404,3 @@ const terminalConfiguration: IConfigurationNode = {
[TerminalSettingId.AllowChords]: {
- markdownDescription: localize('terminal.integrated.allowChords', "Whether or not to allow chord keybindings in the terminal. Note that when this is true and the keystroke results in a chord it will bypass {0}, setting this to false is particularly useful when you want ctrl+k to go to your shell (not VS Code).", '`#terminal.integrated.commandsToSkipShell#`'),
+ markdownDescription: localize('terminal.integrated.allowChords', "Whether or not to allow chord keybindings in the terminal. Note that when this is true and the keystroke results in a chord it will bypass {0}, setting this to false is particularly useful when you want ctrl+k to go to your shell (not VSCodium).", '`#terminal.integrated.commandsToSkipShell#`'),
type: 'boolean',
@@ -421,3 +421,3 @@ const terminalConfiguration: IConfigurationNode = {
@@ -415,3 +415,3 @@ const terminalConfiguration: IConfigurationNode = {
restricted: true,
- markdownDescription: localize('terminal.integrated.env.osx', "Object with environment variables that will be added to the VS Code process to be used by the terminal on macOS. Set to `null` to delete the environment variable."),
+ markdownDescription: localize('terminal.integrated.env.osx', "Object with environment variables that will be added to the VSCodium process to be used by the terminal on macOS. Set to `null` to delete the environment variable."),
type: 'object',
@@ -430,3 +430,3 @@ const terminalConfiguration: IConfigurationNode = {
@@ -424,3 +424,3 @@ const terminalConfiguration: IConfigurationNode = {
restricted: true,
- markdownDescription: localize('terminal.integrated.env.linux', "Object with environment variables that will be added to the VS Code process to be used by the terminal on Linux. Set to `null` to delete the environment variable."),
+ markdownDescription: localize('terminal.integrated.env.linux', "Object with environment variables that will be added to the VSCodium process to be used by the terminal on Linux. Set to `null` to delete the environment variable."),
type: 'object',
@@ -439,3 +439,3 @@ const terminalConfiguration: IConfigurationNode = {
@@ -433,3 +433,3 @@ const terminalConfiguration: IConfigurationNode = {
restricted: true,
- markdownDescription: localize('terminal.integrated.env.windows', "Object with environment variables that will be added to the VS Code process to be used by the terminal on Windows. Set to `null` to delete the environment variable."),
+ markdownDescription: localize('terminal.integrated.env.windows', "Object with environment variables that will be added to the VSCodium process to be used by the terminal on Windows. Set to `null` to delete the environment variable."),
type: 'object',
@@ -468,3 +468,3 @@ const terminalConfiguration: IConfigurationNode = {
@@ -462,3 +462,3 @@ const terminalConfiguration: IConfigurationNode = {
[TerminalSettingId.ExperimentalWindowsUseConptyDll]: {
- markdownDescription: localize('terminal.integrated.experimentalWindowsUseConptyDll', "Whether to use the experimental conpty.dll shipped with VS Code, instead of the one bundled with Windows."),
+ markdownDescription: localize('terminal.integrated.experimentalWindowsUseConptyDll', "Whether to use the experimental conpty.dll shipped with VSCodium, instead of the one bundled with Windows."),
type: 'boolean',
@@ -568,3 +568,3 @@ const terminalConfiguration: IConfigurationNode = {
[TerminalSettingId.AutoReplies]: {
- markdownDescription: localize('terminal.integrated.autoReplies', "A set of messages that, when encountered in the terminal, will be automatically responded to. Provided the message is specific enough, this can help automate away common responses.\n\nRemarks:\n\n- Use {0} to automatically respond to the terminate batch job prompt on Windows.\n- The message includes escape sequences so the reply might not happen with styled text.\n- Each reply can only happen once every second.\n- Use {1} in the reply to mean the enter key.\n- To unset a default key, set the value to null.\n- Restart VS Code if new don't apply.", '`"Terminate batch job (Y/N)": "Y\\r"`', '`"\\r"`'),
+ markdownDescription: localize('terminal.integrated.autoReplies', "A set of messages that, when encountered in the terminal, will be automatically responded to. Provided the message is specific enough, this can help automate away common responses.\n\nRemarks:\n\n- Use {0} to automatically respond to the terminate batch job prompt on Windows.\n- The message includes escape sequences so the reply might not happen with styled text.\n- Each reply can only happen once every second.\n- Use {1} in the reply to mean the enter key.\n- To unset a default key, set the value to null.\n- Restart VSCodium if new don't apply.", '`"Terminate batch job (Y/N)": "Y\\r"`', '`"\\r"`'),
type: 'object',
@@ -581,3 +581,3 @@ const terminalConfiguration: IConfigurationNode = {
@@ -563,3 +563,3 @@ const terminalConfiguration: IConfigurationNode = {
restricted: true,
- markdownDescription: localize('terminal.integrated.shellIntegration.enabled', "Determines whether or not shell integration is auto-injected to support features like enhanced command tracking and current working directory detection. \n\nShell integration works by injecting the shell with a startup script. The script gives VS Code insight into what is happening within the terminal.\n\nSupported shells:\n\n- Linux/macOS: bash, fish, pwsh, zsh\n - Windows: pwsh, git bash\n\nThis setting applies only when terminals are created, so you will need to restart your terminals for it to take effect.\n\n Note that the script injection may not work if you have custom arguments defined in the terminal profile, have enabled {1}, have a [complex bash `PROMPT_COMMAND`](https://code.visualstudio.com/docs/editor/integrated-terminal#_complex-bash-promptcommand), or other unsupported setup. To disable decorations, see {0}", '`#terminal.integrated.shellIntegrations.decorationsEnabled#`', '`#editor.accessibilitySupport#`'),
+ markdownDescription: localize('terminal.integrated.shellIntegration.enabled', "Determines whether or not shell integration is auto-injected to support features like enhanced command tracking and current working directory detection. \n\nShell integration works by injecting the shell with a startup script. The script gives VSCodium insight into what is happening within the terminal.\n\nSupported shells:\n\n- Linux/macOS: bash, fish, pwsh, zsh\n - Windows: pwsh, git bash\n\nThis setting applies only when terminals are created, so you will need to restart your terminals for it to take effect.\n\n Note that the script injection may not work if you have custom arguments defined in the terminal profile, have enabled {1}, have a [complex bash `PROMPT_COMMAND`](https://code.visualstudio.com/docs/editor/integrated-terminal#_complex-bash-promptcommand), or other unsupported setup. To disable decorations, see {0}", '`#terminal.integrated.shellIntegrations.decorationsEnabled#`', '`#editor.accessibilitySupport#`'),
- markdownDescription: localize('terminal.integrated.shellIntegration.enabled', "Determines whether or not shell integration is auto-injected to support features like enhanced command tracking and current working directory detection. \n\nShell integration works by injecting the shell with a startup script. The script gives VS Code insight into what is happening within the terminal.\n\nSupported shells:\n\n- Linux/macOS: bash, fish, pwsh, zsh\n - Windows: pwsh, git bash\n\nThis setting applies only when terminals are created, so you will need to restart your terminals for it to take effect.\n\n Note that the script injection may not work if you have custom arguments defined in the terminal profile, have enabled {1}, have a [complex bash `PROMPT_COMMAND`](https://code.visualstudio.com/docs/editor/integrated-terminal#_complex-bash-promptcommand), or other unsupported setup. To disable decorations, see {0}", '`#terminal.integrated.shellIntegration.decorationsEnabled#`', '`#editor.accessibilitySupport#`'),
+ markdownDescription: localize('terminal.integrated.shellIntegration.enabled', "Determines whether or not shell integration is auto-injected to support features like enhanced command tracking and current working directory detection. \n\nShell integration works by injecting the shell with a startup script. The script gives VSCodium insight into what is happening within the terminal.\n\nSupported shells:\n\n- Linux/macOS: bash, fish, pwsh, zsh\n - Windows: pwsh, git bash\n\nThis setting applies only when terminals are created, so you will need to restart your terminals for it to take effect.\n\n Note that the script injection may not work if you have custom arguments defined in the terminal profile, have enabled {1}, have a [complex bash `PROMPT_COMMAND`](https://code.visualstudio.com/docs/editor/integrated-terminal#_complex-bash-promptcommand), or other unsupported setup. To disable decorations, see {0}", '`#terminal.integrated.shellIntegration.decorationsEnabled#`', '`#editor.accessibilitySupport#`'),
type: 'boolean',
diff --git a/src/vs/workbench/contrib/terminalContrib/suggest/common/terminalSuggestConfiguration.ts b/src/vs/workbench/contrib/terminalContrib/suggest/common/terminalSuggestConfiguration.ts
index c0a82e3..b0b75e4 100644
index 860bb28..05f4eba 100644
--- a/src/vs/workbench/contrib/terminalContrib/suggest/common/terminalSuggestConfiguration.ts
+++ b/src/vs/workbench/contrib/terminalContrib/suggest/common/terminalSuggestConfiguration.ts
@@ -69,3 +69,3 @@ export const terminalSuggestConfiguration: IStringDictionary<IConfigurationPrope
@@ -72,3 +72,3 @@ export const terminalSuggestConfiguration: IStringDictionary<IConfigurationPrope
'pwshCode': {
- description: localize('suggest.builtinCompletions.pwshCode', 'Custom PowerShell argument completers will be registered for VS Code\'s `code` and `code-insiders` CLIs. This is currently very basic and always suggests flags and subcommands without checking context.'),
+ description: localize('suggest.builtinCompletions.pwshCode', 'Custom PowerShell argument completers will be registered for VSCodium\'s `codium` and `codium-insiders` CLIs. This is currently very basic and always suggests flags and subcommands without checking context.'),
type: 'boolean'
diff --git a/src/vs/workbench/contrib/themes/browser/themes.contribution.ts b/src/vs/workbench/contrib/themes/browser/themes.contribution.ts
index 9359908..7bab151 100644
index 9a7b334..7a9aee9 100644
--- a/src/vs/workbench/contrib/themes/browser/themes.contribution.ts
+++ b/src/vs/workbench/contrib/themes/browser/themes.contribution.ts
@@ -914,3 +914,3 @@ class DefaultThemeUpdatedNotificationContribution implements IWorkbenchContribut
@@ -1047,15 +1051,20 @@ index 3f1c098..3b2a175 100644
+ description: localize('walkthroughs.steps.completionEvents.onCommand', 'Check off step when a given command is executed anywhere in VSCodium.'),
body: 'onCommand:${1:commandId}'
diff --git a/src/vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent.ts b/src/vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent.ts
index 0f8c49a..c8eec3a 100644
index 02350e7..03a5f85 100644
--- a/src/vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent.ts
+++ b/src/vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent.ts
@@ -213,3 +213,3 @@ export const walkthroughs: GettingStartedWalkthroughContent = [
@@ -240,3 +240,3 @@ export const walkthroughs: GettingStartedWalkthroughContent = [
id: 'Setup',
- title: localize('gettingStarted.setup.title', "Get Started with VS Code"),
+ title: localize('gettingStarted.setup.title', "Get Started with VSCodium"),
description: localize('gettingStarted.setup.description', "Customize your editor, learn the basics, and start coding"),
@@ -235,6 +235,6 @@ export const walkthroughs: GettingStartedWalkthroughContent = [
@@ -245,3 +245,3 @@ export const walkthroughs: GettingStartedWalkthroughContent = [
when: '!isWeb',
- walkthroughPageTitle: localize('gettingStarted.setup.walkthroughPageTitle', 'Setup VS Code'),
+ walkthroughPageTitle: localize('gettingStarted.setup.walkthroughPageTitle', 'Setup VSCodium'),
next: 'Beginner',
@@ -266,6 +266,6 @@ export const walkthroughs: GettingStartedWalkthroughContent = [
title: localize('gettingStarted.extensions.title', "Code with extensions"),
- description: localize('gettingStarted.extensionsWeb.description.interpolated', "Extensions are VS Code's power-ups. A growing number are becoming available in the web.\n{0}", Button(localize('browsePopularWeb', "Browse Popular Web Extensions"), 'command:workbench.extensions.action.showPopularExtensions')),
+ description: localize('gettingStarted.extensionsWeb.description.interpolated', "Extensions are VSCodium's power-ups. A growing number are becoming available in the web.\n{0}", Button(localize('browsePopularWeb', "Browse Popular Web Extensions"), 'command:workbench.extensions.action.showPopularExtensions')),
@@ -1064,42 +1073,58 @@ index 0f8c49a..c8eec3a 100644
- type: 'svg', altText: 'VS Code extension marketplace with featured language extensions', path: 'extensions-web.svg'
+ type: 'svg', altText: 'VSCodium extension marketplace with featured language extensions', path: 'extensions-web.svg'
},
@@ -253,5 +253,5 @@ export const walkthroughs: GettingStartedWalkthroughContent = [
@@ -284,6 +284,6 @@ export const walkthroughs: GettingStartedWalkthroughContent = [
title: localize('gettingStarted.settings.title', "Tune your settings"),
- description: localize('gettingStarted.settings.description.interpolated', "Customize every aspect of VS Code and your extensions to your liking. Commonly used settings are listed first to get you started.\n{0}", Button(localize('tweakSettings', "Open Settings"), 'command:toSide:workbench.action.openSettings')),
+ description: localize('gettingStarted.settings.description.interpolated', "Customize every aspect of VSCodium and your extensions to your liking. Commonly used settings are listed first to get you started.\n{0}", Button(localize('tweakSettings', "Open Settings"), 'command:toSide:workbench.action.openSettings')),
when: '!config.chat.experimental.offerSetup',
media: {
- type: 'svg', altText: 'VS Code Settings', path: 'settings.svg'
+ type: 'svg', altText: 'VSCodium Settings', path: 'settings.svg'
},
@@ -271,3 +271,3 @@ export const walkthroughs: GettingStartedWalkthroughContent = [
@@ -303,3 +303,3 @@ export const walkthroughs: GettingStartedWalkthroughContent = [
title: localize('gettingStarted.settings.title', "Tune your settings"),
- description: localize('gettingStarted.settingsAndSync.description.interpolated', "Customize every aspect of VS Code and your extensions to your liking. [Back up and sync](command:workbench.userDataSync.actions.turnOn) your essential customizations across all your devices.\n{0}", Button(localize('tweakSettings', "Open Settings"), 'command:toSide:workbench.action.openSettings')),
+ description: localize('gettingStarted.settingsAndSync.description.interpolated', "Customize every aspect of VSCodium and your extensions to your liking. [Back up and sync](command:workbench.userDataSync.actions.turnOn) your essential customizations across all your devices.\n{0}", Button(localize('tweakSettings', "Open Settings"), 'command:toSide:workbench.action.openSettings')),
when: 'config.chat.experimental.offerSetup && syncStatus != uninitialized',
@@ -307,3 +307,3 @@ export const walkthroughs: GettingStartedWalkthroughContent = [
media: {
- type: 'svg', altText: 'VS Code Settings', path: 'settings.svg'
+ type: 'svg', altText: 'VSCodium Settings', path: 'settings.svg'
},
@@ -313,3 +313,3 @@ export const walkthroughs: GettingStartedWalkthroughContent = [
title: localize('gettingStarted.commandPalette.title', "Unlock productivity with the Command Palette "),
- description: localize('gettingStarted.commandPalette.description.interpolated', "Run commands without reaching for your mouse to accomplish any task in VS Code.\n{0}", Button(localize('commandPalette', "Open Command Palette"), 'command:workbench.action.showCommands')),
+ description: localize('gettingStarted.commandPalette.description.interpolated', "Run commands without reaching for your mouse to accomplish any task in VSCodium.\n{0}", Button(localize('commandPalette', "Open Command Palette"), 'command:workbench.action.showCommands')),
media: { type: 'svg', altText: 'Command Palette overlay for searching and executing commands.', path: 'commandPalette.svg' },
@@ -277,3 +277,3 @@ export const walkthroughs: GettingStartedWalkthroughContent = [
@@ -319,3 +319,3 @@ export const walkthroughs: GettingStartedWalkthroughContent = [
title: localize('gettingStarted.setup.OpenFolder.title', "Open up your code"),
- description: localize('gettingStarted.setup.OpenFolder.description.interpolated', "You're all set to start coding. Open a project folder to get your files into VS Code.\n{0}", Button(localize('pickFolder', "Pick a Folder"), 'command:workbench.action.files.openFileFolder')),
+ description: localize('gettingStarted.setup.OpenFolder.description.interpolated', "You're all set to start coding. Open a project folder to get your files into VSCodium.\n{0}", Button(localize('pickFolder', "Pick a Folder"), 'command:workbench.action.files.openFileFolder')),
when: 'isMac && workspaceFolderCount == 0',
@@ -286,3 +286,3 @@ export const walkthroughs: GettingStartedWalkthroughContent = [
when: '!config.chat.experimental.offerSetup && isMac && workspaceFolderCount == 0',
@@ -328,3 +328,3 @@ export const walkthroughs: GettingStartedWalkthroughContent = [
title: localize('gettingStarted.setup.OpenFolder.title', "Open up your code"),
- description: localize('gettingStarted.setup.OpenFolder.description.interpolated', "You're all set to start coding. Open a project folder to get your files into VS Code.\n{0}", Button(localize('pickFolder', "Pick a Folder"), 'command:workbench.action.files.openFolder')),
+ description: localize('gettingStarted.setup.OpenFolder.description.interpolated', "You're all set to start coding. Open a project folder to get your files into VSCodium.\n{0}", Button(localize('pickFolder', "Pick a Folder"), 'command:workbench.action.files.openFolder')),
when: '!isMac && workspaceFolderCount == 0',
@@ -304,4 +304,4 @@ export const walkthroughs: GettingStartedWalkthroughContent = [
when: '!config.chat.experimental.offerSetup && !isMac && workspaceFolderCount == 0',
@@ -346,4 +346,4 @@ export const walkthroughs: GettingStartedWalkthroughContent = [
title: localize('gettingStarted.videoTutorial.title', "Watch video tutorials"),
- description: localize('gettingStarted.videoTutorial.description.interpolated', "Watch the first in a series of short & practical video tutorials for VS Code's key features.\n{0}", Button(localize('watch', "Watch Tutorial"), 'https://aka.ms/vscode-getting-started-video')),
- media: { type: 'svg', altText: 'VS Code Settings', path: 'learn.svg' },
+ description: localize('gettingStarted.videoTutorial.description.interpolated', "Watch the first in a series of short & practical video tutorials for VSCodium's key features.\n{0}", Button(localize('watch', "Watch Tutorial"), 'https://aka.ms/vscode-getting-started-video')),
+ media: { type: 'svg', altText: 'VSCodium Settings', path: 'learn.svg' },
}
@@ -313,3 +313,3 @@ export const walkthroughs: GettingStartedWalkthroughContent = [
@@ -355,3 +355,3 @@ export const walkthroughs: GettingStartedWalkthroughContent = [
id: 'SetupWeb',
- title: localize('gettingStarted.setupWeb.title', "Get Started with VS Code for the Web"),
+ title: localize('gettingStarted.setupWeb.title', "Get Started with VSCodium for the Web"),
description: localize('gettingStarted.setupWeb.description', "Customize your editor, learn the basics, and start coding"),
@@ -344,6 +344,6 @@ export const walkthroughs: GettingStartedWalkthroughContent = [
@@ -361,3 +361,3 @@ export const walkthroughs: GettingStartedWalkthroughContent = [
next: 'Beginner',
- walkthroughPageTitle: localize('gettingStarted.setupWeb.walkthroughPageTitle', 'Setup VS Code Web'),
+ walkthroughPageTitle: localize('gettingStarted.setupWeb.walkthroughPageTitle', 'Setup VSCodium Web'),
content: {
@@ -387,6 +387,6 @@ export const walkthroughs: GettingStartedWalkthroughContent = [
title: localize('gettingStarted.extensions.title', "Code with extensions"),
- description: localize('gettingStarted.extensionsWeb.description.interpolated', "Extensions are VS Code's power-ups. A growing number are becoming available in the web.\n{0}", Button(localize('browsePopularWeb', "Browse Popular Web Extensions"), 'command:workbench.extensions.action.showPopularExtensions')),
+ description: localize('gettingStarted.extensionsWeb.description.interpolated', "Extensions are VSCodium's power-ups. A growing number are becoming available in the web.\n{0}", Button(localize('browsePopularWeb', "Browse Popular Web Extensions"), 'command:workbench.extensions.action.showPopularExtensions')),
@@ -1108,22 +1133,32 @@ index 0f8c49a..c8eec3a 100644
- type: 'svg', altText: 'VS Code extension marketplace with featured language extensions', path: 'extensions-web.svg'
+ type: 'svg', altText: 'VSCodium extension marketplace with featured language extensions', path: 'extensions-web.svg'
},
@@ -372,3 +372,3 @@ export const walkthroughs: GettingStartedWalkthroughContent = [
@@ -415,3 +415,3 @@ export const walkthroughs: GettingStartedWalkthroughContent = [
title: localize('gettingStarted.commandPalette.title', "Unlock productivity with the Command Palette "),
- description: localize('gettingStarted.commandPalette.description.interpolated', "Run commands without reaching for your mouse to accomplish any task in VS Code.\n{0}", Button(localize('commandPalette', "Open Command Palette"), 'command:workbench.action.showCommands')),
+ description: localize('gettingStarted.commandPalette.description.interpolated', "Run commands without reaching for your mouse to accomplish any task in VSCodium.\n{0}", Button(localize('commandPalette', "Open Command Palette"), 'command:workbench.action.showCommands')),
media: { type: 'svg', altText: 'Command Palette overlay for searching and executing commands.', path: 'commandPalette.svg' },
@@ -378,3 +378,3 @@ export const walkthroughs: GettingStartedWalkthroughContent = [
@@ -421,3 +421,3 @@ export const walkthroughs: GettingStartedWalkthroughContent = [
title: localize('gettingStarted.setup.OpenFolder.title', "Open up your code"),
- description: localize('gettingStarted.setup.OpenFolderWeb.description.interpolated', "You're all set to start coding. You can open a local project or a remote repository to get your files into VS Code.\n{0}\n{1}", Button(localize('openFolder', "Open Folder"), 'command:workbench.action.addRootFolder'), Button(localize('openRepository', "Open Repository"), 'command:remoteHub.openRepository')),
+ description: localize('gettingStarted.setup.OpenFolderWeb.description.interpolated', "You're all set to start coding. You can open a local project or a remote repository to get your files into VSCodium.\n{0}\n{1}", Button(localize('openFolder', "Open Folder"), 'command:workbench.action.addRootFolder'), Button(localize('openRepository', "Open Repository"), 'command:remoteHub.openRepository')),
when: 'workspaceFolderCount == 0',
@@ -399,3 +399,3 @@ export const walkthroughs: GettingStartedWalkthroughContent = [
@@ -442,3 +442,3 @@ export const walkthroughs: GettingStartedWalkthroughContent = [
title: localize('gettingStarted.setupAccessibility.title', "Get Started with Accessibility Features"),
- description: localize('gettingStarted.setupAccessibility.description', "Learn the tools and shortcuts that make VS Code accessible. Note that some actions are not actionable from within the context of the walkthrough."),
+ description: localize('gettingStarted.setupAccessibility.description', "Learn the tools and shortcuts that make VSCodium accessible. Note that some actions are not actionable from within the context of the walkthrough."),
isFeatured: true,
@@ -506,6 +506,6 @@ export const walkthroughs: GettingStartedWalkthroughContent = [
@@ -447,3 +447,3 @@ export const walkthroughs: GettingStartedWalkthroughContent = [
next: 'Setup',
- walkthroughPageTitle: localize('gettingStarted.setupAccessibility.walkthroughPageTitle', 'Setup VS Code Accessibility'),
+ walkthroughPageTitle: localize('gettingStarted.setupAccessibility.walkthroughPageTitle', 'Setup VSCodium Accessibility'),
content: {
@@ -478,3 +478,3 @@ export const walkthroughs: GettingStartedWalkthroughContent = [
title: localize('gettingStarted.commandPaletteAccessibility.title', "Unlock productivity with the Command Palette "),
- description: localize('gettingStarted.commandPaletteAccessibility.description.interpolated', "Run commands without reaching for your mouse to accomplish any task in VS Code.\n{0}", Button(localize('commandPalette', "Open Command Palette"), 'command:workbench.action.showCommands')),
+ description: localize('gettingStarted.commandPaletteAccessibility.description.interpolated', "Run commands without reaching for your mouse to accomplish any task in VSCodium.\n{0}", Button(localize('commandPalette', "Open Command Palette"), 'command:workbench.action.showCommands')),
media: { type: 'markdown', path: 'empty' },
@@ -551,6 +551,6 @@ export const walkthroughs: GettingStartedWalkthroughContent = [
title: localize('gettingStarted.extensions.title', "Code with extensions"),
- description: localize('gettingStarted.extensions.description.interpolated', "Extensions are VS Code's power-ups. They range from handy productivity hacks, expanding out-of-the-box features, to adding completely new capabilities.\n{0}", Button(localize('browsePopular', "Browse Popular Extensions"), 'command:workbench.extensions.action.showPopularExtensions')),
+ description: localize('gettingStarted.extensions.description.interpolated', "Extensions are VSCodium's power-ups. They range from handy productivity hacks, expanding out-of-the-box features, to adding completely new capabilities.\n{0}", Button(localize('browsePopular', "Browse Popular Extensions"), 'command:workbench.extensions.action.showPopularExtensions')),
@@ -1171,24 +1206,24 @@ index 0ab6828..6c8b5ef 100644
+ markdownDescription: localize('workspace.trust.emptyWindow.description', "Controls whether or not the empty window is trusted by default within VSCodium. When used with `#{0}#`, you can enable the full functionality of VSCodium without prompting in an empty window.", WORKSPACE_TRUST_UNTRUSTED_FILES),
tags: [WORKSPACE_TRUST_SETTING_TAG],
diff --git a/src/vs/workbench/electron-sandbox/desktop.contribution.ts b/src/vs/workbench/electron-sandbox/desktop.contribution.ts
index f6bae66..a4d5856 100644
index 19a8cf1..9a8ea92 100644
--- a/src/vs/workbench/electron-sandbox/desktop.contribution.ts
+++ b/src/vs/workbench/electron-sandbox/desktop.contribution.ts
@@ -401,3 +401,3 @@ import { MAX_ZOOM_LEVEL, MIN_ZOOM_LEVEL } from '../../platform/window/electron-s
@@ -404,3 +404,3 @@ import product from '../../platform/product/common/product.js';
type: 'boolean',
- description: localize('argv.disableChromiumSandbox', "Disables the Chromium sandbox. This is useful when running VS Code as elevated on Linux and running under Applocker on Windows.")
+ description: localize('argv.disableChromiumSandbox', "Disables the Chromium sandbox. This is useful when running VSCodium as elevated on Linux and running under Applocker on Windows.")
},
@@ -405,3 +405,3 @@ import { MAX_ZOOM_LEVEL, MIN_ZOOM_LEVEL } from '../../platform/window/electron-s
@@ -408,3 +408,3 @@ import product from '../../platform/product/common/product.js';
type: 'boolean',
- description: localize('argv.useInMemorySecretStorage', "Ensures that an in-memory store will be used for secret storage instead of using the OS's credential store. This is often used when running VS Code extension tests or when you're experiencing difficulties with the credential store.")
+ description: localize('argv.useInMemorySecretStorage', "Ensures that an in-memory store will be used for secret storage instead of using the OS's credential store. This is often used when running VSCodium extension tests or when you're experiencing difficulties with the credential store.")
}
diff --git a/src/vs/workbench/services/extensionManagement/common/extensionManagementService.ts b/src/vs/workbench/services/extensionManagement/common/extensionManagementService.ts
index 45bd7f0..8705da3 100644
index 6312b05..935307a 100644
--- a/src/vs/workbench/services/extensionManagement/common/extensionManagementService.ts
+++ b/src/vs/workbench/services/extensionManagement/common/extensionManagementService.ts
@@ -762,3 +762,3 @@ export class ExtensionManagementService extends Disposable implements IWorkbench
@@ -771,3 +771,3 @@ export class ExtensionManagementService extends Disposable implements IWorkbench
- const productName = localize('VS Code for Web', "{0} for the Web", this.productService.nameLong);
+ const productName = localize('VSCodium for Web', "{0} for the Web", this.productService.nameLong);
@@ -1208,30 +1243,30 @@ index ac3c7ed..542bb3c 100644
+ comment: 'This is used to understand the drop funnel of extension URI handling by the OS & VSCodium.';
};
diff --git a/src/vs/workbench/services/extensions/common/extensionsRegistry.ts b/src/vs/workbench/services/extensions/common/extensionsRegistry.ts
index bb8220b..ca56b50 100644
index e4c9ad4..d89b42a 100644
--- a/src/vs/workbench/services/extensions/common/extensionsRegistry.ts
+++ b/src/vs/workbench/services/extensions/common/extensionsRegistry.ts
@@ -178,3 +178,3 @@ export const schema: IJSONSchema = {
@@ -181,3 +181,3 @@ export const schema: IJSONSchema = {
type: 'string',
- description: nls.localize('vscode.extension.engines.vscode', 'For VS Code extensions, specifies the VS Code version that the extension is compatible with. Cannot be *. For example: ^0.10.5 indicates compatibility with a minimum VS Code version of 0.10.5.'),
+ description: nls.localize('vscode.extension.engines.vscode', 'For VSCodium extensions, specifies the VSCodium version that the extension is compatible with. Cannot be *. For example: ^0.10.5 indicates compatibility with a minimum VSCodium version of 0.10.5.'),
default: '^1.22.0',
@@ -184,3 +184,3 @@ export const schema: IJSONSchema = {
@@ -187,3 +187,3 @@ export const schema: IJSONSchema = {
publisher: {
- description: nls.localize('vscode.extension.publisher', 'The publisher of the VS Code extension.'),
+ description: nls.localize('vscode.extension.publisher', 'The publisher of the VSCodium extension.'),
type: 'string'
@@ -188,3 +188,3 @@ export const schema: IJSONSchema = {
@@ -191,3 +191,3 @@ export const schema: IJSONSchema = {
displayName: {
- description: nls.localize('vscode.extension.displayName', 'The display name for the extension used in the VS Code gallery.'),
+ description: nls.localize('vscode.extension.displayName', 'The display name for the extension used in the VSCodium gallery.'),
type: 'string'
@@ -192,3 +192,3 @@ export const schema: IJSONSchema = {
@@ -195,3 +195,3 @@ export const schema: IJSONSchema = {
categories: {
- description: nls.localize('vscode.extension.categories', 'The categories used by the VS Code gallery to categorize the extension.'),
+ description: nls.localize('vscode.extension.categories', 'The categories used by the VSCodium gallery to categorize the extension.'),
type: 'array',
@@ -209,6 +209,6 @@ export const schema: IJSONSchema = {
@@ -212,6 +212,6 @@ export const schema: IJSONSchema = {
type: 'object',
- description: nls.localize('vscode.extension.galleryBanner', 'Banner used in the VS Code marketplace.'),
+ description: nls.localize('vscode.extension.galleryBanner', 'Banner used in the VSCodium marketplace.'),
@@ -1240,36 +1275,36 @@ index bb8220b..ca56b50 100644
- description: nls.localize('vscode.extension.galleryBanner.color', 'The banner color on the VS Code marketplace page header.'),
+ description: nls.localize('vscode.extension.galleryBanner.color', 'The banner color on the VSCodium marketplace page header.'),
type: 'string'
@@ -223,3 +223,3 @@ export const schema: IJSONSchema = {
@@ -226,3 +226,3 @@ export const schema: IJSONSchema = {
contributes: {
- description: nls.localize('vscode.extension.contributes', 'All contributions of the VS Code extension represented by this package.'),
+ description: nls.localize('vscode.extension.contributes', 'All contributions of the VSCodium extension represented by this package.'),
type: 'object',
@@ -257,3 +257,3 @@ export const schema: IJSONSchema = {
@@ -260,3 +260,3 @@ export const schema: IJSONSchema = {
activationEvents: {
- description: nls.localize('vscode.extension.activationEvents', 'Activation events for the VS Code extension.'),
+ description: nls.localize('vscode.extension.activationEvents', 'Activation events for the VSCodium extension.'),
type: 'array',
@@ -399,3 +399,3 @@ export const schema: IJSONSchema = {
@@ -407,3 +407,3 @@ export const schema: IJSONSchema = {
label: '*',
- description: nls.localize('vscode.extension.activationEvents.star', 'An activation event emitted on VS Code startup. To ensure a great end user experience, please use this activation event in your extension only when no other activation events combination works in your use-case.'),
+ description: nls.localize('vscode.extension.activationEvents.star', 'An activation event emitted on VSCodium startup. To ensure a great end user experience, please use this activation event in your extension only when no other activation events combination works in your use-case.'),
body: '*'
@@ -571,3 +571,3 @@ export const schema: IJSONSchema = {
@@ -579,3 +579,3 @@ export const schema: IJSONSchema = {
'vscode:prepublish': {
- description: nls.localize('vscode.extension.scripts.prepublish', 'Script executed before the package is published as a VS Code extension.'),
+ description: nls.localize('vscode.extension.scripts.prepublish', 'Script executed before the package is published as a VSCodium extension.'),
type: 'string'
@@ -575,3 +575,3 @@ export const schema: IJSONSchema = {
@@ -583,3 +583,3 @@ export const schema: IJSONSchema = {
'vscode:uninstall': {
- description: nls.localize('vscode.extension.scripts.uninstall', 'Uninstall hook for VS Code extension. Script that gets executed when the extension is completely uninstalled from VS Code which is when VS Code is restarted (shutdown and start) after the extension is uninstalled. Only Node scripts are supported.'),
+ description: nls.localize('vscode.extension.scripts.uninstall', 'Uninstall hook for VSCodium extension. Script that gets executed when the extension is completely uninstalled from VSCodium which is when VSCodium is restarted (shutdown and start) after the extension is uninstalled. Only Node scripts are supported.'),
type: 'string'
diff --git a/src/vs/workbench/services/extensions/electron-sandbox/nativeExtensionService.ts b/src/vs/workbench/services/extensions/electron-sandbox/nativeExtensionService.ts
index 551ea51..1e4032e 100644
index 8adc7c1..00af7c2 100644
--- a/src/vs/workbench/services/extensions/electron-sandbox/nativeExtensionService.ts
+++ b/src/vs/workbench/services/extensions/electron-sandbox/nativeExtensionService.ts
@@ -166,3 +166,3 @@ export class NativeExtensionService extends AbstractExtensionService implements
@@ -168,3 +168,3 @@ export class NativeExtensionService extends AbstractExtensionService implements
[{
- label: nls.localize('relaunch', "Relaunch VS Code"),
+ label: nls.localize('relaunch', "Relaunch VSCodium"),

View File

@@ -1,13 +0,0 @@
diff --git a/src/main.js b/src/main.js
index 19dde20..d9611f2 100644
--- a/src/main.js
+++ b/src/main.js
@@ -409,6 +409,8 @@ function configureCrashReporter() {
argv.splice(endOfArgsMarkerIndex, 0, '--crash-reporter-id', crashReporterId);
}
}
+ } else {
+ return;
}
}

View File

@@ -0,0 +1,11 @@
--- vscode-1.80.1/extensions/mangle-loader.js.old 2023-07-12 18:45:52.000000000 +0200
+++ vscode-1.80.1/extensions/mangle-loader.js 2023-07-28 11:55:01.177444702 +0200
@@ -37,7 +37,7 @@ function getMangledFileContents(projectP
* @type {webpack.LoaderDefinitionFunction}
*/
module.exports = async function (source, sourceMap, meta) {
- if (this.mode !== 'production') {
+ if (true) {
// Only enable mangling in production builds
return source;
}

View File

@@ -1,12 +1,12 @@
diff --git a/remote/package-lock.json b/remote/package-lock.json
index 5872575..8ad0a56 100644
index f0ed1cc..a973af3 100644
--- a/remote/package-lock.json
+++ b/remote/package-lock.json
@@ -39,2 +39,3 @@
@@ -40,2 +40,3 @@
"tas-client-umd": "0.2.0",
+ "tslib": "^2.6.3",
"vscode-oniguruma": "1.7.0",
@@ -1030,2 +1031,8 @@
@@ -1109,2 +1110,8 @@
},
+ "node_modules/tslib": {
+ "version": "2.7.0",
@@ -16,10 +16,10 @@ index 5872575..8ad0a56 100644
+ },
"node_modules/tunnel-agent": {
diff --git a/remote/package.json b/remote/package.json
index c107b04..a23d058 100644
index 33afee9..525ed07 100644
--- a/remote/package.json
+++ b/remote/package.json
@@ -34,2 +34,3 @@
@@ -35,2 +35,3 @@
"tas-client-umd": "0.2.0",
+ "tslib": "^2.6.3",
"vscode-oniguruma": "1.7.0",

View File

@@ -3,7 +3,7 @@ index 99e495a..996044a 100644
--- a/.vscode/settings.json
+++ b/.vscode/settings.json
@@ -10,5 +10,5 @@
"cli/target": true,
"build/**/*.js.map": true,
- "build/**/*.js": {
- "when": "$(basename).ts"
- }

View File

@@ -0,0 +1,116 @@
diff --git a/build/azure-pipelines/linux/setup-env.sh b/build/azure-pipelines/linux/setup-env.sh
index d836fb7..fbe67b0 100755
--- a/build/azure-pipelines/linux/setup-env.sh
+++ b/build/azure-pipelines/linux/setup-env.sh
@@ -2,3 +2,3 @@
-set -e
+set -ex
diff --git a/build/gulpfile.reh.js b/build/gulpfile.reh.js
index 53ef6f3..d0770d6 100644
--- a/build/gulpfile.reh.js
+++ b/build/gulpfile.reh.js
@@ -229,9 +229,23 @@ function nodejs(platform, arch) {
case 'linux':
- return (product.nodejsRepository !== 'https://nodejs.org' ?
- fetchGithub(product.nodejsRepository, { version: `${nodeVersion}-${internalNodeVersion}`, name: expectedName, checksumSha256 }) :
- fetchUrls(`/dist/v${nodeVersion}/node-v${nodeVersion}-${platform}-${arch}.tar.gz`, { base: 'https://nodejs.org', checksumSha256 })
- ).pipe(flatmap(stream => stream.pipe(gunzip()).pipe(untar())))
- .pipe(filter('**/node'))
- .pipe(util.setExecutableBit('**'))
- .pipe(rename('node'));
+ if (process.env.VSCODE_NODEJS_SITE && process.env.VSCODE_NODEJS_URLROOT) {
+ return fetchUrls(`${process.env.VSCODE_NODEJS_URLROOT}/v${nodeVersion}/node-v${nodeVersion}-${platform}-${arch}${process.env.VSCODE_NODEJS_URLSUFFIX}.tar.gz`, { base: process.env.VSCODE_NODEJS_SITE, checksumSha256 })
+ .pipe(flatmap(stream => stream.pipe(gunzip()).pipe(untar())))
+ .pipe(filter('**/node'))
+ .pipe(util.setExecutableBit('**'))
+ .pipe(rename('node'));
+ }
+ if (product.nodejsRepository !== 'https://nodejs.org') {
+ return fetchGithub(product.nodejsRepository, { version: `${nodeVersion}-${internalNodeVersion}`, name: expectedName, checksumSha256 })
+ .pipe(flatmap(stream => stream.pipe(gunzip()).pipe(untar())))
+ .pipe(filter('**/node'))
+ .pipe(util.setExecutableBit('**'))
+ .pipe(rename('node'));
+ }
+ else {
+ return fetchUrls(`/dist/v${nodeVersion}/node-v${nodeVersion}-${platform}-${arch}.tar.gz`, { base: 'https://nodejs.org', checksumSha256 })
+ .pipe(flatmap(stream => stream.pipe(gunzip()).pipe(untar())))
+ .pipe(filter('**/node'))
+ .pipe(util.setExecutableBit('**'))
+ .pipe(rename('node'));
+ }
case 'alpine':
diff --git a/build/gulpfile.vscode.js b/build/gulpfile.vscode.js
index da753e9..95f2cf0 100644
--- a/build/gulpfile.vscode.js
+++ b/build/gulpfile.vscode.js
@@ -385,2 +385,12 @@ function packageTask(platform, arch, sourceFolderName, destinationFolderName, op
+ const electronOverride = {};
+ if (process.env.VSCODE_ELECTRON_REPOSITORY) {
+ // official electron doesn't support all arch, override the repo with `VSCODE_ELECTRON_REPOSITORY`.
+ electronOverride.repo = process.env.VSCODE_ELECTRON_REPOSITORY;
+ }
+
+ if (process.env.VSCODE_ELECTRON_TAG) {
+ electronOverride.tag = process.env.VSCODE_ELECTRON_TAG;
+ }
+
let result = all
@@ -389,3 +399,3 @@ function packageTask(platform, arch, sourceFolderName, destinationFolderName, op
.pipe(filter(['**', '!**/.github/**'], { dot: true })) // https://github.com/microsoft/vscode/issues/116523
- .pipe(electron({ ...config, platform, arch: arch === 'armhf' ? 'arm' : arch, ffmpegChromium: false }))
+ .pipe(electron({ ...config, ...electronOverride, platform, arch: arch === 'armhf' ? 'arm' : arch, ffmpegChromium: false }))
.pipe(filter(['**', '!LICENSE', '!version'], { dot: true }));
diff --git a/build/linux/debian/dep-lists.js b/build/linux/debian/dep-lists.js
index 3bb58fb..306d91e 100644
--- a/build/linux/debian/dep-lists.js
+++ b/build/linux/debian/dep-lists.js
@@ -138,3 +138,3 @@ exports.referenceGeneratedDepsByArch = {
'xdg-utils (>= 1.0.2)'
- ]
+ ],
};
diff --git a/build/linux/debian/dep-lists.ts b/build/linux/debian/dep-lists.ts
index e3d78d1..9f29943 100644
--- a/build/linux/debian/dep-lists.ts
+++ b/build/linux/debian/dep-lists.ts
@@ -138,3 +138,3 @@ export const referenceGeneratedDepsByArch = {
'xdg-utils (>= 1.0.2)'
- ]
+ ],
};
diff --git a/build/linux/debian/install-sysroot.js b/build/linux/debian/install-sysroot.js
index 354c67a..2cd8f2d 100644
--- a/build/linux/debian/install-sysroot.js
+++ b/build/linux/debian/install-sysroot.js
@@ -71,3 +71,5 @@ async function fetchUrl(options, retries = 10, retryDelay = 1000) {
try {
- const response = await fetch(`https://api.github.com/repos/Microsoft/vscode-linux-build-agent/releases/tags/v${version}`, {
+ const repository = process.env['VSCODE_SYSROOT_REPOSITORY'] ?? 'Microsoft/vscode-linux-build-agent';
+ const actualVersion = process.env['VSCODE_SYSROOT_VERSION'] ?? version;
+ const response = await fetch(`https://api.github.com/repos/${repository}/releases/tags/v${actualVersion}`, {
headers: ghApiHeaders,
@@ -80,3 +82,3 @@ async function fetchUrl(options, retries = 10, retryDelay = 1000) {
if (!asset) {
- throw new Error(`Could not find asset in release of Microsoft/vscode-linux-build-agent @ ${version}`);
+ throw new Error(`Could not find asset in release of ${repository} @ ${actualVersion}`);
}
diff --git a/build/linux/debian/install-sysroot.ts b/build/linux/debian/install-sysroot.ts
index 8ea43a5..d8de38e 100644
--- a/build/linux/debian/install-sysroot.ts
+++ b/build/linux/debian/install-sysroot.ts
@@ -83,3 +83,5 @@ async function fetchUrl(options: IFetchOptions, retries = 10, retryDelay = 1000)
try {
- const response = await fetch(`https://api.github.com/repos/Microsoft/vscode-linux-build-agent/releases/tags/v${version}`, {
+ const repository = process.env['VSCODE_SYSROOT_REPOSITORY'] ?? 'Microsoft/vscode-linux-build-agent';
+ const actualVersion = process.env['VSCODE_SYSROOT_VERSION'] ?? version;
+ const response = await fetch(`https://api.github.com/repos/${repository}/releases/tags/v${actualVersion}`, {
headers: ghApiHeaders,
@@ -92,3 +94,3 @@ async function fetchUrl(options: IFetchOptions, retries = 10, retryDelay = 1000)
if (!asset) {
- throw new Error(`Could not find asset in release of Microsoft/vscode-linux-build-agent @ ${version}`);
+ throw new Error(`Could not find asset in release of ${repository} @ ${actualVersion}`);
}

View File

@@ -1,33 +1,24 @@
diff --git a/build/azure-pipelines/linux/setup-env.sh b/build/azure-pipelines/linux/setup-env.sh
index 949b5f3..30093d6 100755
index fbe67b0..5b2f5d8 100755
--- a/build/azure-pipelines/linux/setup-env.sh
+++ b/build/azure-pipelines/linux/setup-env.sh
@@ -9,2 +9,6 @@ fi
+if [ "$npm_config_arch" == "riscv64" ]; then
+ exit 0
+fi
+
export VSCODE_SYSROOT_DIR=$PWD/.build/sysroots
@@ -67,2 +71,16 @@ elif [ "$npm_config_arch" == "arm" ]; then
@@ -74,2 +74,14 @@ elif [ "$npm_config_arch" == "arm" ]; then
export VSCODE_REMOTE_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"
+elif [ "$npm_config_arch" == "ppc64" ]; then
+ if [ "$(echo "$@" | grep -c -- "--only-remote")" -eq 0 ]; then
+ # Set compiler toolchain for client native modules
+ export CC=$VSCODE_SYSROOT_DIR/powerpc64le-linux-gnu/bin/powerpc64le-linux-gnu-gcc
+ export CXX=$VSCODE_SYSROOT_DIR/powerpc64le-linux-gnu/bin/powerpc64le-linux-gnu-g++
+ export CXXFLAGS="--sysroot=$VSCODE_SYSROOT_DIR/powerpc64le-linux-gnu/powerpc64le-linux-gnu/sysroot"
+ export LDFLAGS="--sysroot=$VSCODE_SYSROOT_DIR/powerpc64le-linux-gnu/powerpc64le-linux-gnu/sysroot -L$VSCODE_SYSROOT_DIR/powerpc64le-linux-gnu/powerpc64le-linux-gnu/sysroot/usr/lib/powerpc64le-linux-gnu -L$VSCODE_SYSROOT_DIR/powerpc64le-linux-gnu/powerpc64le-linux-gnu/sysroot/lib/powerpc64le-linux-gnu"
+ # Set compiler toolchain for client native modules
+ export CC=$VSCODE_SYSROOT_DIR/powerpc64le-linux-gnu/bin/powerpc64le-linux-gnu-gcc
+ export CXX=$VSCODE_SYSROOT_DIR/powerpc64le-linux-gnu/bin/powerpc64le-linux-gnu-g++
+ export CXXFLAGS="--sysroot=$VSCODE_SYSROOT_DIR/powerpc64le-linux-gnu/powerpc64le-linux-gnu/sysroot"
+ export LDFLAGS="--sysroot=$VSCODE_SYSROOT_DIR/powerpc64le-linux-gnu/powerpc64le-linux-gnu/sysroot -L$VSCODE_SYSROOT_DIR/powerpc64le-linux-gnu/powerpc64le-linux-gnu/sysroot/usr/lib/powerpc64le-linux-gnu -L$VSCODE_SYSROOT_DIR/powerpc64le-linux-gnu/powerpc64le-linux-gnu/sysroot/lib/powerpc64le-linux-gnu"
+
+ # Set compiler toolchain for remote server
+ export VSCODE_REMOTE_CC=$VSCODE_SYSROOT_DIR/powerpc64le-linux-gnu/bin/powerpc64le-linux-gnu-gcc
+ export VSCODE_REMOTE_CXX=$VSCODE_SYSROOT_DIR/powerpc64le-linux-gnu/bin/powerpc64le-linux-gnu-g++
+ export VSCODE_REMOTE_CXXFLAGS="--sysroot=$VSCODE_SYSROOT_DIR/powerpc64le-linux-gnu/powerpc64le-linux-gnu/sysroot"
+ export VSCODE_REMOTE_LDFLAGS="--sysroot=$VSCODE_SYSROOT_DIR/powerpc64le-linux-gnu/powerpc64le-linux-gnu/sysroot -L$VSCODE_SYSROOT_DIR/powerpc64le-linux-gnu/powerpc64le-linux-gnu/sysroot/usr/lib/powerpc64le-linux-gnu -L$VSCODE_SYSROOT_DIR/powerpc64le-linux-gnu/powerpc64le-linux-gnu/sysroot/lib/powerpc64le-linux-gnu"
+ fi
+ # Set compiler toolchain for remote server
+ export VSCODE_REMOTE_CC=$VSCODE_SYSROOT_DIR/powerpc64le-linux-gnu/bin/powerpc64le-linux-gnu-gcc
+ export VSCODE_REMOTE_CXX=$VSCODE_SYSROOT_DIR/powerpc64le-linux-gnu/bin/powerpc64le-linux-gnu-g++
+ export VSCODE_REMOTE_CXXFLAGS="--sysroot=$VSCODE_SYSROOT_DIR/powerpc64le-linux-gnu/powerpc64le-linux-gnu/sysroot"
+ export VSCODE_REMOTE_LDFLAGS="--sysroot=$VSCODE_SYSROOT_DIR/powerpc64le-linux-gnu/powerpc64le-linux-gnu/sysroot -L$VSCODE_SYSROOT_DIR/powerpc64le-linux-gnu/powerpc64le-linux-gnu/sysroot/usr/lib/powerpc64le-linux-gnu -L$VSCODE_SYSROOT_DIR/powerpc64le-linux-gnu/powerpc64le-linux-gnu/sysroot/lib/powerpc64le-linux-gnu"
fi
diff --git a/build/azure-pipelines/linux/verify-glibc-requirements.sh b/build/azure-pipelines/linux/verify-glibc-requirements.sh
index 19482c2..f49d910 100755
index c655ce7..c7150f2 100755
--- a/build/azure-pipelines/linux/verify-glibc-requirements.sh
+++ b/build/azure-pipelines/linux/verify-glibc-requirements.sh
@@ -9,2 +9,4 @@ elif [ "$VSCODE_ARCH" == "armhf" ]; then
@@ -43,119 +34,76 @@ index 0b5f38c..9f3b02b 100644
dbb927408393041664a020661f2641c9785741be3d29b050b9dac58980967784 x86_64-linux-gnu-glibc-2.28.tar.gz
+fa8176d27be18bb0eeb7f55b0fa22255050b430ef68c29136599f02976eb0b1b powerpc64le-linux-gnu-glibc-2.28.tar.gz
diff --git a/build/gulpfile.reh.js b/build/gulpfile.reh.js
index 7d58861..f14984f 100644
index d0770d6..8c83c13 100644
--- a/build/gulpfile.reh.js
+++ b/build/gulpfile.reh.js
@@ -48,2 +48,4 @@ const BUILD_TARGETS = [
@@ -50,2 +50,3 @@ const BUILD_TARGETS = [
{ platform: 'linux', arch: 'arm64' },
+ { platform: 'linux', arch: 'ppc64le' },
+ { platform: 'linux', arch: 'riscv64' },
{ platform: 'alpine', arch: 'arm64' },
@@ -217,2 +219,10 @@ function nodejs(platform, arch) {
case 'linux':
+ if (arch === 'riscv64') {
+ return fetchUrls(`/download/release/v${nodeVersion}/node-v${nodeVersion}-${platform}-${arch}.tar.gz`,
+ { base: 'https://unofficial-builds.nodejs.org', checksumSha256 }).pipe(flatmap(stream => stream.pipe(gunzip()).pipe
+ (untar())))
+ .pipe(filter('**/node'))
+ .pipe(util.setExecutableBit('**'))
+ .pipe(rename('node'));
+ }
return (product.nodejsRepository !== 'https://nodejs.org' ?
diff --git a/build/gulpfile.scan.js b/build/gulpfile.scan.js
index 6f8144b..8a8195e 100644
index cbcdddb..274d889 100644
--- a/build/gulpfile.scan.js
+++ b/build/gulpfile.scan.js
@@ -26,2 +26,4 @@ const BUILD_TARGETS = [
@@ -26,2 +26,3 @@ const BUILD_TARGETS = [
{ platform: 'linux', arch: 'arm64' },
+ { platform: 'linux', arch: 'ppc64le' },
+ { platform: 'linux', arch: 'riscv64' },
];
diff --git a/build/gulpfile.vscode.js b/build/gulpfile.vscode.js
index 4af4067..1f99344 100644
index 95f2cf0..7395ba4 100644
--- a/build/gulpfile.vscode.js
+++ b/build/gulpfile.vscode.js
@@ -350,2 +350,12 @@ function packageTask(platform, arch, sourceFolderName, destinationFolderName, op
+ const electronOverride = {};
+ if (process.env.VSCODE_ELECTRON_REPO) {
+ // electron doesn't support riscv64 and ppc64le, override the repo with `VSCODE_ELECTRON_REPO`.
+ electronOverride.repo = process.env.VSCODE_ELECTRON_REPO;
+ }
+
+ if (process.env.VSCODE_ELECTRON_TAG) {
+ electronOverride.tag = process.env.VSCODE_ELECTRON_TAG;
+ }
+
let result = all
@@ -354,3 +364,3 @@ function packageTask(platform, arch, sourceFolderName, destinationFolderName, op
.pipe(filter(['**', '!**/.github/**'], { dot: true })) // https://github.com/microsoft/vscode/issues/116523
- .pipe(electron({ ...config, platform, arch: arch === 'armhf' ? 'arm' : arch, ffmpegChromium: false }))
+ .pipe(electron({ ...config, ...electronOverride, platform, arch: arch === 'armhf' ? 'arm' : arch, ffmpegChromium: false }))
.pipe(filter(['**', '!LICENSE', '!version'], { dot: true }));
@@ -449,2 +459,4 @@ const BUILD_TARGETS = [
@@ -494,2 +494,3 @@ const BUILD_TARGETS = [
{ platform: 'linux', arch: 'arm64' },
+ { platform: 'linux', arch: 'ppc64le' },
+ { platform: 'linux', arch: 'riscv64' },
];
diff --git a/build/gulpfile.vscode.linux.js b/build/gulpfile.vscode.linux.js
index 28ddfb0..cb3169c 100644
index fb0e5a4..264cec1 100644
--- a/build/gulpfile.vscode.linux.js
+++ b/build/gulpfile.vscode.linux.js
@@ -33,3 +33,3 @@ const linuxPackageRevision = Math.floor(new Date().getTime() / 1000);
function getDebPackageArch(arch) {
- return { x64: 'amd64', armhf: 'armhf', arm64: 'arm64' }[arch];
+ return { x64: 'amd64', armhf: 'armhf', arm64: 'arm64', ppc64le: 'ppc64el', riscv64: 'riscv64' }[arch];
+ return { x64: 'amd64', armhf: 'armhf', arm64: 'arm64', ppc64le: 'ppc64el' }[arch];
}
@@ -141,3 +141,3 @@ function getRpmBuildPath(rpmArch) {
@@ -145,3 +145,3 @@ function getRpmBuildPath(rpmArch) {
function getRpmPackageArch(arch) {
- return { x64: 'x86_64', armhf: 'armv7hl', arm64: 'aarch64' }[arch];
+ return { x64: 'x86_64', armhf: 'armv7hl', arm64: 'aarch64', ppc64le: 'ppc64le', riscv64: 'riscv64' }[arch];
+ return { x64: 'x86_64', armhf: 'armv7hl', arm64: 'aarch64', ppc64le: 'ppc64le' }[arch];
}
@@ -301,2 +301,4 @@ const BUILD_TARGETS = [
@@ -307,2 +307,3 @@ const BUILD_TARGETS = [
{ arch: 'arm64' },
+ { arch: 'ppc64le' },
+ { arch: 'riscv64' },
];
diff --git a/build/linux/debian/calculate-deps.js b/build/linux/debian/calculate-deps.js
index bbcb6bf..d00158f 100644
index 57934e6..b97d275 100644
--- a/build/linux/debian/calculate-deps.js
+++ b/build/linux/debian/calculate-deps.js
@@ -51,2 +51,8 @@ function calculatePackageDeps(binaryPath, arch, chromiumSysroot, vscodeSysroot)
@@ -51,2 +51,5 @@ function calculatePackageDeps(binaryPath, arch, chromiumSysroot, vscodeSysroot)
break;
+ case 'ppc64el':
+ cmd.push(`-l${chromiumSysroot}/usr/lib/powerpc64le-linux-gnu`, `-l${chromiumSysroot}/lib/powerpc64le-linux-gnu`, `-l${vscodeSysroot}/usr/lib/powerpc64le-linux-gnu`, `-l${vscodeSysroot}/lib/powerpc64le-linux-gnu`);
+ break;
+ case 'riscv64':
+ cmd.push(`-l${chromiumSysroot}/usr/lib/riscv64-linux-gnu`, `-l${chromiumSysroot}/lib/riscv64-linux-gnu`, `-l${vscodeSysroot}/usr/lib/riscv64-linux-gnu`, `-l${vscodeSysroot}/lib/riscv64-linux-gnu`);
+ break;
}
diff --git a/build/linux/debian/calculate-deps.ts b/build/linux/debian/calculate-deps.ts
index 92f8065..b86b4db 100644
index c44e241..5a6e9b4 100644
--- a/build/linux/debian/calculate-deps.ts
+++ b/build/linux/debian/calculate-deps.ts
@@ -61,2 +61,14 @@ function calculatePackageDeps(binaryPath: string, arch: DebianArchString, chromi
@@ -61,2 +61,8 @@ function calculatePackageDeps(binaryPath: string, arch: DebianArchString, chromi
break;
+ case 'ppc64el':
+ cmd.push(`-l${chromiumSysroot}/usr/lib/powerpc64le-linux-gnu`,
+ `-l${chromiumSysroot}/lib/powerpc64le-linux-gnu`,
+ `-l${vscodeSysroot}/usr/lib/powerpc64le-linux-gnu`,
+ `-l${vscodeSysroot}/lib/powerpc64le-linux-gnu`);
+ break;
+ case 'riscv64':
+ cmd.push(`-l${chromiumSysroot}/usr/lib/riscv64-linux-gnu`,
+ `-l${chromiumSysroot}/lib/riscv64-linux-gnu`,
+ `-l${vscodeSysroot}/usr/lib/riscv64-linux-gnu`,
+ `-l${vscodeSysroot}/lib/riscv64-linux-gnu`);
+ break;
}
diff --git a/build/linux/debian/dep-lists.js b/build/linux/debian/dep-lists.js
index 3a642a7..91daf09 100644
index 306d91e..64377e3 100644
--- a/build/linux/debian/dep-lists.js
+++ b/build/linux/debian/dep-lists.js
@@ -144,2 +144,81 @@ exports.referenceGeneratedDepsByArch = {
'xdg-utils (>= 1.0.2)'
+ ],
@@ -139,2 +139,41 @@ exports.referenceGeneratedDepsByArch = {
],
+ 'ppc64el': [
+ 'ca-certificates',
+ 'libasound2 (>= 1.0.17)',
@@ -195,53 +143,13 @@ index 3a642a7..91daf09 100644
+ 'libxrandr2',
+ 'xdg-utils (>= 1.0.2)'
+ ],
+ 'riscv64': [
+ 'ca-certificates',
+ 'libatomic1',
+ 'libasound2 (>= 1.0.17)',
+ 'libatk-bridge2.0-0 (>= 2.5.3)',
+ 'libatk1.0-0 (>= 2.2.0)',
+ 'libatspi2.0-0 (>= 2.9.90)',
+ 'libc6 (>= 2.17)',
+ 'libc6 (>= 2.28)',
+ 'libcairo2 (>= 1.6.0)',
+ 'libcurl3-gnutls | libcurl3-nss | libcurl4 | libcurl3',
+ 'libdbus-1-3 (>= 1.0.2)',
+ 'libdrm2 (>= 2.4.60)',
+ 'libexpat1 (>= 2.0.1)',
+ 'libgbm1 (>= 17.1.0~rc2)',
+ 'libglib2.0-0 (>= 2.16.0)',
+ 'libglib2.0-0 (>= 2.39.4)',
+ 'libgtk-3-0 (>= 3.9.10)',
+ 'libgtk-3-0 (>= 3.9.10) | libgtk-4-1',
+ 'libnspr4 (>= 2:4.9-2~)',
+ 'libnss3 (>= 2:3.22)',
+ 'libnss3 (>= 3.26)',
+ 'libpango-1.0-0 (>= 1.14.0)',
+ 'libsecret-1-0 (>= 0.18)',
+ 'libstdc++6 (>= 4.1.1)',
+ 'libstdc++6 (>= 5)',
+ 'libstdc++6 (>= 5.2)',
+ 'libstdc++6 (>= 6)',
+ 'libx11-6',
+ 'libx11-6 (>= 2:1.4.99.1)',
+ 'libxcb1 (>= 1.9.2)',
+ 'libxcomposite1 (>= 1:0.4.4-1)',
+ 'libxdamage1 (>= 1:1.1)',
+ 'libxext6',
+ 'libxfixes3',
+ 'libxkbcommon0 (>= 0.4.1)',
+ 'libxkbfile1',
+ 'libxrandr2',
+ 'xdg-utils (>= 1.0.2)'
]
};
diff --git a/build/linux/debian/dep-lists.ts b/build/linux/debian/dep-lists.ts
index 86d1de1..ab0e268 100644
index 9f29943..aa769ad 100644
--- a/build/linux/debian/dep-lists.ts
+++ b/build/linux/debian/dep-lists.ts
@@ -144,2 +144,81 @@ export const referenceGeneratedDepsByArch = {
'xdg-utils (>= 1.0.2)'
+ ],
@@ -139,2 +139,41 @@ export const referenceGeneratedDepsByArch = {
],
+ 'ppc64el': [
+ 'ca-certificates',
+ 'libasound2 (>= 1.0.17)',
@@ -281,129 +189,56 @@ index 86d1de1..ab0e268 100644
+ 'libxrandr2',
+ 'xdg-utils (>= 1.0.2)'
+ ],
+ 'riscv64': [
+ 'ca-certificates',
+ 'libatomic1',
+ 'libasound2 (>= 1.0.17)',
+ 'libatk-bridge2.0-0 (>= 2.5.3)',
+ 'libatk1.0-0 (>= 2.2.0)',
+ 'libatspi2.0-0 (>= 2.9.90)',
+ 'libc6 (>= 2.17)',
+ 'libc6 (>= 2.28)',
+ 'libcairo2 (>= 1.6.0)',
+ 'libcurl3-gnutls | libcurl3-nss | libcurl4 | libcurl3',
+ 'libdbus-1-3 (>= 1.0.2)',
+ 'libdrm2 (>= 2.4.60)',
+ 'libexpat1 (>= 2.0.1)',
+ 'libgbm1 (>= 17.1.0~rc2)',
+ 'libglib2.0-0 (>= 2.16.0)',
+ 'libglib2.0-0 (>= 2.39.4)',
+ 'libgtk-3-0 (>= 3.9.10)',
+ 'libgtk-3-0 (>= 3.9.10) | libgtk-4-1',
+ 'libnspr4 (>= 2:4.9-2~)',
+ 'libnss3 (>= 2:3.22)',
+ 'libnss3 (>= 3.26)',
+ 'libpango-1.0-0 (>= 1.14.0)',
+ 'libsecret-1-0 (>= 0.18)',
+ 'libstdc++6 (>= 4.1.1)',
+ 'libstdc++6 (>= 5)',
+ 'libstdc++6 (>= 5.2)',
+ 'libstdc++6 (>= 6)',
+ 'libx11-6',
+ 'libx11-6 (>= 2:1.4.99.1)',
+ 'libxcb1 (>= 1.9.2)',
+ 'libxcomposite1 (>= 1:0.4.4-1)',
+ 'libxdamage1 (>= 1:1.1)',
+ 'libxext6',
+ 'libxfixes3',
+ 'libxkbcommon0 (>= 0.4.1)',
+ 'libxkbfile1',
+ 'libxrandr2',
+ 'xdg-utils (>= 1.0.2)'
]
};
diff --git a/build/linux/debian/install-sysroot.js b/build/linux/debian/install-sysroot.js
index feca7d3..f075ebc 100644
index 2cd8f2d..aef739c 100644
--- a/build/linux/debian/install-sysroot.js
+++ b/build/linux/debian/install-sysroot.js
@@ -72,3 +72,6 @@ async function fetchUrl(options, retries = 10, retryDelay = 1000) {
try {
- const response = await fetch(`https://api.github.com/repos/Microsoft/vscode-linux-build-agent/releases/tags/v${version}`, {
+ // if VSCODE_SYSROOT_REPO and VSCODE_SYSROOT_VERSION are set, use those instead
+ const repo = process.env['VSCODE_SYSROOT_REPO'] ?? 'Microsoft/vscode-linux-build-agent';
+ const actualVersion = process.env['VSCODE_SYSROOT_VERSION'] ?? version;
+ const response = await fetch(`https://api.github.com/repos/${repo}/releases/tags/v${actualVersion}`, {
headers: ghApiHeaders,
@@ -81,3 +84,3 @@ async function fetchUrl(options, retries = 10, retryDelay = 1000) {
if (!asset) {
- throw new Error(`Could not find asset in release of Microsoft/vscode-linux-build-agent @ ${version}`);
+ throw new Error(`Could not find asset in release of ${repo} @ ${actualVersion}`);
}
@@ -136,2 +139,10 @@ async function getVSCodeSysroot(arch) {
@@ -137,2 +137,6 @@ async function getVSCodeSysroot(arch) {
break;
+ case 'ppc64le':
+ expectedName = `powerpc64le-linux-gnu${prefix}.tar.gz`;
+ triple = `powerpc64le-linux-gnu`;
+ break;
+ case 'riscv64':
+ expectedName = `riscv64-linux-gnu${prefix}.tar.gz`;
+ triple = 'riscv64-linux-gnu';
+ break;
+ case 'ppc64le':
+ expectedName = `powerpc64le-linux-gnu${prefix}.tar.gz`;
+ triple = `powerpc64le-linux-gnu`;
+ break;
}
diff --git a/build/linux/debian/install-sysroot.ts b/build/linux/debian/install-sysroot.ts
index aa417dc..58f0eee 100644
index d8de38e..53b4866 100644
--- a/build/linux/debian/install-sysroot.ts
+++ b/build/linux/debian/install-sysroot.ts
@@ -84,3 +84,6 @@ async function fetchUrl(options: IFetchOptions, retries = 10, retryDelay = 1000)
try {
- const response = await fetch(`https://api.github.com/repos/Microsoft/vscode-linux-build-agent/releases/tags/v${version}`, {
+ // if VSCODE_SYSROOT_REPO and VSCODE_SYSROOT_VERSION are set, use those instead
+ const repo = process.env['VSCODE_SYSROOT_REPO'] ?? 'Microsoft/vscode-linux-build-agent';
+ const actualVersion = process.env['VSCODE_SYSROOT_VERSION'] ?? version;
+ const response = await fetch(`https://api.github.com/repos/${repo}/releases/tags/v${actualVersion}`, {
headers: ghApiHeaders,
@@ -93,3 +96,3 @@ async function fetchUrl(options: IFetchOptions, retries = 10, retryDelay = 1000)
if (!asset) {
- throw new Error(`Could not find asset in release of Microsoft/vscode-linux-build-agent @ ${version}`);
+ throw new Error(`Could not find asset in release of ${repo} @ ${actualVersion}`);
}
@@ -153,2 +156,10 @@ export async function getVSCodeSysroot(arch: DebianArchString): Promise<string>
@@ -154,2 +154,6 @@ export async function getVSCodeSysroot(arch: DebianArchString): Promise<string>
break;
+ case 'ppc64el':
+ case 'ppc64le':
+ expectedName = `powerpc64le-linux-gnu${prefix}.tar.gz`;
+ triple = 'powerpc64le-linux-gnu'
+ break;
+ case 'riscv64':
+ expectedName = `riscv64-linux-gnu${prefix}.tar.gz`;
+ triple = 'riscv64-linux-gnu';
+ triple = `powerpc64le-linux-gnu`;
+ break;
}
diff --git a/build/linux/debian/types.js b/build/linux/debian/types.js
index ce21d50..cadefc2 100644
index ce21d50..2c56b9c 100644
--- a/build/linux/debian/types.js
+++ b/build/linux/debian/types.js
@@ -8,3 +8,3 @@ exports.isDebianArchString = isDebianArchString;
function isDebianArchString(s) {
- return ['amd64', 'armhf', 'arm64'].includes(s);
+ return ['amd64', 'armhf', 'arm64', 'ppc64el', 'riscv64'].includes(s);
+ return ['amd64', 'armhf', 'arm64', 'ppc64el'].includes(s);
}
diff --git a/build/linux/debian/types.ts b/build/linux/debian/types.ts
index e97485e..24fe452 100644
index e97485e..43f2434 100644
--- a/build/linux/debian/types.ts
+++ b/build/linux/debian/types.ts
@@ -5,6 +5,6 @@
-export type DebianArchString = 'amd64' | 'armhf' | 'arm64';
+export type DebianArchString = 'amd64' | 'armhf' | 'arm64' | 'ppc64el' | 'riscv64';
+export type DebianArchString = 'amd64' | 'armhf' | 'arm64' | 'ppc64el';
export function isDebianArchString(s: string): s is DebianArchString {
- return ['amd64', 'armhf', 'arm64'].includes(s);
+ return ['amd64', 'armhf', 'arm64', 'ppc64el', 'riscv64'].includes(s);
+ return ['amd64', 'armhf', 'arm64', 'ppc64el'].includes(s);
}
diff --git a/build/linux/rpm/dep-lists.js b/build/linux/rpm/dep-lists.js
index 9798451..bd246e7 100644
index 04abee1..779dd69 100644
--- a/build/linux/rpm/dep-lists.js
+++ b/build/linux/rpm/dep-lists.js
@@ -321,2 +321,102 @@ exports.referenceGeneratedDepsByArch = {
@@ -310,2 +310,102 @@ exports.referenceGeneratedDepsByArch = {
'xdg-utils'
+ ],
+ "ppc64le": [
@@ -507,10 +342,10 @@ index 9798451..bd246e7 100644
+ 'xdg-utils'
]
diff --git a/build/linux/rpm/dep-lists.ts b/build/linux/rpm/dep-lists.ts
index b798127..c3f5308 100644
index 8761e40..1885210 100644
--- a/build/linux/rpm/dep-lists.ts
+++ b/build/linux/rpm/dep-lists.ts
@@ -320,2 +320,102 @@ export const referenceGeneratedDepsByArch = {
@@ -309,2 +309,102 @@ export const referenceGeneratedDepsByArch = {
'xdg-utils'
+ ],
+ "ppc64le": [
@@ -614,121 +449,105 @@ index b798127..c3f5308 100644
+ 'xdg-utils'
]
diff --git a/build/linux/rpm/types.js b/build/linux/rpm/types.js
index a20b9c2..99a8cff 100644
index a20b9c2..7b58961 100644
--- a/build/linux/rpm/types.js
+++ b/build/linux/rpm/types.js
@@ -8,3 +8,3 @@ exports.isRpmArchString = isRpmArchString;
function isRpmArchString(s) {
- return ['x86_64', 'armv7hl', 'aarch64'].includes(s);
+ return ['x86_64', 'armv7hl', 'aarch64', 'ppc64le', 'riscv64'].includes(s);
+ return ['x86_64', 'armv7hl', 'aarch64', 'ppc64le'].includes(s);
}
diff --git a/build/linux/rpm/types.ts b/build/linux/rpm/types.ts
index c6a01da..d94537e 100644
index c6a01da..3f3c3f5 100644
--- a/build/linux/rpm/types.ts
+++ b/build/linux/rpm/types.ts
@@ -5,6 +5,6 @@
-export type RpmArchString = 'x86_64' | 'armv7hl' | 'aarch64';
+export type RpmArchString = 'x86_64' | 'armv7hl' | 'aarch64' | 'ppc64le' | 'riscv64';
+export type RpmArchString = 'x86_64' | 'armv7hl' | 'aarch64' | 'ppc64le';
export function isRpmArchString(s: string): s is RpmArchString {
- return ['x86_64', 'armv7hl', 'aarch64'].includes(s);
+ return ['x86_64', 'armv7hl', 'aarch64', 'ppc64le', 'riscv64'].includes(s);
+ return ['x86_64', 'armv7hl', 'aarch64', 'ppc64le'].includes(s);
}
diff --git a/cli/src/update_service.rs b/cli/src/update_service.rs
index 4bec13d..3debda1 100644
index 9033914..bcab676 100644
--- a/cli/src/update_service.rs
+++ b/cli/src/update_service.rs
@@ -216,2 +216,5 @@ pub enum Platform {
@@ -217,2 +217,4 @@ pub enum Platform {
LinuxARM32Legacy,
+ LinuxPPC64LE,
+ LinuxPPC64LELegacy,
+ LinuxRISCV64,
DarwinX64,
@@ -229,2 +232,4 @@ impl Platform {
@@ -230,2 +232,3 @@ impl Platform {
Platform::LinuxARM32 => Some("linux-armhf".to_owned()),
+ Platform::LinuxPPC64LE => Some("linux-ppc64le".to_owned()),
+ Platform::LinuxRISCV64 => Some("linux-riscv64".to_owned()),
Platform::DarwinX64 => Some("darwin".to_owned()),
@@ -247,2 +252,5 @@ impl Platform {
@@ -248,2 +251,4 @@ impl Platform {
Platform::LinuxARM32Legacy => "server-linux-legacy-armhf",
+ Platform::LinuxPPC64LE => "server-linux-ppc64le",
+ Platform::LinuxPPC64LELegacy => "server-linux-legacy-ppc64le",
+ Platform::LinuxRISCV64 => "server-linux-riscv64",
Platform::DarwinX64 => "server-darwin",
@@ -266,2 +274,5 @@ impl Platform {
@@ -267,2 +272,4 @@ impl Platform {
Platform::LinuxARM32Legacy => "cli-linux-armhf",
+ Platform::LinuxPPC64LE => "cli-linux-ppc64le",
+ Platform::LinuxPPC64LELegacy => "cli-linux-ppc64le",
+ Platform::LinuxRISCV64 => "cli-linux-riscv64",
Platform::DarwinX64 => "cli-darwin-x64",
@@ -298,2 +309,6 @@ impl Platform {
@@ -299,2 +306,4 @@ impl Platform {
Some(Platform::LinuxARM64)
+ } else if cfg!(all(target_os = "linux", target_arch = "ppc64le")) {
+ Some(Platform::LinuxPPC64LE)
+ } else if cfg!(all(target_os = "linux", target_arch = "riscv64")) {
+ Some(Platform::LinuxRISCV64)
} else if cfg!(all(target_os = "macos", target_arch = "x86_64")) {
@@ -325,2 +340,5 @@ impl fmt::Display for Platform {
@@ -326,2 +335,4 @@ impl fmt::Display for Platform {
Platform::LinuxARM32Legacy => "LinuxARM32Legacy",
+ Platform::LinuxPPC64LE => "LinuxPPC64LE",
+ Platform::LinuxPPC64LELegacy => "LinuxPPC64LELegacy",
+ Platform::LinuxRISCV64 => "LinuxRISCV64",
Platform::DarwinX64 => "DarwinX64",
diff --git a/cli/src/util/prereqs.rs b/cli/src/util/prereqs.rs
index 0f49ab2..d873a49 100644
index e0fba27..4827a47 100644
--- a/cli/src/util/prereqs.rs
+++ b/cli/src/util/prereqs.rs
@@ -86,2 +86,6 @@ impl PreReqChecker {
@@ -86,2 +86,4 @@ impl PreReqChecker {
Platform::LinuxARM32
+ } else if cfg!(target_arch = "ppc64le") {
+ Platform::LinuxPPC64LE
+ } else if cfg!(target_arch = "riscv64") {
+ Platform::LinuxRISCV64
} else {
@@ -95,2 +99,4 @@ impl PreReqChecker {
@@ -95,2 +97,4 @@ impl PreReqChecker {
Platform::LinuxARM32Legacy
+ } else if cfg!(target_arch = "ppc64le") {
+ Platform::LinuxPPC64LELegacy
} else {
diff --git a/resources/server/bin/helpers/check-requirements-linux.sh b/resources/server/bin/helpers/check-requirements-linux.sh
index 31a618f..dc457e0 100644
index 8ef07a2..00dd3e2 100644
--- a/resources/server/bin/helpers/check-requirements-linux.sh
+++ b/resources/server/bin/helpers/check-requirements-linux.sh
@@ -56,2 +56,4 @@ case $ARCH in
@@ -56,2 +56,3 @@ case $ARCH in
;;
+ ppc64el) LDCONFIG_ARCH="64bit";;
+ riscv64) LDCONFIG_ARCH="RISC-V";;
esac
diff --git a/src/vs/platform/extensionManagement/common/extensionManagement.ts b/src/vs/platform/extensionManagement/common/extensionManagement.ts
index 1dcc4c7..54a7f36 100644
index ea7b30d..004df84 100644
--- a/src/vs/platform/extensionManagement/common/extensionManagement.ts
+++ b/src/vs/platform/extensionManagement/common/extensionManagement.ts
@@ -41,2 +41,4 @@ export function TargetPlatformToString(targetPlatform: TargetPlatform) {
@@ -41,2 +41,3 @@ export function TargetPlatformToString(targetPlatform: TargetPlatform) {
case TargetPlatform.LINUX_ARMHF: return 'Linux ARM';
+ case TargetPlatform.LINUX_PPC64LE: return 'Linux PowerPC64';
+ case TargetPlatform.LINUX_RISCV64: return 'Linux RISC-V 64';
@@ -64,2 +66,4 @@ export function toTargetPlatform(targetPlatform: string): TargetPlatform {
@@ -64,2 +65,3 @@ export function toTargetPlatform(targetPlatform: string): TargetPlatform {
case TargetPlatform.LINUX_ARMHF: return TargetPlatform.LINUX_ARMHF;
+ case TargetPlatform.LINUX_PPC64LE: return TargetPlatform.LINUX_PPC64LE;
+ case TargetPlatform.LINUX_RISCV64: return TargetPlatform.LINUX_RISCV64;
@@ -99,2 +103,8 @@ export function getTargetPlatform(platform: Platform | 'alpine', arch: string |
@@ -99,2 +101,5 @@ export function getTargetPlatform(platform: Platform | 'alpine', arch: string |
}
+ if (arch === 'ppc64le') {
+ return TargetPlatform.LINUX_PPC64LE;
+ }
+ if (arch === 'riscv64') {
+ return TargetPlatform.LINUX_RISCV64;
+ }
return TargetPlatform.UNKNOWN;
diff --git a/src/vs/platform/extensions/common/extensions.ts b/src/vs/platform/extensions/common/extensions.ts
index 822260b..fc11650 100644
index 5973d4d..a7d6298 100644
--- a/src/vs/platform/extensions/common/extensions.ts
+++ b/src/vs/platform/extensions/common/extensions.ts
@@ -294,2 +294,4 @@ export const enum TargetPlatform {
@@ -294,2 +294,3 @@ export const enum TargetPlatform {
LINUX_ARMHF = 'linux-armhf',
+ LINUX_PPC64LE = 'linux-ppc64le',
+ LINUX_RISCV64 = 'linux-riscv64',

View File

@@ -0,0 +1,297 @@
diff --git a/build/gulpfile.reh.js b/build/gulpfile.reh.js
index 8c83c13..b996472 100644
--- a/build/gulpfile.reh.js
+++ b/build/gulpfile.reh.js
@@ -51,2 +51,3 @@ const BUILD_TARGETS = [
{ platform: 'linux', arch: 'ppc64le' },
+ { platform: 'linux', arch: 'riscv64' },
{ platform: 'alpine', arch: 'arm64' },
diff --git a/build/gulpfile.scan.js b/build/gulpfile.scan.js
index 274d889..0eafadc 100644
--- a/build/gulpfile.scan.js
+++ b/build/gulpfile.scan.js
@@ -27,2 +27,3 @@ const BUILD_TARGETS = [
{ platform: 'linux', arch: 'ppc64le' },
+ { platform: 'linux', arch: 'riscv64' },
];
diff --git a/build/gulpfile.vscode.js b/build/gulpfile.vscode.js
index 7395ba4..66bf180 100644
--- a/build/gulpfile.vscode.js
+++ b/build/gulpfile.vscode.js
@@ -495,2 +495,3 @@ const BUILD_TARGETS = [
{ platform: 'linux', arch: 'ppc64le' },
+ { platform: 'linux', arch: 'riscv64' },
];
diff --git a/build/gulpfile.vscode.linux.js b/build/gulpfile.vscode.linux.js
index 264cec1..37575e1 100644
--- a/build/gulpfile.vscode.linux.js
+++ b/build/gulpfile.vscode.linux.js
@@ -33,3 +33,3 @@ const linuxPackageRevision = Math.floor(new Date().getTime() / 1000);
function getDebPackageArch(arch) {
- return { x64: 'amd64', armhf: 'armhf', arm64: 'arm64', ppc64le: 'ppc64el' }[arch];
+ return { x64: 'amd64', armhf: 'armhf', arm64: 'arm64', ppc64le: 'ppc64el', riscv64: 'riscv64' }[arch];
}
@@ -145,3 +145,3 @@ function getRpmBuildPath(rpmArch) {
function getRpmPackageArch(arch) {
- return { x64: 'x86_64', armhf: 'armv7hl', arm64: 'aarch64', ppc64le: 'ppc64le' }[arch];
+ return { x64: 'x86_64', armhf: 'armv7hl', arm64: 'aarch64', ppc64le: 'ppc64le', riscv64: 'riscv64' }[arch];
}
@@ -308,2 +308,3 @@ const BUILD_TARGETS = [
{ arch: 'ppc64le' },
+ { arch: 'riscv64' },
];
diff --git a/build/linux/debian/calculate-deps.js b/build/linux/debian/calculate-deps.js
index b97d275..37a5835 100644
--- a/build/linux/debian/calculate-deps.js
+++ b/build/linux/debian/calculate-deps.js
@@ -54,2 +54,5 @@ function calculatePackageDeps(binaryPath, arch, chromiumSysroot, vscodeSysroot)
break;
+ case 'riscv64':
+ cmd.push(`-l${chromiumSysroot}/usr/lib/riscv64-linux-gnu`, `-l${chromiumSysroot}/lib/riscv64-linux-gnu`, `-l${vscodeSysroot}/usr/lib/riscv64-linux-gnu`, `-l${vscodeSysroot}/lib/riscv64-linux-gnu`);
+ break;
}
diff --git a/build/linux/debian/calculate-deps.ts b/build/linux/debian/calculate-deps.ts
index 5a6e9b4..903375f 100644
--- a/build/linux/debian/calculate-deps.ts
+++ b/build/linux/debian/calculate-deps.ts
@@ -67,2 +67,8 @@ function calculatePackageDeps(binaryPath: string, arch: DebianArchString, chromi
break;
+ case 'riscv64':
+ cmd.push(`-l${chromiumSysroot}/usr/lib/riscv64-linux-gnu`,
+ `-l${chromiumSysroot}/lib/riscv64-linux-gnu`,
+ `-l${vscodeSysroot}/usr/lib/riscv64-linux-gnu`,
+ `-l${vscodeSysroot}/lib/riscv64-linux-gnu`);
+ break;
}
diff --git a/build/linux/debian/dep-lists.js b/build/linux/debian/dep-lists.js
index 64377e3..5fb20f8 100644
--- a/build/linux/debian/dep-lists.js
+++ b/build/linux/debian/dep-lists.js
@@ -178,2 +178,42 @@ exports.referenceGeneratedDepsByArch = {
],
+ 'riscv64': [
+ 'ca-certificates',
+ 'libatomic1',
+ 'libasound2 (>= 1.0.17)',
+ 'libatk-bridge2.0-0 (>= 2.5.3)',
+ 'libatk1.0-0 (>= 2.2.0)',
+ 'libatspi2.0-0 (>= 2.9.90)',
+ 'libc6 (>= 2.17)',
+ 'libc6 (>= 2.28)',
+ 'libcairo2 (>= 1.6.0)',
+ 'libcurl3-gnutls | libcurl3-nss | libcurl4 | libcurl3',
+ 'libdbus-1-3 (>= 1.0.2)',
+ 'libdrm2 (>= 2.4.60)',
+ 'libexpat1 (>= 2.0.1)',
+ 'libgbm1 (>= 17.1.0~rc2)',
+ 'libglib2.0-0 (>= 2.16.0)',
+ 'libglib2.0-0 (>= 2.39.4)',
+ 'libgtk-3-0 (>= 3.9.10)',
+ 'libgtk-3-0 (>= 3.9.10) | libgtk-4-1',
+ 'libnspr4 (>= 2:4.9-2~)',
+ 'libnss3 (>= 2:3.22)',
+ 'libnss3 (>= 3.26)',
+ 'libpango-1.0-0 (>= 1.14.0)',
+ 'libsecret-1-0 (>= 0.18)',
+ 'libstdc++6 (>= 4.1.1)',
+ 'libstdc++6 (>= 5)',
+ 'libstdc++6 (>= 5.2)',
+ 'libstdc++6 (>= 6)',
+ 'libx11-6',
+ 'libx11-6 (>= 2:1.4.99.1)',
+ 'libxcb1 (>= 1.9.2)',
+ 'libxcomposite1 (>= 1:0.4.4-1)',
+ 'libxdamage1 (>= 1:1.1)',
+ 'libxext6',
+ 'libxfixes3',
+ 'libxkbcommon0 (>= 0.4.1)',
+ 'libxkbfile1',
+ 'libxrandr2',
+ 'xdg-utils (>= 1.0.2)'
+ ],
};
diff --git a/build/linux/debian/dep-lists.ts b/build/linux/debian/dep-lists.ts
index aa769ad..5534874 100644
--- a/build/linux/debian/dep-lists.ts
+++ b/build/linux/debian/dep-lists.ts
@@ -178,2 +178,42 @@ export const referenceGeneratedDepsByArch = {
],
+ 'riscv64': [
+ 'ca-certificates',
+ 'libatomic1',
+ 'libasound2 (>= 1.0.17)',
+ 'libatk-bridge2.0-0 (>= 2.5.3)',
+ 'libatk1.0-0 (>= 2.2.0)',
+ 'libatspi2.0-0 (>= 2.9.90)',
+ 'libc6 (>= 2.17)',
+ 'libc6 (>= 2.28)',
+ 'libcairo2 (>= 1.6.0)',
+ 'libcurl3-gnutls | libcurl3-nss | libcurl4 | libcurl3',
+ 'libdbus-1-3 (>= 1.0.2)',
+ 'libdrm2 (>= 2.4.60)',
+ 'libexpat1 (>= 2.0.1)',
+ 'libgbm1 (>= 17.1.0~rc2)',
+ 'libglib2.0-0 (>= 2.16.0)',
+ 'libglib2.0-0 (>= 2.39.4)',
+ 'libgtk-3-0 (>= 3.9.10)',
+ 'libgtk-3-0 (>= 3.9.10) | libgtk-4-1',
+ 'libnspr4 (>= 2:4.9-2~)',
+ 'libnss3 (>= 2:3.22)',
+ 'libnss3 (>= 3.26)',
+ 'libpango-1.0-0 (>= 1.14.0)',
+ 'libsecret-1-0 (>= 0.18)',
+ 'libstdc++6 (>= 4.1.1)',
+ 'libstdc++6 (>= 5)',
+ 'libstdc++6 (>= 5.2)',
+ 'libstdc++6 (>= 6)',
+ 'libx11-6',
+ 'libx11-6 (>= 2:1.4.99.1)',
+ 'libxcb1 (>= 1.9.2)',
+ 'libxcomposite1 (>= 1:0.4.4-1)',
+ 'libxdamage1 (>= 1:1.1)',
+ 'libxext6',
+ 'libxfixes3',
+ 'libxkbcommon0 (>= 0.4.1)',
+ 'libxkbfile1',
+ 'libxrandr2',
+ 'xdg-utils (>= 1.0.2)'
+ ],
};
diff --git a/build/linux/debian/install-sysroot.js b/build/linux/debian/install-sysroot.js
index 3dcd5c1..b4e3542 100644
--- a/build/linux/debian/install-sysroot.js
+++ b/build/linux/debian/install-sysroot.js
@@ -141,2 +141,6 @@ async function getVSCodeSysroot(arch) {
break;
+ case 'riscv64':
+ expectedName = `riscv64-linux-gnu${prefix}.tar.gz`;
+ triple = 'riscv64-linux-gnu';
+ break;
}
diff --git a/build/linux/debian/install-sysroot.ts b/build/linux/debian/install-sysroot.ts
index 52b3422..11d54b1 100644
--- a/build/linux/debian/install-sysroot.ts
+++ b/build/linux/debian/install-sysroot.ts
@@ -158,2 +158,6 @@ export async function getVSCodeSysroot(arch: DebianArchString): Promise<string>
break;
+ case 'riscv64':
+ expectedName = `riscv64-linux-gnu${prefix}.tar.gz`;
+ triple = 'riscv64-linux-gnu';
+ break;
}
diff --git a/build/linux/debian/types.js b/build/linux/debian/types.js
index 2c56b9c..cadefc2 100644
--- a/build/linux/debian/types.js
+++ b/build/linux/debian/types.js
@@ -8,3 +8,3 @@ exports.isDebianArchString = isDebianArchString;
function isDebianArchString(s) {
- return ['amd64', 'armhf', 'arm64', 'ppc64el'].includes(s);
+ return ['amd64', 'armhf', 'arm64', 'ppc64el', 'riscv64'].includes(s);
}
diff --git a/build/linux/debian/types.ts b/build/linux/debian/types.ts
index 43f2434..24fe452 100644
--- a/build/linux/debian/types.ts
+++ b/build/linux/debian/types.ts
@@ -5,6 +5,6 @@
-export type DebianArchString = 'amd64' | 'armhf' | 'arm64' | 'ppc64el';
+export type DebianArchString = 'amd64' | 'armhf' | 'arm64' | 'ppc64el' | 'riscv64';
export function isDebianArchString(s: string): s is DebianArchString {
- return ['amd64', 'armhf', 'arm64', 'ppc64el'].includes(s);
+ return ['amd64', 'armhf', 'arm64', 'ppc64el', 'riscv64'].includes(s);
}
diff --git a/build/linux/rpm/types.js b/build/linux/rpm/types.js
index 7b58961..99a8cff 100644
--- a/build/linux/rpm/types.js
+++ b/build/linux/rpm/types.js
@@ -8,3 +8,3 @@ exports.isRpmArchString = isRpmArchString;
function isRpmArchString(s) {
- return ['x86_64', 'armv7hl', 'aarch64', 'ppc64le'].includes(s);
+ return ['x86_64', 'armv7hl', 'aarch64', 'ppc64le', 'riscv64'].includes(s);
}
diff --git a/build/linux/rpm/types.ts b/build/linux/rpm/types.ts
index 3f3c3f5..d94537e 100644
--- a/build/linux/rpm/types.ts
+++ b/build/linux/rpm/types.ts
@@ -5,6 +5,6 @@
-export type RpmArchString = 'x86_64' | 'armv7hl' | 'aarch64' | 'ppc64le';
+export type RpmArchString = 'x86_64' | 'armv7hl' | 'aarch64' | 'ppc64le' | 'riscv64';
export function isRpmArchString(s: string): s is RpmArchString {
- return ['x86_64', 'armv7hl', 'aarch64', 'ppc64le'].includes(s);
+ return ['x86_64', 'armv7hl', 'aarch64', 'ppc64le', 'riscv64'].includes(s);
}
diff --git a/cli/src/update_service.rs b/cli/src/update_service.rs
index bcab676..29228cb 100644
--- a/cli/src/update_service.rs
+++ b/cli/src/update_service.rs
@@ -219,2 +219,3 @@ pub enum Platform {
LinuxPPC64LELegacy,
+ LinuxRISCV64,
DarwinX64,
@@ -233,2 +234,3 @@ impl Platform {
Platform::LinuxPPC64LE => Some("linux-ppc64le".to_owned()),
+ Platform::LinuxRISCV64 => Some("linux-riscv64".to_owned()),
Platform::DarwinX64 => Some("darwin".to_owned()),
@@ -253,2 +255,3 @@ impl Platform {
Platform::LinuxPPC64LELegacy => "server-linux-legacy-ppc64le",
+ Platform::LinuxRISCV64 => "server-linux-riscv64",
Platform::DarwinX64 => "server-darwin",
@@ -274,2 +277,3 @@ impl Platform {
Platform::LinuxPPC64LELegacy => "cli-linux-ppc64le",
+ Platform::LinuxRISCV64 => "cli-linux-riscv64",
Platform::DarwinX64 => "cli-darwin-x64",
@@ -308,2 +312,4 @@ impl Platform {
Some(Platform::LinuxPPC64LE)
+ } else if cfg!(all(target_os = "linux", target_arch = "riscv64")) {
+ Some(Platform::LinuxRISCV64)
} else if cfg!(all(target_os = "macos", target_arch = "x86_64")) {
@@ -337,2 +343,3 @@ impl fmt::Display for Platform {
Platform::LinuxPPC64LELegacy => "LinuxPPC64LELegacy",
+ Platform::LinuxRISCV64 => "LinuxRISCV64",
Platform::DarwinX64 => "DarwinX64",
diff --git a/cli/src/util/prereqs.rs b/cli/src/util/prereqs.rs
index 4827a47..137a257 100644
--- a/cli/src/util/prereqs.rs
+++ b/cli/src/util/prereqs.rs
@@ -88,2 +88,4 @@ impl PreReqChecker {
Platform::LinuxPPC64LE
+ } else if cfg!(target_arch = "riscv64") {
+ Platform::LinuxRISCV64
} else {
diff --git a/resources/server/bin/helpers/check-requirements-linux.sh b/resources/server/bin/helpers/check-requirements-linux.sh
index 00dd3e2..91c9d20 100644
--- a/resources/server/bin/helpers/check-requirements-linux.sh
+++ b/resources/server/bin/helpers/check-requirements-linux.sh
@@ -57,2 +57,3 @@ case $ARCH in
ppc64el) LDCONFIG_ARCH="64bit";;
+ riscv64) LDCONFIG_ARCH="RISC-V";;
esac
diff --git a/src/vs/platform/extensionManagement/common/extensionManagement.ts b/src/vs/platform/extensionManagement/common/extensionManagement.ts
index 004df84..fb2acc7 100644
--- a/src/vs/platform/extensionManagement/common/extensionManagement.ts
+++ b/src/vs/platform/extensionManagement/common/extensionManagement.ts
@@ -42,2 +42,3 @@ export function TargetPlatformToString(targetPlatform: TargetPlatform) {
case TargetPlatform.LINUX_PPC64LE: return 'Linux PowerPC64';
+ case TargetPlatform.LINUX_RISCV64: return 'Linux RISC-V 64';
@@ -66,2 +67,3 @@ export function toTargetPlatform(targetPlatform: string): TargetPlatform {
case TargetPlatform.LINUX_PPC64LE: return TargetPlatform.LINUX_PPC64LE;
+ case TargetPlatform.LINUX_RISCV64: return TargetPlatform.LINUX_RISCV64;
@@ -104,2 +106,5 @@ export function getTargetPlatform(platform: Platform | 'alpine', arch: string |
}
+ if (arch === 'riscv64') {
+ return TargetPlatform.LINUX_RISCV64;
+ }
return TargetPlatform.UNKNOWN;
diff --git a/src/vs/platform/extensions/common/extensions.ts b/src/vs/platform/extensions/common/extensions.ts
index a7d6298..a7aa2bb 100644
--- a/src/vs/platform/extensions/common/extensions.ts
+++ b/src/vs/platform/extensions/common/extensions.ts
@@ -295,2 +295,3 @@ export const enum TargetPlatform {
LINUX_PPC64LE = 'linux-ppc64le',
+ LINUX_RISCV64 = 'linux-riscv64',

View File

@@ -0,0 +1,96 @@
diff --git a/build/gulpfile.reh.js b/build/gulpfile.reh.js
index df4fda0c898..ce8f21bbc0e 100644
--- a/build/gulpfile.reh.js
+++ b/build/gulpfile.reh.js
@@ -52,2 +52,3 @@ const BUILD_TARGETS = [
{ platform: 'linux', arch: 'riscv64' },
+ { platform: 'linux', arch: 'loong64' },
{ platform: 'alpine', arch: 'arm64' },
diff --git a/build/gulpfile.scan.js b/build/gulpfile.scan.js
index 0eafadc1fff..3c1d6fb5bfc 100644
--- a/build/gulpfile.scan.js
+++ b/build/gulpfile.scan.js
@@ -28,2 +28,3 @@ const BUILD_TARGETS = [
{ platform: 'linux', arch: 'riscv64' },
+ { platform: 'linux', arch: 'loong64' },
];
diff --git a/build/gulpfile.vscode.js b/build/gulpfile.vscode.js
index b208d700f2c..4be8f93f704 100644
--- a/build/gulpfile.vscode.js
+++ b/build/gulpfile.vscode.js
@@ -489,2 +489,3 @@ const BUILD_TARGETS = [
{ platform: 'linux', arch: 'riscv64' },
+ { platform: 'linux', arch: 'loong64' },
];
diff --git a/cli/src/update_service.rs b/cli/src/update_service.rs
index 29228cb4235..c1163029377 100644
--- a/cli/src/update_service.rs
+++ b/cli/src/update_service.rs
@@ -220,2 +220,3 @@ pub enum Platform {
LinuxRISCV64,
+ LinuxLoong64,
DarwinX64,
@@ -235,2 +236,3 @@ impl Platform {
Platform::LinuxRISCV64 => Some("linux-riscv64".to_owned()),
+ Platform::LinuxLoong64 => Some("linux-loong64".to_owned()),
Platform::DarwinX64 => Some("darwin".to_owned()),
@@ -256,2 +258,3 @@ impl Platform {
Platform::LinuxRISCV64 => "server-linux-riscv64",
+ Platform::LinuxLoong64 => "server-linux-loong64",
Platform::DarwinX64 => "server-darwin",
@@ -278,2 +281,3 @@ impl Platform {
Platform::LinuxRISCV64 => "cli-linux-riscv64",
+ Platform::LinuxLoong64 => "cli-linux-loong64",
Platform::DarwinX64 => "cli-darwin-x64",
@@ -314,2 +318,4 @@ impl Platform {
Some(Platform::LinuxRISCV64)
+ } else if cfg!(all(target_os = "linux", target_arch = "loongarch64")) {
+ Some(Platform::LinuxLoong64)
} else if cfg!(all(target_os = "macos", target_arch = "x86_64")) {
@@ -344,2 +350,3 @@ impl fmt::Display for Platform {
Platform::LinuxRISCV64 => "LinuxRISCV64",
+ Platform::LinuxLoong64 => "LinuxLoong64",
Platform::DarwinX64 => "DarwinX64",
diff --git a/cli/src/util/prereqs.rs b/cli/src/util/prereqs.rs
index 137a2570130..8f1e20c2aa9 100644
--- a/cli/src/util/prereqs.rs
+++ b/cli/src/util/prereqs.rs
@@ -90,2 +90,4 @@ impl PreReqChecker {
Platform::LinuxRISCV64
+ } else if cfg!(target_arch = "loongarch64") {
+ Platform::LinuxLoong64
} else {
diff --git a/resources/server/bin/helpers/check-requirements-linux.sh b/resources/server/bin/helpers/check-requirements-linux.sh
index 91c9d203387..7776dbcbc24 100644
--- a/resources/server/bin/helpers/check-requirements-linux.sh
+++ b/resources/server/bin/helpers/check-requirements-linux.sh
@@ -58,2 +58,3 @@ case $ARCH in
riscv64) LDCONFIG_ARCH="RISC-V";;
+ loongarch64) LDCONFIG_ARCH="double-float";;
esac
diff --git a/src/vs/platform/extensionManagement/common/extensionManagement.ts b/src/vs/platform/extensionManagement/common/extensionManagement.ts
index 03e78ca3116..8e59218d7ad 100644
--- a/src/vs/platform/extensionManagement/common/extensionManagement.ts
+++ b/src/vs/platform/extensionManagement/common/extensionManagement.ts
@@ -44,2 +44,3 @@ export function TargetPlatformToString(targetPlatform: TargetPlatform) {
case TargetPlatform.LINUX_RISCV64: return 'Linux RISC-V 64';
+ case TargetPlatform.LINUX_LOONG64: return 'Linux Loong64';
@@ -69,2 +70,3 @@ export function toTargetPlatform(targetPlatform: string): TargetPlatform {
case TargetPlatform.LINUX_RISCV64: return TargetPlatform.LINUX_RISCV64;
+ case TargetPlatform.LINUX_LOONG64: return TargetPlatform.LINUX_LOONG64;
@@ -113,2 +115,5 @@ export function getTargetPlatform(platform: Platform | 'alpine', arch: string |
}
+ if (arch === 'loong64') {
+ return TargetPlatform.LINUX_LOONG64;
+ }
return TargetPlatform.UNKNOWN;
diff --git a/src/vs/platform/extensions/common/extensions.ts b/src/vs/platform/extensions/common/extensions.ts
index a7aa2bb23bf..a4d076ce596 100644
--- a/src/vs/platform/extensions/common/extensions.ts
+++ b/src/vs/platform/extensions/common/extensions.ts
@@ -296,2 +296,3 @@ export const enum TargetPlatform {
LINUX_RISCV64 = 'linux-riscv64',
+ LINUX_LOONG64 = 'linux-loong64',

View File

@@ -0,0 +1,430 @@
diff --git a/build/azure-pipelines/linux/setup-env.sh b/build/azure-pipelines/linux/setup-env.sh
index fbe67b0..5b2f5d8 100755
--- a/build/azure-pipelines/linux/setup-env.sh
+++ b/build/azure-pipelines/linux/setup-env.sh
@@ -86,2 +86,14 @@ elif [ "$npm_config_arch" == "arm" ]; then
export VSCODE_REMOTE_LDFLAGS="--sysroot=$VSCODE_SYSROOT_DIR/powerpc64le-linux-gnu/powerpc64le-linux-gnu/sysroot -L$VSCODE_SYSROOT_DIR/powerpc64le-linux-gnu/powerpc64le-linux-gnu/sysroot/usr/lib/powerpc64le-linux-gnu -L$VSCODE_SYSROOT_DIR/powerpc64le-linux-gnu/powerpc64le-linux-gnu/sysroot/lib/powerpc64le-linux-gnu"
+elif [ "$npm_config_arch" == "s390x" ]; then
+ # Set compiler toolchain for client native modules
+ export CC=$VSCODE_SYSROOT_DIR/s390x-linux-gnu/bin/s390x-linux-gnu-gcc
+ export CXX=$VSCODE_SYSROOT_DIR/s390x-linux-gnu/bin/s390x-linux-gnu-g++
+ export CXXFLAGS="--sysroot=$VSCODE_SYSROOT_DIR/s390x-linux-gnu/s390x-linux-gnu/sysroot"
+ export LDFLAGS="--sysroot=$VSCODE_SYSROOT_DIR/s390x-linux-gnu/s390x-linux-gnu/sysroot -L$VSCODE_SYSROOT_DIR/s390x-linux-gnu/s390x-linux-gnu/sysroot/usr/lib/s390x-linux-gnu -L$VSCODE_SYSROOT_DIR/s390x-linux-gnu/s390x-linux-gnu/sysroot/lib/s390x-linux-gnu"
+
+ # Set compiler toolchain for remote server
+ export VSCODE_REMOTE_CC=$VSCODE_SYSROOT_DIR/s390x-linux-gnu/bin/s390x-linux-gnu-gcc
+ export VSCODE_REMOTE_CXX=$VSCODE_SYSROOT_DIR/s390x-linux-gnu/bin/s390x-linux-gnu-g++
+ export VSCODE_REMOTE_CXXFLAGS="--sysroot=$VSCODE_SYSROOT_DIR/s390x-linux-gnu/s390x-linux-gnu/sysroot"
+ export VSCODE_REMOTE_LDFLAGS="--sysroot=$VSCODE_SYSROOT_DIR/s390x-linux-gnu/s390x-linux-gnu/sysroot -L$VSCODE_SYSROOT_DIR/s390x-linux-gnu/s390x-linux-gnu/sysroot/usr/lib/s390x-linux-gnu -L$VSCODE_SYSROOT_DIR/s390x-linux-gnu/s390x-linux-gnu/sysroot/lib/s390x-linux-gnu"
fi
diff --git a/build/checksums/vscode-sysroot.txt b/build/checksums/vscode-sysroot.txt
index 0b5f38c..9f3b02b 100644
--- a/build/checksums/vscode-sysroot.txt
+++ b/build/checksums/vscode-sysroot.txt
@@ -7 +7,2 @@
fa8176d27be18bb0eeb7f55b0fa22255050b430ef68c29136599f02976eb0b1b powerpc64le-linux-gnu-glibc-2.28.tar.gz
+7055f3d40e7195fb1e13f0fbaf5ffadf781bddaca5fd5e0d9972f4157a203fb5 s390x-linux-gnu-glibc-2.28.tar.gz
diff --git a/build/gulpfile.reh.js b/build/gulpfile.reh.js
index d0770d6..8c83c13 100644
--- a/build/gulpfile.reh.js
+++ b/build/gulpfile.reh.js
@@ -53,2 +53,3 @@ const BUILD_TARGETS = [
{ platform: 'linux', arch: 'loong64' },
+ { platform: 'linux', arch: 's390x' },
{ platform: 'alpine', arch: 'arm64' },
diff --git a/build/gulpfile.scan.js b/build/gulpfile.scan.js
index cbcdddb..274d889 100644
--- a/build/gulpfile.scan.js
+++ b/build/gulpfile.scan.js
@@ -29,2 +29,3 @@ const BUILD_TARGETS = [
{ platform: 'linux', arch: 'loong64' },
+ { platform: 'linux', arch: 's390x' },
];
diff --git a/build/gulpfile.vscode.js b/build/gulpfile.vscode.js
index 95f2cf0..7395ba4 100644
--- a/build/gulpfile.vscode.js
+++ b/build/gulpfile.vscode.js
@@ -498,2 +498,3 @@ const BUILD_TARGETS = [
{ platform: 'linux', arch: 'loong64' },
+ { platform: 'linux', arch: 's390x' },
];
diff --git a/build/gulpfile.vscode.linux.js b/build/gulpfile.vscode.linux.js
index fb0e5a4..264cec1 100644
--- a/build/gulpfile.vscode.linux.js
+++ b/build/gulpfile.vscode.linux.js
@@ -31,3 +31,3 @@ const linuxPackageRevision = Math.floor(new Date().getTime() / 1000);
function getDebPackageArch(arch) {
- return { x64: 'amd64', armhf: 'armhf', arm64: 'arm64', ppc64le: 'ppc64el', riscv64: 'riscv64' }[arch];
+ return { x64: 'amd64', armhf: 'armhf', arm64: 'arm64', ppc64le: 'ppc64el', riscv64: 'riscv64', s390x: 's390x' }[arch];
}
@@ -143,3 +143,3 @@ function getRpmBuildPath(rpmArch) {
function getRpmPackageArch(arch) {
- return { x64: 'x86_64', armhf: 'armv7hl', arm64: 'aarch64', ppc64le: 'ppc64le', riscv64: 'riscv64' }[arch];
+ return { x64: 'x86_64', armhf: 'armv7hl', arm64: 'aarch64', ppc64le: 'ppc64le', riscv64: 'riscv64', s390x: 's390x' }[arch];
}
@@ -307,2 +307,3 @@ const BUILD_TARGETS = [
{ arch: 'riscv64' },
+ { arch: 's390x' },
];
diff --git a/build/linux/debian/calculate-deps.js b/build/linux/debian/calculate-deps.js
index 57934e6..b97d275 100644
--- a/build/linux/debian/calculate-deps.js
+++ b/build/linux/debian/calculate-deps.js
@@ -57,2 +57,5 @@ function calculatePackageDeps(binaryPath, arch, chromiumSysroot, vscodeSysroot)
break;
+ case 's390x':
+ cmd.push(`-l${chromiumSysroot}/usr/lib/s390x-linux-gnu`, `-l${chromiumSysroot}/lib/s390x-linux-gnu`, `-l${vscodeSysroot}/usr/lib/s390x-linux-gnu`, `-l${vscodeSysroot}/lib/s390x-linux-gnu`);
+ break;
}
diff --git a/build/linux/debian/calculate-deps.ts b/build/linux/debian/calculate-deps.ts
index c44e241..5a6e9b4 100644
--- a/build/linux/debian/calculate-deps.ts
+++ b/build/linux/debian/calculate-deps.ts
@@ -73,2 +73,8 @@ function calculatePackageDeps(binaryPath: string, arch: DebianArchString, chromi
break;
+ case 's390x':
+ cmd.push(`-l${chromiumSysroot}/usr/lib/s390x-linux-gnu`,
+ `-l${chromiumSysroot}/lib/s390x-linux-gnu`,
+ `-l${vscodeSysroot}/usr/lib/s390x-linux-gnu`,
+ `-l${vscodeSysroot}/lib/s390x-linux-gnu`);
+ break;
}
diff --git a/build/linux/debian/dep-lists.js b/build/linux/debian/dep-lists.js
index 306d91e..64377e3 100644
--- a/build/linux/debian/dep-lists.js
+++ b/build/linux/debian/dep-lists.js
@@ -218,2 +218,42 @@ exports.referenceGeneratedDepsByArch = {
],
+ 's390x': [
+ 'ca-certificates',
+ 'libatomic1',
+ 'libasound2 (>= 1.0.17)',
+ 'libatk-bridge2.0-0 (>= 2.5.3)',
+ 'libatk1.0-0 (>= 2.2.0)',
+ 'libatspi2.0-0 (>= 2.9.90)',
+ 'libc6 (>= 2.17)',
+ 'libc6 (>= 2.28)',
+ 'libcairo2 (>= 1.6.0)',
+ 'libcurl3-gnutls | libcurl3-nss | libcurl4 | libcurl3',
+ 'libdbus-1-3 (>= 1.0.2)',
+ 'libdrm2 (>= 2.4.60)',
+ 'libexpat1 (>= 2.0.1)',
+ 'libgbm1 (>= 17.1.0~rc2)',
+ 'libglib2.0-0 (>= 2.16.0)',
+ 'libglib2.0-0 (>= 2.39.4)',
+ 'libgtk-3-0 (>= 3.9.10)',
+ 'libgtk-3-0 (>= 3.9.10) | libgtk-4-1',
+ 'libnspr4 (>= 2:4.9-2~)',
+ 'libnss3 (>= 2:3.22)',
+ 'libnss3 (>= 3.26)',
+ 'libpango-1.0-0 (>= 1.14.0)',
+ 'libsecret-1-0 (>= 0.18)',
+ 'libstdc++6 (>= 4.1.1)',
+ 'libstdc++6 (>= 5)',
+ 'libstdc++6 (>= 5.2)',
+ 'libstdc++6 (>= 6)',
+ 'libx11-6',
+ 'libx11-6 (>= 2:1.4.99.1)',
+ 'libxcb1 (>= 1.9.2)',
+ 'libxcomposite1 (>= 1:0.4.4-1)',
+ 'libxdamage1 (>= 1:1.1)',
+ 'libxext6',
+ 'libxfixes3',
+ 'libxkbcommon0 (>= 0.4.1)',
+ 'libxkbfile1',
+ 'libxrandr2',
+ 'xdg-utils (>= 1.0.2)'
+ ],
};
diff --git a/build/linux/debian/dep-lists.ts b/build/linux/debian/dep-lists.ts
index 9f29943..aa769ad 100644
--- a/build/linux/debian/dep-lists.ts
+++ b/build/linux/debian/dep-lists.ts
@@ -218,2 +218,42 @@ export const referenceGeneratedDepsByArch = {
],
+ 's390x': [
+ 'ca-certificates',
+ 'libatomic1',
+ 'libasound2 (>= 1.0.17)',
+ 'libatk-bridge2.0-0 (>= 2.5.3)',
+ 'libatk1.0-0 (>= 2.2.0)',
+ 'libatspi2.0-0 (>= 2.9.90)',
+ 'libc6 (>= 2.17)',
+ 'libc6 (>= 2.28)',
+ 'libcairo2 (>= 1.6.0)',
+ 'libcurl3-gnutls | libcurl3-nss | libcurl4 | libcurl3',
+ 'libdbus-1-3 (>= 1.0.2)',
+ 'libdrm2 (>= 2.4.60)',
+ 'libexpat1 (>= 2.0.1)',
+ 'libgbm1 (>= 17.1.0~rc2)',
+ 'libglib2.0-0 (>= 2.16.0)',
+ 'libglib2.0-0 (>= 2.39.4)',
+ 'libgtk-3-0 (>= 3.9.10)',
+ 'libgtk-3-0 (>= 3.9.10) | libgtk-4-1',
+ 'libnspr4 (>= 2:4.9-2~)',
+ 'libnss3 (>= 2:3.22)',
+ 'libnss3 (>= 3.26)',
+ 'libpango-1.0-0 (>= 1.14.0)',
+ 'libsecret-1-0 (>= 0.18)',
+ 'libstdc++6 (>= 4.1.1)',
+ 'libstdc++6 (>= 5)',
+ 'libstdc++6 (>= 5.2)',
+ 'libstdc++6 (>= 6)',
+ 'libx11-6',
+ 'libx11-6 (>= 2:1.4.99.1)',
+ 'libxcb1 (>= 1.9.2)',
+ 'libxcomposite1 (>= 1:0.4.4-1)',
+ 'libxdamage1 (>= 1:1.1)',
+ 'libxext6',
+ 'libxfixes3',
+ 'libxkbcommon0 (>= 0.4.1)',
+ 'libxkbfile1',
+ 'libxrandr2',
+ 'xdg-utils (>= 1.0.2)'
+ ],
};
diff --git a/build/linux/debian/install-sysroot.js b/build/linux/debian/install-sysroot.js
index 2cd8f2d..aef739c 100644
--- a/build/linux/debian/install-sysroot.js
+++ b/build/linux/debian/install-sysroot.js
@@ -145,2 +145,6 @@ async function getVSCodeSysroot(arch) {
break;
+ case 's390x':
+ expectedName = `s390x-linux-gnu${prefix}.tar.gz`;
+ triple = 's390x-linux-gnu';
+ break;
}
diff --git a/build/linux/debian/install-sysroot.ts b/build/linux/debian/install-sysroot.ts
index d8de38e..53b4866 100644
--- a/build/linux/debian/install-sysroot.ts
+++ b/build/linux/debian/install-sysroot.ts
@@ -162,2 +162,6 @@ export async function getVSCodeSysroot(arch: DebianArchString): Promise<string>
break;
+ case 's390x':
+ expectedName = `s390x-linux-gnu${prefix}.tar.gz`;
+ triple = 's390x-linux-gnu';
+ break;
}
diff --git a/build/linux/debian/types.js b/build/linux/debian/types.js
index ce21d50..2c56b9c 100644
--- a/build/linux/debian/types.js
+++ b/build/linux/debian/types.js
@@ -8,3 +8,3 @@ exports.isDebianArchString = isDebianArchString;
function isDebianArchString(s) {
- return ['amd64', 'armhf', 'arm64', 'ppc64el', 'riscv64'].includes(s);
+ return ['amd64', 'armhf', 'arm64', 'ppc64el', 'riscv64', 's390x'].includes(s);
}
diff --git a/build/linux/debian/types.ts b/build/linux/debian/types.ts
index e97485e..43f2434 100644
--- a/build/linux/debian/types.ts
+++ b/build/linux/debian/types.ts
@@ -5,6 +5,6 @@
-export type DebianArchString = 'amd64' | 'armhf' | 'arm64' | 'ppc64el' | 'riscv64';
+export type DebianArchString = 'amd64' | 'armhf' | 'arm64' | 'ppc64el' | 'riscv64' | 's390x';
export function isDebianArchString(s: string): s is DebianArchString {
- return ['amd64', 'armhf', 'arm64', 'ppc64el', 'riscv64'].includes(s);
+ return ['amd64', 'armhf', 'arm64', 'ppc64el', 'riscv64', 's390x'].includes(s);
}
diff --git a/build/linux/rpm/dep-lists.ts b/build/linux/rpm/dep-lists.ts
index 8761e40..1885210 100644
--- a/build/linux/rpm/dep-lists.ts
+++ b/build/linux/rpm/dep-lists.ts
@@ -409,2 +409,102 @@ export const referenceGeneratedDepsByArch = {
'xdg-utils'
+ ],
+ "s390x": [
+ 'ca-certificates',
+ 'ld-linux-x86-64.so.2()(64bit)',
+ 'ld-linux-x86-64.so.2(GLIBC_2.3)(64bit)',
+ 'ld64.so.2()(64bit)',
+ 'ld64.so.2(GLIBC_2.17)(64bit)',
+ 'libX11.so.6()(64bit)',
+ 'libXcomposite.so.1()(64bit)',
+ 'libXdamage.so.1()(64bit)',
+ 'libXext.so.6()(64bit)',
+ 'libXfixes.so.3()(64bit)',
+ 'libXrandr.so.2()(64bit)',
+ 'libasound.so.2()(64bit)',
+ 'libasound.so.2(ALSA_0.9)(64bit)',
+ 'libasound.so.2(ALSA_0.9.0rc4)(64bit)',
+ 'libatk-1.0.so.0()(64bit)',
+ 'libatk-bridge-2.0.so.0()(64bit)',
+ 'libatspi.so.0()(64bit)',
+ 'libc.so.6()(64bit)',
+ 'libc.so.6(GLIBC_2.14)(64bit)',
+ 'libc.so.6(GLIBC_2.17)(64bit)',
+ 'libc.so.6(GLIBC_2.2.5)(64bit)',
+ 'libc.so.6(GLIBC_2.28)(64bit)',
+ 'libc.so.6(GLIBC_2.4)(64bit)',
+ 'libc.so.6(GLIBC_2.9)(64bit)',
+ 'libcairo.so.2()(64bit)',
+ 'libcups.so.2()(64bit)',
+ 'libcurl.so.4()(64bit)',
+ 'libdbus-1.so.3()(64bit)',
+ 'libdbus-1.so.3(LIBDBUS_1_3)(64bit)',
+ 'libdl.so.2()(64bit)',
+ 'libdl.so.2(GLIBC_2.17)(64bit)',
+ 'libdrm.so.2()(64bit)',
+ 'libexpat.so.1()(64bit)',
+ 'libgbm.so.1()(64bit)',
+ 'libgcc_s.so.1()(64bit)',
+ 'libgcc_s.so.1(GCC_3.0)(64bit)',
+ 'libgcc_s.so.1(GCC_3.4.4)(64bit)',
+ 'libgio-2.0.so.0()(64bit)',
+ 'libglib-2.0.so.0()(64bit)',
+ 'libgobject-2.0.so.0()(64bit)',
+ 'libgssapi_krb5.so.2()(64bit)',
+ 'libgssapi_krb5.so.2(gssapi_krb5_2_MIT)(64bit)',
+ 'libgtk-3.so.0()(64bit)',
+ 'libkrb5.so.3()(64bit)',
+ 'libkrb5.so.3(krb5_3_MIT)(64bit)',
+ 'libm.so.6()(64bit)',
+ 'libm.so.6(GLIBC_2.17)(64bit)',
+ 'libm.so.6(GLIBC_2.2.5)(64bit)',
+ 'libm.so.6(GLIBC_2.27)(64bit)',
+ 'libnspr4.so()(64bit)',
+ 'libnss3.so()(64bit)',
+ 'libnss3.so(NSS_3.11)(64bit)',
+ 'libnss3.so(NSS_3.12)(64bit)',
+ 'libnss3.so(NSS_3.12.1)(64bit)',
+ 'libnss3.so(NSS_3.2)(64bit)',
+ 'libnss3.so(NSS_3.22)(64bit)',
+ 'libnss3.so(NSS_3.3)(64bit)',
+ 'libnss3.so(NSS_3.30)(64bit)',
+ 'libnss3.so(NSS_3.4)(64bit)',
+ 'libnss3.so(NSS_3.5)(64bit)',
+ 'libnss3.so(NSS_3.9.2)(64bit)',
+ 'libnssutil3.so()(64bit)',
+ 'libnssutil3.so(NSSUTIL_3.12.3)(64bit)',
+ 'libpango-1.0.so.0()(64bit)',
+ 'libpthread.so.0()(64bit)',
+ 'libpthread.so.0(GLIBC_2.17)(64bit)',
+ 'libpthread.so.0(GLIBC_2.2.5)(64bit)',
+ 'libpthread.so.0(GLIBC_2.3.2)(64bit)',
+ 'libpthread.so.0(GLIBC_2.3.3)(64bit)',
+ 'libsmime3.so()(64bit)',
+ 'libsmime3.so(NSS_3.10)(64bit)',
+ 'libsmime3.so(NSS_3.2)(64bit)',
+ 'libssl3.so(NSS_3.28)(64bit)',
+ 'libstdc++.so.6()(64bit)',
+ 'libstdc++.so.6(CXXABI_1.3)(64bit)',
+ 'libstdc++.so.6(CXXABI_1.3.5)(64bit)',
+ 'libstdc++.so.6(CXXABI_1.3.8)(64bit)',
+ 'libstdc++.so.6(CXXABI_1.3.9)(64bit)',
+ 'libstdc++.so.6(GLIBCXX_3.4)(64bit)',
+ 'libstdc++.so.6(GLIBCXX_3.4.11)(64bit)',
+ 'libstdc++.so.6(GLIBCXX_3.4.14)(64bit)',
+ 'libstdc++.so.6(GLIBCXX_3.4.15)(64bit)',
+ 'libstdc++.so.6(GLIBCXX_3.4.18)(64bit)',
+ 'libstdc++.so.6(GLIBCXX_3.4.19)(64bit)',
+ 'libstdc++.so.6(GLIBCXX_3.4.20)(64bit)',
+ 'libstdc++.so.6(GLIBCXX_3.4.21)(64bit)',
+ 'libstdc++.so.6(GLIBCXX_3.4.22)(64bit)',
+ 'libstdc++.so.6(GLIBCXX_3.4.5)(64bit)',
+ 'libstdc++.so.6(GLIBCXX_3.4.9)(64bit)',
+ 'libutil.so.1()(64bit)',
+ 'libutil.so.1(GLIBC_2.2.5)(64bit)',
+ 'libxcb.so.1()(64bit)',
+ 'libxkbcommon.so.0()(64bit)',
+ 'libxkbcommon.so.0(V_0.5.0)(64bit)',
+ 'libxkbfile.so.1()(64bit)',
+ 'rpmlib(FileDigests) <= 4.6.0-1',
+ 'rtld(GNU_HASH)',
+ 'xdg-utils'
]
diff --git a/build/linux/rpm/types.js b/build/linux/rpm/types.js
index a20b9c2..7b58961 100644
--- a/build/linux/rpm/types.js
+++ b/build/linux/rpm/types.js
@@ -8,3 +8,3 @@ exports.isRpmArchString = isRpmArchString;
function isRpmArchString(s) {
- return ['x86_64', 'armv7hl', 'aarch64', 'ppc64le', 'riscv64'].includes(s);
+ return ['x86_64', 'armv7hl', 'aarch64', 'ppc64le', 'riscv64', 's390x'].includes(s);
}
diff --git a/build/linux/rpm/types.ts b/build/linux/rpm/types.ts
index c6a01da..3f3c3f5 100644
--- a/build/linux/rpm/types.ts
+++ b/build/linux/rpm/types.ts
@@ -5,6 +5,6 @@
-export type RpmArchString = 'x86_64' | 'armv7hl' | 'aarch64' | 'ppc64le' | 'riscv64';
+export type RpmArchString = 'x86_64' | 'armv7hl' | 'aarch64' | 'ppc64le' | 'riscv64' | 's390x';
export function isRpmArchString(s: string): s is RpmArchString {
- return ['x86_64', 'armv7hl', 'aarch64', 'ppc64le', 'riscv64'].includes(s);
+ return ['x86_64', 'armv7hl', 'aarch64', 'ppc64le', 'riscv64', 's390x'].includes(s);
}
diff --git a/cli/src/update_service.rs b/cli/src/update_service.rs
index 9033914..bcab676 100644
--- a/cli/src/update_service.rs
+++ b/cli/src/update_service.rs
@@ -221,2 +221,3 @@ pub enum Platform {
LinuxLoong64,
+ LinuxS390X,
DarwinX64,
@@ -237,2 +238,3 @@ impl Platform {
Platform::LinuxLoong64 => Some("linux-loong64".to_owned()),
+ Platform::LinuxS390X => Some("linux-s390x".to_owned()),
Platform::DarwinX64 => Some("darwin".to_owned()),
@@ -259,2 +261,3 @@ impl Platform {
Platform::LinuxLoong64 => "server-linux-loong64",
+ Platform::LinuxS390X => "server-linux-s390x",
Platform::DarwinX64 => "server-darwin",
@@ -282,2 +285,3 @@ impl Platform {
Platform::LinuxLoong64 => "cli-linux-loong64",
+ Platform::LinuxS390X => "cli-linux-s390x",
Platform::DarwinX64 => "cli-darwin-x64",
@@ -320,2 +324,4 @@ impl Platform {
Some(Platform::LinuxLoong64)
+ } else if cfg!(all(target_os = "linux", target_arch = "s390x")) {
+ Some(Platform::LinuxS390X)
} else if cfg!(all(target_os = "macos", target_arch = "x86_64")) {
@@ -351,2 +357,3 @@ impl fmt::Display for Platform {
Platform::LinuxLoong64 => "LinuxLoong64",
+ Platform::LinuxS390X => "LinuxRISCV64",
Platform::DarwinX64 => "DarwinX64",
diff --git a/cli/src/util/prereqs.rs b/cli/src/util/prereqs.rs
index e0fba27..4827a47 100644
--- a/cli/src/util/prereqs.rs
+++ b/cli/src/util/prereqs.rs
@@ -92,2 +92,4 @@ impl PreReqChecker {
Platform::LinuxLoong64
+ } else if cfg!(target_arch = "s390x") {
+ Platform::LinuxS390X
} else {
diff --git a/resources/server/bin/helpers/check-requirements-linux.sh b/resources/server/bin/helpers/check-requirements-linux.sh
index 8ef07a2..00dd3e2 100644
--- a/resources/server/bin/helpers/check-requirements-linux.sh
+++ b/resources/server/bin/helpers/check-requirements-linux.sh
@@ -59,2 +59,3 @@ case $ARCH in
loongarch64) LDCONFIG_ARCH="double-float";;
+ s390x) LDCONFIG_ARCH="64bit";;
esac
diff --git a/src/vs/platform/extensionManagement/common/extensionManagement.ts b/src/vs/platform/extensionManagement/common/extensionManagement.ts
index ea7b30d..004df84 100644
--- a/src/vs/platform/extensionManagement/common/extensionManagement.ts
+++ b/src/vs/platform/extensionManagement/common/extensionManagement.ts
@@ -44,2 +44,3 @@ export function TargetPlatformToString(targetPlatform: TargetPlatform) {
case TargetPlatform.LINUX_LOONG64: return 'Linux Loong64';
+ case TargetPlatform.LINUX_S390X: return 'Linux S390X';
@@ -70,2 +71,3 @@ export function toTargetPlatform(targetPlatform: string): TargetPlatform {
case TargetPlatform.LINUX_LOONG64: return TargetPlatform.LINUX_LOONG64;
+ case TargetPlatform.LINUX_S390X: return TargetPlatform.LINUX_S390X;
@@ -114,2 +116,5 @@ export function getTargetPlatform(platform: Platform | 'alpine', arch: string |
}
+ if (arch === 's390x') {
+ return TargetPlatform.LINUX_S390X;
+ }
return TargetPlatform.UNKNOWN;
diff --git a/src/vs/platform/extensions/common/extensions.ts b/src/vs/platform/extensions/common/extensions.ts
index 5973d4d..a7d6298 100644
--- a/src/vs/platform/extensions/common/extensions.ts
+++ b/src/vs/platform/extensions/common/extensions.ts
@@ -297,2 +297,3 @@ export const enum TargetPlatform {
LINUX_LOONG64 = 'linux-loong64',
+ LINUX_S390X = 'linux-s390x',

View File

@@ -1,8 +1,14 @@
diff --git a/build/npm/postinstall.js b/build/npm/postinstall.js
index e38c2cb..e00627c 100644
--- a/build/npm/postinstall.js
+++ b/build/npm/postinstall.js
@@ -134,2 +134,3 @@ for (let dir of dirs) {
setNpmrcConfig('remote', opts.env);
+ continue;
}
diff --git a/build/npm/dirs.js b/build/npm/dirs.js
index b9645e6..22f3450 100644
--- a/build/npm/dirs.js
+++ b/build/npm/dirs.js
@@ -47,4 +47,2 @@ const dirs = [
'extensions/vscode-test-resolver',
- 'remote',
- 'remote/web',
'test/automation',
@@ -59,4 +57,2 @@ if (fs.existsSync(`${__dirname}/../../.build/distro/npm`)) {
dirs.push('.build/distro/npm');
- dirs.push('.build/distro/npm/remote');
- dirs.push('.build/distro/npm/remote/web');
}

View File

@@ -1,39 +1,39 @@
diff --git a/build/gulpfile.vscode.linux.js b/build/gulpfile.vscode.linux.js
index 28ddfb0..0fd18a1 100644
index fb0e5a4..412a6cc 100644
--- a/build/gulpfile.vscode.linux.js
+++ b/build/gulpfile.vscode.linux.js
@@ -192,2 +192,3 @@ function prepareRpmPackage(arch) {
@@ -197,2 +197,3 @@ function prepareRpmPackage(arch) {
const spec = code.pipe(es.through(
+ null,
async function () {
@@ -306,4 +307,3 @@ BUILD_TARGETS.forEach(({ arch }) => {
@@ -312,4 +313,3 @@ BUILD_TARGETS.forEach(({ arch }) => {
const prepareDebTask = task.define(`vscode-linux-${arch}-prepare-deb`, task.series(rimraf(`.build/linux/deb/${debArch}`), prepareDebPackage(arch)));
- gulp.task(prepareDebTask);
- const buildDebTask = task.define(`vscode-linux-${arch}-build-deb`, buildDebPackage(arch));
+ const buildDebTask = task.define(`vscode-linux-${arch}-build-deb`, task.series(prepareDebTask, buildDebPackage(arch)));
gulp.task(buildDebTask);
@@ -312,4 +312,3 @@ BUILD_TARGETS.forEach(({ arch }) => {
@@ -318,4 +318,3 @@ BUILD_TARGETS.forEach(({ arch }) => {
const prepareRpmTask = task.define(`vscode-linux-${arch}-prepare-rpm`, task.series(rimraf(`.build/linux/rpm/${rpmArch}`), prepareRpmPackage(arch)));
- gulp.task(prepareRpmTask);
- const buildRpmTask = task.define(`vscode-linux-${arch}-build-rpm`, buildRpmPackage(arch));
+ const buildRpmTask = task.define(`vscode-linux-${arch}-build-rpm`, task.series(prepareRpmTask, buildRpmPackage(arch)));
gulp.task(buildRpmTask);
diff --git a/build/linux/dependencies-generator.js b/build/linux/dependencies-generator.js
index 19adbeb..fef80a5 100644
index 80b11b3..0a0ca71 100644
--- a/build/linux/dependencies-generator.js
+++ b/build/linux/dependencies-generator.js
@@ -24,3 +24,3 @@ const product = require("../../product.json");
// are valid, are in dep-lists.ts
-const FAIL_BUILD_FOR_NEW_DEPENDENCIES = true;
+const FAIL_BUILD_FOR_NEW_DEPENDENCIES = false;
// Based on https://source.chromium.org/chromium/chromium/src/+/refs/tags/124.0.6367.243:chrome/installer/linux/BUILD.gn;l=64-80
@@ -56,3 +56,3 @@ async function getDependencies(packageType, buildDir, applicationName, arch) {
// Based on https://source.chromium.org/chromium/chromium/src/+/refs/tags/128.0.6613.186:chrome/installer/linux/BUILD.gn;l=64-80
@@ -57,3 +57,3 @@ async function getDependencies(packageType, buildDir, applicationName, arch) {
// Add the tunnel binary.
- files.push(path.join(buildDir, 'bin', product.tunnelApplicationName));
+ // files.push(path.join(buildDir, 'bin', product.tunnelApplicationName));
// Add the main executable.
diff --git a/build/linux/dependencies-generator.ts b/build/linux/dependencies-generator.ts
index 5fe4ac5..1d3e68a 100644
index 3163aee..dca1845 100644
--- a/build/linux/dependencies-generator.ts
+++ b/build/linux/dependencies-generator.ts
@@ -25,3 +25,3 @@ import product = require('../../product.json');
@@ -41,17 +41,9 @@ index 5fe4ac5..1d3e68a 100644
-const FAIL_BUILD_FOR_NEW_DEPENDENCIES: boolean = true;
+const FAIL_BUILD_FOR_NEW_DEPENDENCIES: boolean = false;
@@ -61,3 +61,3 @@ export async function getDependencies(packageType: 'deb' | 'rpm', buildDir: stri
@@ -62,3 +62,3 @@ export async function getDependencies(packageType: 'deb' | 'rpm', buildDir: stri
// Add the tunnel binary.
- files.push(path.join(buildDir, 'bin', product.tunnelApplicationName));
+ // files.push(path.join(buildDir, 'bin', product.tunnelApplicationName));
// Add the main executable.
diff --git a/resources/linux/rpm/code.spec.template b/resources/linux/rpm/code.spec.template
index c9e57db..bda2604 100644
--- a/resources/linux/rpm/code.spec.template
+++ b/resources/linux/rpm/code.spec.template
@@ -87 +87,3 @@ update-mime-database %{_datadir}/mime &> /dev/null || :
%{_datadir}/zsh/site-functions/_%{name}
+
+%config(noreplace) /usr/share/%{name}/resources/app/product.json
\ No newline at end of file

View File

@@ -1,24 +1,25 @@
diff --git a/src/bootstrap-amd.js b/src/bootstrap-amd.js
index 9c8daf5..297e106 100644
--- a/src/bootstrap-amd.js
+++ b/src/bootstrap-amd.js
@@ -17,3 +17,3 @@ import * as fs from 'fs';
diff --git a/src/bootstrap-esm.ts b/src/bootstrap-esm.ts
index f2cf101..d974f65 100644
--- a/src/bootstrap-esm.ts
+++ b/src/bootstrap-esm.ts
@@ -8,3 +8,3 @@ import * as fs from 'fs';
import { fileURLToPath } from 'url';
-import { createRequire, register } from 'node:module';
+import * as Module from 'node:module';
import { product, pkg } from './bootstrap-meta.js';
@@ -23,3 +23,3 @@ import * as performance from './vs/base/common/performance.js';
/** @ts-ignore */
@@ -14,3 +14,4 @@ import { INLSConfiguration } from './vs/nls.js';
-const require = createRequire(import.meta.url);
+// @ts-ignore
+const require = Module.createRequire(import.meta.url);
/** @type any */
@@ -29,3 +29,4 @@ const __dirname = path.dirname(fileURLToPath(import.meta.url));
const __dirname = path.dirname(fileURLToPath(import.meta.url));
@@ -18,3 +19,4 @@ const __dirname = path.dirname(fileURLToPath(import.meta.url));
// Install a hook to module resolution to map 'fs' to 'original-fs'
-if (process.env['ELECTRON_RUN_AS_NODE'] || process.versions['electron']) {
+// @ts-ignore
+if (Module.register && (process.env['ELECTRON_RUN_AS_NODE'] || process.versions['electron'])) {
const jsCode = `
@@ -44,3 +45,4 @@ if (process.env['ELECTRON_RUN_AS_NODE'] || process.versions['electron']) {
@@ -33,3 +35,4 @@ if (process.env['ELECTRON_RUN_AS_NODE'] || process.versions['electron']) {
}`;
- register(`data:text/javascript;base64,${Buffer.from(jsCode).toString('base64')}`, import.meta.url);
+ // @ts-ignore

View File

@@ -1,70 +0,0 @@
diff --git a/build/gulpfile.reh.js b/build/gulpfile.reh.js
index e314794..8248247 100644
--- a/build/gulpfile.reh.js
+++ b/build/gulpfile.reh.js
@@ -437,16 +437,2 @@ function packageTask(type, platform, arch, sourceFolderName, destinationFolderNa
- if (platform === 'linux' && process.env['VSCODE_NODE_GLIBC'] === '-glibc-2.17') {
- result = es.merge(result,
- gulp.src(`resources/server/bin/helpers/check-requirements-linux-legacy.sh`, { base: '.' })
- .pipe(rename(`bin/helpers/check-requirements.sh`))
- .pipe(util.setExecutableBit())
- );
- } else 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())
- );
- }
-
result = inlineMeta(result, {
diff --git a/remote/package-lock.json b/remote/package-lock.json
index 5872575..a559230 100644
--- a/remote/package-lock.json
+++ b/remote/package-lock.json
@@ -37,3 +37,3 @@
"native-watchdog": "^1.4.1",
- "node-pty": "1.1.0-beta21",
+ "node-pty": "1.1.0-beta4",
"tas-client-umd": "0.2.0",
@@ -712,2 +712,8 @@
},
+ "node_modules/nan": {
+ "version": "2.20.0",
+ "resolved": "https://registry.npmjs.org/nan/-/nan-2.20.0.tgz",
+ "integrity": "sha512-bk3gXBZDGILuuo/6sKtr0DQmSThYHLtNCdSdXk9YkxD/jK6X2vmCyyXBBxyqZ4XcnzTyYEAThfX3DCEnLf6igw==",
+ "license": "MIT"
+ },
"node_modules/napi-build-utils": {
@@ -750,16 +756,9 @@
"node_modules/node-pty": {
- "version": "1.1.0-beta21",
- "resolved": "https://registry.npmjs.org/node-pty/-/node-pty-1.1.0-beta21.tgz",
- "integrity": "sha512-FYpnY9g8qMQLTpqyeY9NVli6YfCWwvG6v6gmaDBbPjlc1VMp/+Zivq0SStDrRr1aciGnFCZzpL0BzdMnmbDnAw==",
+ "version": "1.1.0-beta4",
+ "resolved": "https://registry.npmjs.org/node-pty/-/node-pty-1.1.0-beta4.tgz",
+ "integrity": "sha512-CgffN9AxVtH4g7vDxtanm2qaR7jw3oet9r+ArzziGiFvmds9SdR3gXkZF0fqZWSxhTHZusJWvsuKvRv+5O2K8A==",
"hasInstallScript": true,
+ "license": "MIT",
"dependencies": {
- "node-addon-api": "^7.1.0"
- }
- },
- "node_modules/node-pty/node_modules/node-addon-api": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.0.tgz",
- "integrity": "sha512-mNcltoe1R8o7STTegSOHdnJNN7s5EUvhoS7ShnTHDyOSd+8H+UdWODq6qSv67PjC8Zc5JRT8+oLAMCr0SIXw7g==",
- "engines": {
- "node": "^16 || ^18 || >= 20"
+ "nan": "^2.17.0"
}
diff --git a/remote/package.json b/remote/package.json
index c107b04..112501b 100644
--- a/remote/package.json
+++ b/remote/package.json
@@ -32,3 +32,3 @@
"native-watchdog": "^1.4.1",
- "node-pty": "1.1.0-beta21",
+ "node-pty": "1.1.0-beta4",
"tas-client-umd": "0.2.0",

View File

@@ -0,0 +1,35 @@
diff --git a/package-lock.json b/package-lock.json
index 7b02996..4642486 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -17875,10 +17875,11 @@
}
},
"node_modules/web-tree-sitter": {
- "version": "0.20.8",
- "resolved": "https://registry.npmjs.org/web-tree-sitter/-/web-tree-sitter-0.20.8.tgz",
- "integrity": "sha512-weOVgZ3aAARgdnb220GqYuh7+rZU0Ka9k9yfKtGAzEYMa6GgiCzW9JjQRJyCJakvibQW+dfjJdihjInKuuCAUQ==",
- "dev": true
+ "version": "0.23.0",
+ "resolved": "https://registry.npmjs.org/web-tree-sitter/-/web-tree-sitter-0.23.0.tgz",
+ "integrity": "sha512-p1T+ju2H30fpVX2q5yr+Wv/NfdMMWMjQp9Q+4eEPrHAJpPFh9DPfI2Yr9L1f5SA5KPE+g1cNUqPbpihxUDzmVw==",
+ "dev": true,
+ "license": "MIT"
},
"node_modules/webidl-conversions": {
"version": "3.0.1",
diff --git a/package.json b/package.json
index 7e0de18..4ceaded 100644
--- a/package.json
+++ b/package.json
@@ -226,7 +226,10 @@
},
"@parcel/watcher@2.1.0": {
"node-addon-api": "7.1.0"
+ },
+ "@vscode/l10n-dev@0.0.35": {
+ "web-tree-sitter": "0.23.0"
}
},
"repository": {
"type": "git",

View File

@@ -1,9 +1,14 @@
diff --git a/resources/linux/rpm/code.spec.template b/resources/linux/rpm/code.spec.template
index c9e57db..ef27166 100644
index a73bc02..242bab0 100644
--- a/resources/linux/rpm/code.spec.template
+++ b/resources/linux/rpm/code.spec.template
@@ -2,3 +2,3 @@ Name: @@NAME@@
Version: @@VERSION@@
-Release: @@RELEASE@@.el8
+Release: el8
+Release: el9
Summary: Code editing. Redefined.
@@ -88 +88,3 @@ update-mime-database %{_datadir}/mime &> /dev/null || :
%{_datadir}/zsh/site-functions/_%{name}
+
+%config(noreplace) /usr/share/%{name}/resources/app/product.json
\ No newline at end of file

View File

@@ -0,0 +1,22 @@
diff --git a/extensions/git/src/ipc/ipcServer.ts b/extensions/git/src/ipc/ipcServer.ts
index a7142fe..526ca17 100644
--- a/extensions/git/src/ipc/ipcServer.ts
+++ b/extensions/git/src/ipc/ipcServer.ts
@@ -20,3 +20,7 @@ function getIPCHandlePath(id: string): string {
if (process.platform !== 'darwin' && process.env['XDG_RUNTIME_DIR']) {
- return path.join(process.env['XDG_RUNTIME_DIR'] as string, `vscode-git-${id}.sock`);
+ if (!!process.env.FLATPAK_ID) {
+ return path.join(process.env['XDG_RUNTIME_DIR'] as string, 'app', process.env.FLATPAK_ID, `vscode-git-${id}.sock`);
+ } else {
+ return path.join(process.env['XDG_RUNTIME_DIR'] as string, `vscode-git-${id}.sock`);
+ }
}
diff --git a/src/vs/base/parts/ipc/node/ipc.net.ts b/src/vs/base/parts/ipc/node/ipc.net.ts
index 629f2c4..ec1acba 100644
--- a/src/vs/base/parts/ipc/node/ipc.net.ts
+++ b/src/vs/base/parts/ipc/node/ipc.net.ts
@@ -774,3 +774,3 @@ function unmask(buffer: VSBuffer, mask: number): void {
// Related to https://github.com/microsoft/vscode/issues/30624
-export const XDG_RUNTIME_DIR = <string | undefined>process.env['XDG_RUNTIME_DIR'];
+export const XDG_RUNTIME_DIR = <string | undefined>(!!process.env.FLATPAK_ID ? join(process.env['XDG_RUNTIME_DIR'] as string, 'app', process.env.FLATPAK_ID) : process.env['XDG_RUNTIME_DIR']);

View File

@@ -1,9 +1,12 @@
diff --git a/build/npm/postinstall.js b/build/npm/postinstall.js
index d45d5bc..81a6449 100644
index 88e3c9e..4cad4f1 100644
--- a/build/npm/postinstall.js
+++ b/build/npm/postinstall.js
@@ -56,3 +56,3 @@ function yarnInstall(dir, opts) {
@@ -55,4 +55,6 @@ function npmInstall(dir, opts) {
opts.cwd = root;
- if (process.env['npm_config_arch'] === 'arm64') {
+ if (process.env['npm_config_arch'] === 'arm64' || process.env['npm_config_arch'] === 'arm' || process.env['npm_config_arch'] === 'ppc64' || process.env['npm_config_arch'] === 'riscv64') {
+ if (process.env['npm_config_arch'] === 'arm64' || process.env['npm_config_arch'] === 'arm' || process.env['npm_config_arch'] === 'ppc64' || process.env['npm_config_arch'] === 'riscv64' || process.env['npm_config_arch'] === 's390x') {
run('sudo', ['docker', 'run', '--rm', '--privileged', 'multiarch/qemu-user-static', '--reset', '-p', 'yes'], opts);
+ } else if (process.env['npm_config_arch'] === 'loong64') {
+ run('sudo', ['docker', 'run', '--rm', '--privileged', 'loongcr.lcpu.dev/multiarch/archlinux', '--reset', '-p', 'yes'], opts);
}

View File

@@ -1,28 +1,36 @@
diff --git a/src/main.js b/src/main.js
index 10bd503..4048782 100644
--- a/src/main.js
+++ b/src/main.js
@@ -132,2 +132,14 @@ registerListeners();
diff --git a/src/main.ts b/src/main.ts
index ff9a5e8..2135d00 100644
--- a/src/main.ts
+++ b/src/main.ts
@@ -8,2 +8,3 @@ import * as fs from 'original-fs';
import * as os from 'os';
+import { createRequire } from 'node:module';
import { performance } from 'perf_hooks';
@@ -24,2 +25,3 @@ import { NativeParsedArgs } from './vs/platform/environment/common/argv.js';
const __dirname = path.dirname(fileURLToPath(import.meta.url));
+const require = createRequire(import.meta.url);
@@ -112,2 +114,14 @@ registerListeners();
+function resolveUserProduct() {
+ const userDataPath = getUserDataPath({}, product.nameShort ?? 'code-oss-dev');
+ const userProductPath = `file:///${userDataPath}/product.json`;
+ const userProductPath = path.join(userDataPath, 'product.json');
+
+ try {
+ // Assign the product configuration to the global scope
+ const productPath = require(fileURLToPath(userProductPath));
+ global["_VSCODE_USER_PRODUCT_JSON"] = productPath;
+ const productJson = require(userProductPath);
+ // @ts-expect-error
+ globalThis._VSCODE_USER_PRODUCT_JSON = productJson;
+ } catch (ex) {
+ }
+}
+
/**
@@ -208,2 +220,3 @@ function startup(codeCachePath, nlsConfig) {
@@ -183,2 +197,3 @@ async function startup(codeCachePath: string | undefined, nlsConfig: INLSConfigu
process.env['VSCODE_CODE_CACHE_PATH'] = codeCachePath || '';
+ resolveUserProduct();
diff --git a/src/vs/platform/product/common/product.ts b/src/vs/platform/product/common/product.ts
index a98043f..204ce1b 100644
index 1a2a619..9bf5ac0 100644
--- a/src/vs/platform/product/common/product.ts
+++ b/src/vs/platform/product/common/product.ts
@@ -29,2 +29,36 @@ else if (globalThis._VSCODE_PRODUCT_JSON && globalThis._VSCODE_PACKAGE_JSON) {

View File

@@ -0,0 +1,161 @@
diff --git a/build/package-lock.json b/build/package-lock.json
index 1e373f2..3ea31d0 100644
--- a/build/package-lock.json
+++ b/build/package-lock.json
@@ -53,3 +53,2 @@
"through2": "^4.0.2",
- "tree-sitter": "^0.20.5",
"vscode-universal-bundler": "^0.1.3",
@@ -59,2 +58,3 @@
"optionalDependencies": {
+ "tree-sitter": "^0.20.5",
"tree-sitter-typescript": "^0.20.5",
@@ -1381,3 +1381,3 @@
"integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==",
- "devOptional": true,
+ "optional": true,
"dependencies": {
@@ -1433,3 +1433,2 @@
"integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
- "devOptional": true,
"funding": [
@@ -1448,2 +1447,3 @@
],
+ "optional": true,
"dependencies": {
@@ -1622,3 +1622,3 @@
"integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==",
- "devOptional": true
+ "optional": true
},
@@ -1830,3 +1830,3 @@
"integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==",
- "devOptional": true,
+ "optional": true,
"engines": {
@@ -1896,3 +1896,3 @@
"integrity": "sha512-463v3ZeIrcWtdgIg6vI6XUncguvr2TnGl4SzDXinkt9mSLpBJKXT3mW6xT3VQdDN11+WVs29pgvivTc4Lp8v+w==",
- "devOptional": true,
+ "optional": true,
"engines": {
@@ -2150,3 +2150,3 @@
"integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==",
- "devOptional": true,
+ "optional": true,
"engines": {
@@ -2281,3 +2281,3 @@
"integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==",
- "devOptional": true
+ "optional": true
},
@@ -2363,3 +2363,3 @@
"integrity": "sha1-l/tdlr/eiXMxPyDoKI75oWf6ZM4= sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==",
- "devOptional": true
+ "optional": true
},
@@ -2676,3 +2676,2 @@
"integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==",
- "devOptional": true,
"funding": [
@@ -2690,3 +2689,4 @@
}
- ]
+ ],
+ "optional": true
},
@@ -2713,3 +2713,3 @@
"integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==",
- "devOptional": true
+ "optional": true
},
@@ -3165,3 +3165,3 @@
"integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==",
- "devOptional": true
+ "optional": true
},
@@ -3183,3 +3183,3 @@
"integrity": "sha512-nO1xXxfh/RWNxfd/XPfbIfFk5vgLsAxUR9y5O0cHMJu/AW9U95JLXqthYHjEp+8gQ5p96K9jUp8nbVOxCdRbtw==",
- "devOptional": true
+ "optional": true
},
@@ -3189,3 +3189,3 @@
"integrity": "sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==",
- "devOptional": true
+ "optional": true
},
@@ -3195,3 +3195,3 @@
"integrity": "sha512-qWO5l3SCqbwQavymOmtTVuCWZE23++S+rxyoHjXqUmPyzRcaoI4lA2gO55/drddGnedAyjA7sk76SfQ5lfUMnw==",
- "devOptional": true,
+ "optional": true,
"dependencies": {
@@ -3207,3 +3207,3 @@
"integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
- "devOptional": true,
+ "optional": true,
"dependencies": {
@@ -3475,3 +3475,3 @@
"integrity": "sha512-jAXscXWMcCK8GgCoHOfIr0ODh5ai8mj63L2nWrjuAgXE6tDyYGnx4/8o/rCgU+B4JSyZBKbeZqzhtwtC3ovxjw==",
- "devOptional": true,
+ "optional": true,
"dependencies": {
@@ -3559,3 +3559,3 @@
"integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==",
- "devOptional": true,
+ "optional": true,
"dependencies": {
@@ -3772,3 +3772,2 @@
"integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==",
- "devOptional": true,
"funding": [
@@ -3786,3 +3785,4 @@
}
- ]
+ ],
+ "optional": true
},
@@ -3792,3 +3792,2 @@
"integrity": "sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==",
- "devOptional": true,
"funding": [
@@ -3807,2 +3806,3 @@
],
+ "optional": true,
"dependencies": {
@@ -3901,3 +3901,3 @@
"integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo= sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==",
- "devOptional": true,
+ "optional": true,
"engines": {
@@ -3934,3 +3934,3 @@
"integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==",
- "devOptional": true,
+ "optional": true,
"dependencies": {
@@ -3946,3 +3946,3 @@
"integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==",
- "devOptional": true,
+ "optional": true,
"dependencies": {
@@ -4029,4 +4029,4 @@
"integrity": "sha512-GxJodajVpfgb3UREzzIbtA1hyRnTxVbWVXrbC6sk4xTMH5ERMBJk9HJNq4c8jOJeUaIOmLcwg+t6mez/PDvGqg==",
- "devOptional": true,
"hasInstallScript": true,
+ "optional": true,
"dependencies": {
@@ -4066,3 +4066,3 @@
"integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0= sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==",
- "devOptional": true,
+ "optional": true,
"dependencies": {
diff --git a/build/package.json b/build/package.json
index aa94a21..9644be4 100644
--- a/build/package.json
+++ b/build/package.json
@@ -47,3 +47,2 @@
"through2": "^4.0.2",
- "tree-sitter": "^0.20.5",
"vscode-universal-bundler": "^0.1.3",
@@ -59,2 +58,3 @@
"optionalDependencies": {
+ "tree-sitter": "^0.20.5",
"tree-sitter-typescript": "^0.20.5",

View File

@@ -0,0 +1,11 @@
diff --git a/src/vs/workbench/electron-sandbox/window.ts b/src/vs/workbench/electron-sandbox/window.ts
index 90c9654..3ef5d32 100644
--- a/src/vs/workbench/electron-sandbox/window.ts
+++ b/src/vs/workbench/electron-sandbox/window.ts
@@ -257,4 +257,4 @@ export class NativeWindow extends BaseWindow {
const quality = this.productService.quality;
- const stableURL = 'https://code.visualstudio.com/docs/?dv=osx';
- const insidersURL = 'https://code.visualstudio.com/docs/?dv=osx&build=insiders';
+ const stableURL = 'https://github.com/VSCodium/vscodium/releases/latest';
+ const insidersURL = 'https://github.com/VSCodium/vscodium-insiders/releases/latest';
this.openerService.open(quality === 'stable' ? stableURL : insidersURL);

View File

@@ -1,5 +1,5 @@
diff --git a/src/vs/workbench/contrib/extensions/electron-sandbox/extensionsSlowActions.ts b/src/vs/workbench/contrib/extensions/electron-sandbox/extensionsSlowActions.ts
index 87839a6..49727fc 100644
index 447f4c9..4ad0e18 100644
--- a/src/vs/workbench/contrib/extensions/electron-sandbox/extensionsSlowActions.ts
+++ b/src/vs/workbench/contrib/extensions/electron-sandbox/extensionsSlowActions.ts
@@ -153,3 +153,3 @@ class ReportExtensionSlowAction extends Action {
@@ -8,7 +8,7 @@ index 87839a6..49727fc 100644
+- VSCodium version: \`${this._productService.version}\`\n\n${message}`);
diff --git a/src/vs/workbench/contrib/issue/browser/baseIssueReporterService.ts b/src/vs/workbench/contrib/issue/browser/baseIssueReporterService.ts
index ec21ac3..89fabe0 100644
index 26d796b..1d1ff79 100644
--- a/src/vs/workbench/contrib/issue/browser/baseIssueReporterService.ts
+++ b/src/vs/workbench/contrib/issue/browser/baseIssueReporterService.ts
@@ -630,3 +630,3 @@ export class BaseIssueReporterService extends Disposable {
@@ -63,16 +63,16 @@ index ec21ac3..89fabe0 100644
+ reset(descriptionTitle, localize('handlesIssuesElsewhere', "This extension handles issues outside of VSCodium"));
reset(descriptionSubtitle, localize('elsewhereDescription', "The '{0}' extension prefers to use an external issue reporter. To be taken to that issue reporting experience, click the button below.", selectedExtension.displayName));
diff --git a/src/vs/workbench/contrib/issue/browser/issueReporterModel.ts b/src/vs/workbench/contrib/issue/browser/issueReporterModel.ts
index 4394874..a9c3f57 100644
index 0bbd8ac..4cffa1a 100644
--- a/src/vs/workbench/contrib/issue/browser/issueReporterModel.ts
+++ b/src/vs/workbench/contrib/issue/browser/issueReporterModel.ts
@@ -93,3 +93,3 @@ ${this._data.issueDescription}
@@ -92,3 +92,3 @@ ${this._data.issueDescription}
${this.getExtensionVersion()}
-VS Code version: ${this._data.versionInfo && this._data.versionInfo.vscodeVersion}
+VSCodium version: ${this._data.versionInfo && this._data.versionInfo.vscodeVersion}
OS version: ${this._data.versionInfo && this._data.versionInfo.os}
diff --git a/src/vs/workbench/contrib/issue/browser/issueReporterPage.ts b/src/vs/workbench/contrib/issue/browser/issueReporterPage.ts
index 195857e..68163c0 100644
index 5cbc709..5d6b1e2 100644
--- a/src/vs/workbench/contrib/issue/browser/issueReporterPage.ts
+++ b/src/vs/workbench/contrib/issue/browser/issueReporterPage.ts
@@ -18,3 +18,3 @@ const reviewGuidanceLabel = localize( // intentionally not escaped because of it
@@ -85,58 +85,3 @@ index 195857e..68163c0 100644
- 'Before you report an issue here please <a href="https://github.com/microsoft/vscode/wiki/Submitting-Bugs-and-Suggestions" target="_blank">review the guidance we provide</a>.'
+ 'Before you report an issue here please <a href="https://github.com/VSCodium/vscodium/wiki/Submitting-Bugs-and-Suggestions" target="_blank">review the guidance we provide</a>.'
);
diff --git a/src/vs/workbench/contrib/issue/electron-sandbox/issueReporterService.ts b/src/vs/workbench/contrib/issue/electron-sandbox/issueReporterService.ts
index b923388..043a8ac 100644
--- a/src/vs/workbench/contrib/issue/electron-sandbox/issueReporterService.ts
+++ b/src/vs/workbench/contrib/issue/electron-sandbox/issueReporterService.ts
@@ -555,3 +555,3 @@ export class IssueReporter extends Disposable {
if (title) {
- this.searchDuplicates(title, issueDescription);
+ this.searchGitHub('VSCodium/vscodium', title);
} else {
@@ -647,33 +647,2 @@ export class IssueReporter extends Disposable {
- @debounce(300)
- private searchDuplicates(title: string, body?: string): void {
- const url = 'https://vscode-probot.westus.cloudapp.azure.com:7890/duplicate_candidates';
- const init = {
- method: 'POST',
- body: JSON.stringify({
- title,
- body
- }),
- headers: new Headers({
- 'Content-Type': 'application/json'
- })
- };
-
- fetch(url, init).then((response) => {
- response.json().then(result => {
- this.clearSearchResults();
-
- if (result && result.candidates) {
- this.displaySearchResults(result.candidates);
- } else {
- throw new Error('Unexpected response, no candidates property');
- }
- }).catch(_ => {
- // Ignore
- });
- }).catch(_ => {
- // Ignore
- });
- }
-
private displaySearchResults(results: SearchResult[]) {
@@ -769,4 +738,4 @@ export class IssueReporter extends Disposable {
sourceSelect.append(this.makeOption('', localize('selectSource', "Select source"), true));
- sourceSelect.append(this.makeOption(IssueSource.VSCode, localize('vscode', "Visual Studio Code"), false));
- sourceSelect.append(this.makeOption(IssueSource.Extension, localize('extension', "A VS Code extension"), false));
+ sourceSelect.append(this.makeOption(IssueSource.VSCode, localize('vscode', "VSCodium"), false));
+ sourceSelect.append(this.makeOption(IssueSource.Extension, localize('extension', "A VSCodium extension"), false));
if (this.configuration.product.reportMarketplaceIssueUrl) {
@@ -830,3 +799,3 @@ export class IssueReporter extends Disposable {
hide(descriptionTextArea);
- reset(descriptionTitle, localize('handlesIssuesElsewhere', "This extension handles issues outside of VS Code"));
+ reset(descriptionTitle, localize('handlesIssuesElsewhere', "This extension handles issues outside of VSCodium"));
reset(descriptionSubtitle, localize('elsewhereDescription', "The '{0}' extension prefers to use an external issue reporter. To be taken to that issue reporting experience, click the button below.", selectedExtension.displayName));

View File

@@ -0,0 +1,192 @@
diff --git a/.npmrc b/.npmrc
index 22256e5..a6dfc1d 100644
--- a/.npmrc
+++ b/.npmrc
@@ -1,3 +1,3 @@
disturl="https://electronjs.org/headers"
-target="32.2.6"
+target="32.2.7"
ms_build_id="10629634"
diff --git a/build/checksums/electron.txt b/build/checksums/electron.txt
index 17ec96f..ce17d8d 100644
--- a/build/checksums/electron.txt
+++ b/build/checksums/electron.txt
@@ -1,75 +1,75 @@
-bb4164f7b554606b2c4daaf43e81bf2e2b5cf0d4441cfdd74f04653237fcf655 *chromedriver-v32.2.6-darwin-arm64.zip
-a0fc3df1c6cd17bfe62ffbb1eba3655ca625dea5046e5d2b3dbb0e9e349cd10e *chromedriver-v32.2.6-darwin-x64.zip
-671d6dab890747ea73ba5589327eef7612670950a20e5f88c7d8a301b5491e26 *chromedriver-v32.2.6-linux-arm64.zip
-55bfd4e33fef1506261d4cb3074988e1970c2a762ca76a8f1197512a1766723c *chromedriver-v32.2.6-linux-armv7l.zip
-d3c7a45c8c75152db927b3596f506995e72631df870b302b7dbcbd3399e54a3a *chromedriver-v32.2.6-linux-x64.zip
-567f77d09708942901c6cdce6708b995f6ac779faceebb4ed383ca5003e2de4e *chromedriver-v32.2.6-mas-arm64.zip
-b3a28181b1d077742f1be632a802e15b5a36a260b1cfe0e429735de9f52d074a *chromedriver-v32.2.6-mas-x64.zip
-a113f5bd747b6eeb033f4d6ea2f53cf332d9b45d6340af514dd938bac7f99419 *chromedriver-v32.2.6-win32-arm64.zip
-3b3237a788fad0a6be63a69b93c28b6052db23aeaa1a75d2589be15b4c2c0f2f *chromedriver-v32.2.6-win32-ia32.zip
-1096c131cf8e3f98a01525e93d573eaf4fd23492d8dd78a211e39c448e69e463 *chromedriver-v32.2.6-win32-x64.zip
-8e6fcf3171c3fcdcb117f641ec968bb53be3d38696e388636bf34f04c10b987d *electron-api.json
-b1b20784a97e64992c92480e69af828a110d834372479b26759f1559b3da80fc *electron-v32.2.6-darwin-arm64-dsym-snapshot.zip
-f11dd5a84229430ec59b4335415a4b308dc4330ff7b9febae20165fbdd862e92 *electron-v32.2.6-darwin-arm64-dsym.zip
-cc96cf91f6b108dc927d8f7daee2fe27ae8a492c932993051508aa779e816445 *electron-v32.2.6-darwin-arm64-symbols.zip
-fcb6bbb6aa3c1020b4045dbe9f2a5286173d5025248550f55631e70568e91775 *electron-v32.2.6-darwin-arm64.zip
-d2bfeea27fc91936b4f71d0f5c577e5ad0ea094edba541dfa348948fd65c3331 *electron-v32.2.6-darwin-x64-dsym-snapshot.zip
-5e7684cc12c0dee11fb933b68301d0fe68d3198d1daeadd5e1b4cf52743f79bf *electron-v32.2.6-darwin-x64-dsym.zip
-6d2a7d41ab14fc7d3c5e4b35d5d425edb2d13978dcc332e781ec8b7bcfe6a794 *electron-v32.2.6-darwin-x64-symbols.zip
-c0964ee5fdcefb1003ffd7ef574b07e5147856f3a94bb4335f78c409f8cf2eca *electron-v32.2.6-darwin-x64.zip
-604d88b9d434ea66ddf234dd129dcef3d468b95b0da47e2f1555a682c8d0de28 *electron-v32.2.6-linux-arm64-debug.zip
-f448e91df42fc84177bcd46378e49ee648f6114984fc57af4a84690a5197c23e *electron-v32.2.6-linux-arm64-symbols.zip
-9e4f9345cae06e8e5679b228e7b7ac21b8733e3fcda8903e3dcbc8171c53f8be *electron-v32.2.6-linux-arm64.zip
-604d88b9d434ea66ddf234dd129dcef3d468b95b0da47e2f1555a682c8d0de28 *electron-v32.2.6-linux-armv7l-debug.zip
-c85d5ca3f38dc4140040bcde6a37ac9c7510bb542f12e1ffce695a35f68e3c13 *electron-v32.2.6-linux-armv7l-symbols.zip
-df4b490a9c501d83c5305f20b2a9d1aa100d2e878e59ebafde477f21d35e3300 *electron-v32.2.6-linux-armv7l.zip
-a5aa67da85ee318ff0770d55a506f62e6e5a10e967dfab272a94bcd91922e075 *electron-v32.2.6-linux-x64-debug.zip
-671eb342a58e056f0dee5a6e9c69a6a96ee2141f81d306fa1a0e2635e22aa7c0 *electron-v32.2.6-linux-x64-symbols.zip
-a3231409db7f8ac2cc446708f17e2abac0f8549c166eaab2f427e8d0f864208d *electron-v32.2.6-linux-x64.zip
-8b8d0aeadcf21633216a9cce87d323ad6aa21e38ec82092cd5f65bf171be025f *electron-v32.2.6-mas-arm64-dsym-snapshot.zip
-298931236955b83d174738d3325931e9672a8333bf854fc5f471168b0f7e70be *electron-v32.2.6-mas-arm64-dsym.zip
-53e4c666a6f5f87aa150b1c2f34532e3711e00b0237fb103dcbef64d65979429 *electron-v32.2.6-mas-arm64-symbols.zip
-bedbc78acc3bc6cb30e5fe1f133562104152022273ec21a83cd32a0eece9003f *electron-v32.2.6-mas-arm64.zip
-9ba3def756c90460867d968af5417996991bf3b4b306dba4c9fbde43de2f771d *electron-v32.2.6-mas-x64-dsym-snapshot.zip
-e4a3f9392934bb4ef82a214fec2ce1f319ea409b89bf03b2a2a4ab7a55688d0c *electron-v32.2.6-mas-x64-dsym.zip
-55c54fd01faf5767493183001a440b837b63f8b8d64c36f7b42fa7217af36dcd *electron-v32.2.6-mas-x64-symbols.zip
-1efe974cd426a288d617750c864e6edbf28495c3b851a5bc806af19cda7a274d *electron-v32.2.6-mas-x64.zip
-88c50d34dc48a55a11014349d2d278f895f1615405614dbfcf27dff5f5030cf1 *electron-v32.2.6-win32-arm64-pdb.zip
-b0b2211bf0f11924bcd693b6783627c7f6c9a066117bcf05c10766064c79794c *electron-v32.2.6-win32-arm64-symbols.zip
-48b81d28fdceb4ab3ca27650d79bab910a1a19dbda72271882bfdc877c71975f *electron-v32.2.6-win32-arm64-toolchain-profile.zip
-2b7962348f23410863cb6562d79654ce534666bab9f75965b5c8ebee61f49657 *electron-v32.2.6-win32-arm64.zip
-d248ab4ec8b4a5aec414c7a404e0efd9b9a73083f7c5cb6c657c2ed58c4cbe94 *electron-v32.2.6-win32-ia32-pdb.zip
-2ef98197d66d94aee4978047f22ba07538d259b25a8f5f301d9564a13649e72c *electron-v32.2.6-win32-ia32-symbols.zip
-48b81d28fdceb4ab3ca27650d79bab910a1a19dbda72271882bfdc877c71975f *electron-v32.2.6-win32-ia32-toolchain-profile.zip
-e85dbf85d58cab5b06cdb8e76fde3a25306e7c1808f5bb30925ba7e29ff14d13 *electron-v32.2.6-win32-ia32.zip
-9d76b0c0d475cc062b2a951fbfb3b17837880102fb6cc042e2736dfebbfa0e5d *electron-v32.2.6-win32-x64-pdb.zip
-3d7b93bafc633429f5c9f820bcb4843d504b12e454b3ecebb1b69c15b5f4080f *electron-v32.2.6-win32-x64-symbols.zip
-48b81d28fdceb4ab3ca27650d79bab910a1a19dbda72271882bfdc877c71975f *electron-v32.2.6-win32-x64-toolchain-profile.zip
-77d5e5b76b49767e6a3ad292dc315fbc7cdccd557ac38da9093b8ac6da9262d5 *electron-v32.2.6-win32-x64.zip
-a52935712eb4fc2c12ac4ae611a57e121da3b6165c2de1abd7392ed4261287e2 *electron.d.ts
-6345ea55fda07544434c90c276cdceb2662044b9e0355894db67ca95869af22a *ffmpeg-v32.2.6-darwin-arm64.zip
-4c1347e8653727513a22be013008c2760d19200977295b98506b3b9947e74090 *ffmpeg-v32.2.6-darwin-x64.zip
-3f1eafaf4cd90ab43ba0267429189be182435849a166a2cbe1faefc0d07217c4 *ffmpeg-v32.2.6-linux-arm64.zip
-3db919bc57e1a5bf7c1bae1d7aeacf4a331990ea82750391c0b24a046d9a2812 *ffmpeg-v32.2.6-linux-armv7l.zip
-fe7d779dddbfb5da5999a7607fc5e3c7a6ab7c65e8da9fee1384918865231612 *ffmpeg-v32.2.6-linux-x64.zip
-e09ae881113d1b3103aec918e7c95c36f82b2db63657320c380c94386f689138 *ffmpeg-v32.2.6-mas-arm64.zip
-ee316e435662201a81fcededc62582dc87a0bd5c9fd0f6a8a55235eca806652f *ffmpeg-v32.2.6-mas-x64.zip
-415395968d31e13056cefcb589ed550a0e80d7c3d0851ee3ba29e4dcdf174210 *ffmpeg-v32.2.6-win32-arm64.zip
-17f61a5293b707c984cee52b57a7e505cde994d22828e31c016434521638e419 *ffmpeg-v32.2.6-win32-ia32.zip
-f9b47951a553eec21636b3cc15eccf0a2ba272567146ec8a6e2eeb91a985fd62 *ffmpeg-v32.2.6-win32-x64.zip
-7d2b596bd94e4d5c7befba11662dc563a02f18c183da12ebd56f38bb6f4382e9 *hunspell_dictionaries.zip
-06bca9a33142b5834fbca6d10d7f3303b0b5c52e7222fe783db109cd4c5260ed *libcxx-objects-v32.2.6-linux-arm64.zip
-7ab8ff5a4e1d3a6639978ed718d2732df9c1a4dd4dcd3e18f6746a2168d353a9 *libcxx-objects-v32.2.6-linux-armv7l.zip
-ba96792896751e11fdba63e5e336e323979986176aa1848122ca3757c854352e *libcxx-objects-v32.2.6-linux-x64.zip
-1f858d484f4ce27f9f3c4a120b2881f88c17c81129ca10e495b50398fb2eed64 *libcxx_headers.zip
-4566afb06a6dd8bd895dba5350a5705868203321116a1ae0a216d5a4a6bfb289 *libcxxabi_headers.zip
-350f5419c14aede5802c4f0ef5204ddbbe0eb7d5263524da38d19f43620d8530 *mksnapshot-v32.2.6-darwin-arm64.zip
-9f4e4943df4502943994ffa17525b7b5b9a1d889dbc5aeb28bfc40f9146323ec *mksnapshot-v32.2.6-darwin-x64.zip
-6295ad1a4ab3b24ac99ec85d35ebfce3861e58185b94d20077e364e81ad935f8 *mksnapshot-v32.2.6-linux-arm64-x64.zip
-ed9e1931165a2ff85c1af9f10b3bf8ba05d2dae31331d1d4f5ff1512078e4411 *mksnapshot-v32.2.6-linux-armv7l-x64.zip
-6680c63b11e4638708d88c130474ceb2ee92fc58c62cfcd3bf33dda9fee771c2 *mksnapshot-v32.2.6-linux-x64.zip
-5a4c45b755b7bbdcad51345f5eb2935ba988987650f9b8540c7ef04015207a2f *mksnapshot-v32.2.6-mas-arm64.zip
-1e6243d6a1b68f327457b9dae244ffaeadc265b07a99d9c36f1abcff31e36856 *mksnapshot-v32.2.6-mas-x64.zip
-407099537b17860ce7dcea6ba582a854314c29dc152a6df0abcc77ebb0187b4c *mksnapshot-v32.2.6-win32-arm64-x64.zip
-f9107536378e19ae9305386dacf6fae924c7ddaad0cf0a6f49694e1e8af6ded5 *mksnapshot-v32.2.6-win32-ia32.zip
-82a142db76a2cc5dfb9a89e4cd721cfebc0f3077d2415d8f3d86bb7411f0fe27 *mksnapshot-v32.2.6-win32-x64.zip
+0729d2cb830425c4591b40d7189c2f7da020f5adb887a49a4faa022d551b1e6f *chromedriver-v32.2.7-darwin-arm64.zip
+a7d61c68d3b3522c0ec383915b6ab3d9f269d9ada0e09aa87a4e7d9fc24fe928 *chromedriver-v32.2.7-darwin-x64.zip
+45314c8c7127f6083469c2c067aa78beb20055ba4d7a63eb2108b27e594a647a *chromedriver-v32.2.7-linux-arm64.zip
+7e976a7131dcfd55f781c073ae59c8a24a1393119d831fbac13c6a335eb71467 *chromedriver-v32.2.7-linux-armv7l.zip
+3437feb5d8e7157476d2e7a6558346061cd7e46506874bc7870eed8a3a43642a *chromedriver-v32.2.7-linux-x64.zip
+3737301add80a936374acb17b84bb3a715fab9fbce049816ea7a51fa53d3b35e *chromedriver-v32.2.7-mas-arm64.zip
+8b8b62f48a5e8b8a340b47348a2cc5dd4ba38789f76bc5567c039587538081a9 *chromedriver-v32.2.7-mas-x64.zip
+24b666e3ab41eb1c66ab0f2361af0529b2b8e1e5ef153cfcef36adc700f9ed6d *chromedriver-v32.2.7-win32-arm64.zip
+6d40251661afb1835adbef85e317fd520c0f1378156614c82befb348c3122c2d *chromedriver-v32.2.7-win32-ia32.zip
+483012da9903d8d75e5e251a3262667c9a0a012a492b93dbe1237c7827eba778 *chromedriver-v32.2.7-win32-x64.zip
+1e9b2b9011f56fa26f4d9fa57254ef1d0bdb34405a9bdf83a652f6258347e46d *electron-api.json
+c0ea4a21f2e7e946300bf587a4e31f72ef996c497eaa94e6b8f788b917b896e5 *electron-v32.2.7-darwin-arm64-dsym-snapshot.zip
+1e6e84e56cfb3a2473cab41577c160d3afcbda8337dda17c5295da90266433c9 *electron-v32.2.7-darwin-arm64-dsym.zip
+9f460100fb71ef098bec26e9a09978ec1b1663165d6a358bfc398f5548a844c3 *electron-v32.2.7-darwin-arm64-symbols.zip
+71e76a0a81a0c1c10e9e4862caf96437ba85a18c8fa7d8e15d59e3c057b893bd *electron-v32.2.7-darwin-arm64.zip
+e406d690365f332826843c86c6a1b5c0320a84b0527ad8700a0e995b12a35f8c *electron-v32.2.7-darwin-x64-dsym-snapshot.zip
+53d6fb64d717af80f024284161a432aaffb47631ef7548f18f33016c3376871a *electron-v32.2.7-darwin-x64-dsym.zip
+3c9187db2cc0570d7b01651fa78294df7d451c87c361335cee80a61c1c561b67 *electron-v32.2.7-darwin-x64-symbols.zip
+34310ed51d32b6c02ba3e3f447b0807ea85804d1f2b239e02a9de58b9080fbf8 *electron-v32.2.7-darwin-x64.zip
+e884f2f9f3d001488888929b8affe053a60a7a780af7d0ec8d7023023f40ca52 *electron-v32.2.7-linux-arm64-debug.zip
+fd88e47e7b564b006f68641b5c328721bbc8d87cfc9e569d9733354d263cddee *electron-v32.2.7-linux-arm64-symbols.zip
+fb6e1f24385c3058844bd768320d5b332b4cbd011ab930e7252dc330c8ee17b3 *electron-v32.2.7-linux-arm64.zip
+e884f2f9f3d001488888929b8affe053a60a7a780af7d0ec8d7023023f40ca52 *electron-v32.2.7-linux-armv7l-debug.zip
+f338ea7ea592c3ccdad1bb788e9b936610f825ac69290e48d394790d5266dce3 *electron-v32.2.7-linux-armv7l-symbols.zip
+4a95643e88cadfb011354d25cafe242cdb8c5327d65f86b4fbabe64717367ed2 *electron-v32.2.7-linux-armv7l.zip
+e6e0fce9f6d95a84653b537b741967cae48c4c70c8026c02293c979074225b46 *electron-v32.2.7-linux-x64-debug.zip
+122cc565d0ccd2774e298645473869752d27d2632aa97583d93b499e9b02f22b *electron-v32.2.7-linux-x64-symbols.zip
+98007545e1d3700b32de5cb5eebcc10b9d105fb0dad6396155fdab1b40abb638 *electron-v32.2.7-linux-x64.zip
+556d9ca239ee1206c9d67affa836ebb651db88eea6bee48cb7b43fa75851c72d *electron-v32.2.7-mas-arm64-dsym-snapshot.zip
+662a3742b94fcbf7ab91a7c20e1430825ae7852e915fcb558d6357a310d631c6 *electron-v32.2.7-mas-arm64-dsym.zip
+edd0763ead7ffd5bf5072539e5ca0be9252b9590e674e6e44e69b2057c329d79 *electron-v32.2.7-mas-arm64-symbols.zip
+a4483f5246ecadfa48b1fc671d92b5dfbc09fbd88fe386f2ce48f10de79f2127 *electron-v32.2.7-mas-arm64.zip
+a9aad4c413d4851fa3463eeef7015e3a3e77a501192965db1c5b870fa31a9660 *electron-v32.2.7-mas-x64-dsym-snapshot.zip
+96c20e5c4b73febd3458679e9cc939f5f8255a327b06f49188ab2e3fe8311ea3 *electron-v32.2.7-mas-x64-dsym.zip
+6ac844957373114e04411d3af1cb6507e35174d1dc279cce41cb92bbf2ea5d26 *electron-v32.2.7-mas-x64-symbols.zip
+888b830b991dab6cf2c4351e112a48f24a4748efefcd763d693a79161199e65a *electron-v32.2.7-mas-x64.zip
+27759db6bcdd16d4ff5548684361ba4372d885d3142bf02db59837c3634b1934 *electron-v32.2.7-win32-arm64-pdb.zip
+6019e6ec58e9b6da335f20874efebc42d034a179163180b3b6faedf2963ae577 *electron-v32.2.7-win32-arm64-symbols.zip
+48b81d28fdceb4ab3ca27650d79bab910a1a19dbda72271882bfdc877c71975f *electron-v32.2.7-win32-arm64-toolchain-profile.zip
+2c755fdd4f9fda618b2db6b8c7210c5f3106a88b1e87b83e8433b4ab4a628cc2 *electron-v32.2.7-win32-arm64.zip
+4dce0b21d1c2093cc4f7c0eaf9453a38377e0076d811da3c7391f105fc1d6afb *electron-v32.2.7-win32-ia32-pdb.zip
+9a0a9c3746cd40ddc9c926755633b16676714e2138d7a2d888f658a26f617039 *electron-v32.2.7-win32-ia32-symbols.zip
+48b81d28fdceb4ab3ca27650d79bab910a1a19dbda72271882bfdc877c71975f *electron-v32.2.7-win32-ia32-toolchain-profile.zip
+6c338c5cd0b0587349ab0f119ca8f7d2728b1c3a43fe241741087f5fdf139c9c *electron-v32.2.7-win32-ia32.zip
+fa240d324c5376aa12ed2aef26597764d9bfc2fdd0d16d7f76afc2c3e3c65a29 *electron-v32.2.7-win32-x64-pdb.zip
+f645b53771cbcdfaa041d9cf9581348821d82c1b185ddb913759e2d62ee2410a *electron-v32.2.7-win32-x64-symbols.zip
+48b81d28fdceb4ab3ca27650d79bab910a1a19dbda72271882bfdc877c71975f *electron-v32.2.7-win32-x64-toolchain-profile.zip
+819ab19b7111dfd39dff506b3cb5cd2e1d8f4bb17f96ba74b987b2eac14b6c63 *electron-v32.2.7-win32-x64.zip
+ce41b10c28bd43249cd3b409e081b1c83a2b691381bdd2e3bf208ec40ca176b8 *electron.d.ts
+d2491071a641ce2e0f63c1f52e3a412856dd83ca17d021af1166d6e5b4de5638 *ffmpeg-v32.2.7-darwin-arm64.zip
+5c5589b2c93f834e595eb692aa768b934245d2631df69bc4cad3a6602bba0e67 *ffmpeg-v32.2.7-darwin-x64.zip
+3f1eafaf4cd90ab43ba0267429189be182435849a166a2cbe1faefc0d07217c4 *ffmpeg-v32.2.7-linux-arm64.zip
+3db919bc57e1a5bf7c1bae1d7aeacf4a331990ea82750391c0b24a046d9a2812 *ffmpeg-v32.2.7-linux-armv7l.zip
+fe7d779dddbfb5da5999a7607fc5e3c7a6ab7c65e8da9fee1384918865231612 *ffmpeg-v32.2.7-linux-x64.zip
+feeef1ab10543c813f730cc7a482b43eda35d40f1285b950e1a6d7805db2332a *ffmpeg-v32.2.7-mas-arm64.zip
+96ef45180589c854fedf2d0601a20e70a65220c0820c45d0dfd4ec64724c58e0 *ffmpeg-v32.2.7-mas-x64.zip
+ab4ab9cd62e40c4d3064004caa9de680cb72d8180d4facc1be06bdc886c23410 *ffmpeg-v32.2.7-win32-arm64.zip
+90b5e2ebd4ff683eda97cc43ebbdee9b133b27edd2a34ae7ef37e7969d1d68be *ffmpeg-v32.2.7-win32-ia32.zip
+8452085c0a650035f30a4b76e2ce1791f9b392ea7262109d29f7fe383fc41ddb *ffmpeg-v32.2.7-win32-x64.zip
+78b415ebb9040dacabb6eb776a8d4837dda9a9b1ec9d64ee15db28dbb8598862 *hunspell_dictionaries.zip
+a30057c37e6be5732944084575a2278616297242ae51bd474c683263cbc0c3e4 *libcxx-objects-v32.2.7-linux-arm64.zip
+f9e9d1ff1a03a3e609ab8e727b1f89e77934509a4afdb849698b70e701c2176f *libcxx-objects-v32.2.7-linux-armv7l.zip
+bb66e3b48f8e0706126b2b8b08827a4adda6f56c509eae4d136fcffd5414c353 *libcxx-objects-v32.2.7-linux-x64.zip
+5181518d7da83fea5d8b033ab4fb7ed300f73bd8d20b8c26b624128233bd6ab2 *libcxx_headers.zip
+6030ad099859b62cbdd9021b2cdb453a744a2751cb1dab30519e3e8708ad72d6 *libcxxabi_headers.zip
+d3dcc4925a6bd55bc305fd41805ffee77dc8821730ac75cf4ee9ed2ca4ebdccb *mksnapshot-v32.2.7-darwin-arm64.zip
+e6dfad3c30f4f38509b2fc972dd05cef06142c4832d931edba19742e06161279 *mksnapshot-v32.2.7-darwin-x64.zip
+25ba5be47a721700f16af10945e71408ed86ffd6800b5d5ef04d38c0d77aa446 *mksnapshot-v32.2.7-linux-arm64-x64.zip
+f7e8b50691712206587d81844bd63271f2dd49253c946a5b66bd6f169ccf94d6 *mksnapshot-v32.2.7-linux-armv7l-x64.zip
+a0b119abe93c0231601b6c699cce4b78e89def766c24f9a8a06cfab3feca8f6c *mksnapshot-v32.2.7-linux-x64.zip
+e3e8a496a1eaf6c8ce623fa4b139e5458cf3ce3702ea3560cded839087b60792 *mksnapshot-v32.2.7-mas-arm64.zip
+c03219273c82022c29e277d07ce1d0980d25c22d39269fa3eef9547f57ec410b *mksnapshot-v32.2.7-mas-x64.zip
+7684cb9c6f621db05b6e68080fade81f46d0ff8eeac94080bd635f035069d13e *mksnapshot-v32.2.7-win32-arm64-x64.zip
+f7ca1d557e3d0f878b13f57dc0e00932f7a97f3dd0f0cc3bbbd565a06718bd17 *mksnapshot-v32.2.7-win32-ia32.zip
+d9d8dd33561eb648e5ebd00f99418122d9a915ec63fe967e7cb0ff64ef8ee199 *mksnapshot-v32.2.7-win32-x64.zip
\ No newline at end of file
diff --git a/package-lock.json b/package-lock.json
index b4c9991..24303fc 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -97,3 +97,3 @@
"deemon": "^1.8.0",
- "electron": "32.2.6",
+ "electron": "32.2.7",
"eslint": "^9.11.1",
@@ -5817,5 +5817,5 @@
"node_modules/electron": {
- "version": "32.2.6",
- "resolved": "https://registry.npmjs.org/electron/-/electron-32.2.6.tgz",
- "integrity": "sha512-aGG1MLvWCf+ECUFBCmaCF52F8312OPAJfph2D0FSsFmlbfnJuNevZCbty2lFzsiIMtU7/QRo6d0ksbgR4s7y3w==",
+ "version": "32.2.7",
+ "resolved": "https://registry.npmjs.org/electron/-/electron-32.2.7.tgz",
+ "integrity": "sha512-y8jbQRG3xogF70XPlk5c+dWe5iRfUBo28o2NMpKd/CcW7ENIaWtBlGima8/8nmRdAaYTy1+yIt6KB0Lon9H8cA==",
"dev": true,
diff --git a/package.json b/package.json
index f7a7f68..a74c7ad 100644
--- a/package.json
+++ b/package.json
@@ -155,3 +155,3 @@
"deemon": "^1.8.0",
- "electron": "32.2.6",
+ "electron": "32.2.7",
"eslint": "^9.11.1",

View File

@@ -1,43 +1,43 @@
diff --git a/build/gulpfile.reh.js b/build/gulpfile.reh.js
index e314794..fce8d15 100644
index 4f00317..e5d08e5 100644
--- a/build/gulpfile.reh.js
+++ b/build/gulpfile.reh.js
@@ -343,2 +343,3 @@ function packageTask(type, platform, arch, sourceFolderName, destinationFolderNa
@@ -307,2 +307,3 @@ function packageTask(type, platform, arch, sourceFolderName, destinationFolderNa
const name = product.nameShort;
+ const release = packageJson.release;
@@ -346,3 +347,3 @@ function packageTask(type, platform, arch, sourceFolderName, destinationFolderNa
@@ -310,3 +311,3 @@ function packageTask(type, platform, arch, sourceFolderName, destinationFolderNa
const packageJsonStream = gulp.src(['remote/package.json'], { base: 'remote' })
- .pipe(json({ name, version, dependencies: undefined, optionalDependencies: undefined, ...(!isAMD() ? { type: 'module' } : {}) })) // TODO@esm this should be configured in the top level package.json
+ .pipe(json({ name, version, release, dependencies: undefined, optionalDependencies: undefined, ...(!isAMD() ? { type: 'module' } : {}) })) // TODO@esm this should be configured in the top level package.json
- .pipe(json({ name, version, dependencies: undefined, optionalDependencies: undefined, type: 'module' }))
+ .pipe(json({ name, version, release, dependencies: undefined, optionalDependencies: undefined, type: 'module' }))
.pipe(es.through(function (file) {
@@ -354,3 +355,3 @@ function packageTask(type, platform, arch, sourceFolderName, destinationFolderNa
@@ -318,3 +319,3 @@ function packageTask(type, platform, arch, sourceFolderName, destinationFolderNa
const productJsonStream = gulp.src(['product.json'], { base: '.' })
- .pipe(json({ commit, date: readISODate('out-build'), version }))
+ .pipe(json({ commit, date: readISODate('out-build'), version, release }))
.pipe(es.through(function (file) {
diff --git a/build/gulpfile.vscode.js b/build/gulpfile.vscode.js
index 9dfb6a3..a4277ff 100644
index 030c39a..51772c9 100644
--- a/build/gulpfile.vscode.js
+++ b/build/gulpfile.vscode.js
@@ -320,3 +320,3 @@ function packageTask(platform, arch, sourceFolderName, destinationFolderName, op
@@ -261,3 +261,3 @@ function packageTask(platform, arch, sourceFolderName, destinationFolderName, op
- let version = packageJson.version;
+ let version = packageJson.version
const quality = product.quality;
@@ -328,3 +328,4 @@ function packageTask(platform, arch, sourceFolderName, destinationFolderName, op
@@ -269,3 +269,4 @@ function packageTask(platform, arch, sourceFolderName, destinationFolderName, op
const name = product.nameShort;
- const packageJsonUpdates = { name, version, ...(!isAMD() ? { type: 'module', main: 'out/main.js' } : {}) }; // TODO@esm this should be configured in the top level package.json
- const packageJsonUpdates = { name, version };
+ const release = packageJson.release;
+ const packageJsonUpdates = { name, version, release, ...(!isAMD() ? { type: 'module', main: 'out/main.js' } : {}) }; // TODO@esm this should be configured in the top level package.json
+ const packageJsonUpdates = { name, version, release };
@@ -345,3 +346,3 @@ function packageTask(platform, arch, sourceFolderName, destinationFolderName, op
@@ -285,3 +286,3 @@ function packageTask(platform, arch, sourceFolderName, destinationFolderName, op
const productJsonStream = gulp.src(['product.json'], { base: '.' })
- .pipe(json({ commit, date: readISODate('out-build'), checksums, version }))
+ .pipe(json({ commit, date: readISODate('out-build'), checksums, version, release }))
.pipe(es.through(function (file) {
diff --git a/build/gulpfile.vscode.linux.js b/build/gulpfile.vscode.linux.js
index 5fa5a5d..b08e376 100644
index fb0e5a4..170c60b 100644
--- a/build/gulpfile.vscode.linux.js
+++ b/build/gulpfile.vscode.linux.js
@@ -27,4 +27,2 @@ const commit = getVersion(root);
@@ -73,7 +73,7 @@ index 98175f5..afacbe3 100644
+ RawVersion: `${pkg.version.replace(/-\w+$/, '')}.${pkg.release}`,
NameVersion: product.win32NameVersion + (target === 'user' ? ' (User)' : ''),
diff --git a/src/vs/base/common/product.ts b/src/vs/base/common/product.ts
index c397b1a..ccf7911 100644
index ac7c552..8cfc209 100644
--- a/src/vs/base/common/product.ts
+++ b/src/vs/base/common/product.ts
@@ -58,2 +58,3 @@ export interface IProductConfiguration {
@@ -90,7 +90,7 @@ index 5f6efd5..da3c54d 100644
+ output.push(`Version: ${this.productService.nameShort} ${this.productService.version} ${this.productService.release || 'Release unknown'} (${this.productService.commit || 'Commit unknown'}, ${this.productService.date || 'Date unknown'})`);
output.push(`OS Version: ${osLib.type()} ${osLib.arch()} ${osLib.release()}`);
diff --git a/src/vs/platform/product/common/product.ts b/src/vs/platform/product/common/product.ts
index a98043f..b54a78f 100644
index 1a2a619..2a8d683 100644
--- a/src/vs/platform/product/common/product.ts
+++ b/src/vs/platform/product/common/product.ts
@@ -43,6 +43,7 @@ else if (globalThis._VSCODE_PRODUCT_JSON && globalThis._VSCODE_PACKAGE_JSON) {
@@ -104,19 +104,19 @@ index a98043f..b54a78f 100644
+ release: pkg.release
});
diff --git a/src/vs/workbench/browser/parts/dialogs/dialogHandler.ts b/src/vs/workbench/browser/parts/dialogs/dialogHandler.ts
index 21f62b6..98edd0e 100644
index 039233d..c8ced77 100644
--- a/src/vs/workbench/browser/parts/dialogs/dialogHandler.ts
+++ b/src/vs/workbench/browser/parts/dialogs/dialogHandler.ts
@@ -22,2 +22,3 @@ import { defaultButtonStyles, defaultCheckboxStyles, defaultDialogStyles, defaul
import { ResultKind } from '../../../../platform/keybinding/common/keybindingResolver.js';
+import { getReleaseString } from '../../../../workbench/common/release';
@@ -23,2 +23,3 @@ import { ResultKind } from '../../../../platform/keybinding/common/keybindingRes
import { CancellationToken } from '../../../../base/common/cancellation.js';
+import { getReleaseString } from '../../../../workbench/common/release.js';
@@ -79,2 +80,4 @@ export class BrowserDialogHandler extends AbstractDialogHandler {
@@ -80,2 +81,4 @@ export class BrowserDialogHandler extends AbstractDialogHandler {
const detailString = (useAgo: boolean): string => {
+ const releaseString = getReleaseString();
+
return localize('aboutDetail',
@@ -85,3 +88,3 @@ export class BrowserDialogHandler extends AbstractDialogHandler {
@@ -86,3 +89,3 @@ export class BrowserDialogHandler extends AbstractDialogHandler {
navigator.userAgent
- );
+ ).replace('\n', `\n${releaseString} ${this.productService.release || 'Unknown'}\n`);

View File

@@ -0,0 +1,235 @@
diff --git a/src/vs/platform/update/common/update.ts b/src/vs/platform/update/common/update.ts
index 199f433..a6cbb10 100644
--- a/src/vs/platform/update/common/update.ts
+++ b/src/vs/platform/update/common/update.ts
@@ -51,3 +51,4 @@ export const enum UpdateType {
Archive,
- Snap
+ Snap,
+ WindowsInstaller,
}
@@ -110 +111,38 @@ export interface IUpdateService {
}
+
+export type Architecture =
+ | "arm"
+ | "arm64"
+ | "ia32"
+ | "loong64"
+ | "mips"
+ | "mipsel"
+ | "ppc"
+ | "ppc64"
+ | "riscv64"
+ | "s390"
+ | "s390x"
+ | "x64";
+
+export type Platform =
+ | "aix"
+ | "android"
+ | "darwin"
+ | "freebsd"
+ | "haiku"
+ | "linux"
+ | "openbsd"
+ | "sunos"
+ | "win32"
+ | "cygwin"
+ | "netbsd";
+
+export type Quality =
+ | "insider"
+ | "stable";
+
+export type Target =
+ | "archive"
+ | "msi"
+ | "system"
+ | "user";
\ No newline at end of file
diff --git a/src/vs/platform/update/electron-main/abstractUpdateService.ts b/src/vs/platform/update/electron-main/abstractUpdateService.ts
index 48638aa..8f738e7 100644
--- a/src/vs/platform/update/electron-main/abstractUpdateService.ts
+++ b/src/vs/platform/update/electron-main/abstractUpdateService.ts
@@ -14,6 +14,10 @@ import { IProductService } from '../../product/common/productService.js';
import { IRequestService } from '../../request/common/request.js';
-import { AvailableForDownload, DisablementReason, IUpdateService, State, StateType, UpdateType } from '../common/update.js';
+import { Architecture, AvailableForDownload, DisablementReason, IUpdateService, Platform, State, StateType, Target, UpdateType } from '../common/update.js';
-export function createUpdateURL(platform: string, quality: string, productService: IProductService): string {
- return `${productService.updateUrl}/api/update/${platform}/${quality}/${productService.commit}`;
+export function createUpdateURL(productService: IProductService, quality: string, platform: Platform, architecture: Architecture, target?: Target): string {
+ if (target) {
+ return `${productService.updateUrl}/${quality}/${platform}/${architecture}/${target}/latest.json`;
+ } else {
+ return `${productService.updateUrl}/${quality}/${platform}/${architecture}/latest.json`;
+ }
}
diff --git a/src/vs/platform/update/electron-main/updateService.darwin.ts b/src/vs/platform/update/electron-main/updateService.darwin.ts
index d3f27d3..8454ff3 100644
--- a/src/vs/platform/update/electron-main/updateService.darwin.ts
+++ b/src/vs/platform/update/electron-main/updateService.darwin.ts
@@ -15,3 +15,3 @@ import { ILogService } from '../../log/common/log.js';
import { IProductService } from '../../product/common/productService.js';
-import { IRequestService } from '../../request/common/request.js';
+import { IRequestService, asJson } from '../../request/common/request.js';
import { ITelemetryService } from '../../telemetry/common/telemetry.js';
@@ -19,2 +19,4 @@ import { IUpdate, State, StateType, UpdateType } from '../common/update.js';
import { AbstractUpdateService, createUpdateURL, UpdateErrorClassification, UpdateNotAvailableClassification } from './abstractUpdateService.js';
+import { CancellationToken } from '../../../base/common/cancellation.js';
+import * as semver from 'semver';
@@ -76,9 +78,3 @@ export class DarwinUpdateService extends AbstractUpdateService implements IRelau
protected buildUpdateFeedUrl(quality: string): string | undefined {
- let assetID: string;
- if (!this.productService.darwinUniversalAssetId) {
- assetID = process.arch === 'x64' ? 'darwin' : 'darwin-arm64';
- } else {
- assetID = this.productService.darwinUniversalAssetId;
- }
- const url = createUpdateURL(assetID, quality, this.productService);
+ const url = createUpdateURL(this.productService, quality, process.platform, process.arch);
try {
@@ -94,4 +90,29 @@ export class DarwinUpdateService extends AbstractUpdateService implements IRelau
protected doCheckForUpdates(context: any): void {
+ if (!this.url) {
+ return;
+ }
+
this.setState(State.CheckingForUpdates(context));
- electron.autoUpdater.checkForUpdates();
+
+ this.requestService.request({ url: this.url }, CancellationToken.None)
+ .then<IUpdate | null>(asJson)
+ .then(update => {
+ if (!update || !update.url || !update.version || !update.productVersion) {
+ this.setState(State.Idle(UpdateType.Setup));
+
+ return Promise.resolve(null);
+ }
+
+ const fetchedVersion = update.productVersion.replace(/(\d+\.\d+\.\d+)(?:\.(\d+))(\-\w+)?/, '$1$3+$2');
+ const currentVersion = `${this.productService.version}+${this.productService.release}`;
+
+ if(semver.compareBuild(currentVersion, fetchedVersion) >= 0) {
+ this.setState(State.Idle(UpdateType.Setup));
+ }
+ else {
+ electron.autoUpdater.checkForUpdates();
+ }
+
+ return Promise.resolve(null);
+ })
}
diff --git a/src/vs/platform/update/electron-main/updateService.linux.ts b/src/vs/platform/update/electron-main/updateService.linux.ts
index 6e076c7..81556b6 100644
--- a/src/vs/platform/update/electron-main/updateService.linux.ts
+++ b/src/vs/platform/update/electron-main/updateService.linux.ts
@@ -33,3 +33,3 @@ export class LinuxUpdateService extends AbstractUpdateService {
protected buildUpdateFeedUrl(quality: string): string {
- return createUpdateURL(`linux-${process.arch}`, quality, this.productService);
+ return createUpdateURL(this.productService, quality, process.platform, process.arch);
}
diff --git a/src/vs/platform/update/electron-main/updateService.win32.ts b/src/vs/platform/update/electron-main/updateService.win32.ts
index 61109e5..06981b3 100644
--- a/src/vs/platform/update/electron-main/updateService.win32.ts
+++ b/src/vs/platform/update/electron-main/updateService.win32.ts
@@ -11,3 +11,2 @@ import { CancellationToken } from '../../../base/common/cancellation.js';
import { memoize } from '../../../base/common/decorators.js';
-import { hash } from '../../../base/common/hash.js';
import * as path from '../../../base/common/path.js';
@@ -25,4 +24,5 @@ import { asJson, IRequestService } from '../../request/common/request.js';
import { ITelemetryService } from '../../telemetry/common/telemetry.js';
-import { AvailableForDownload, DisablementReason, IUpdate, State, StateType, UpdateType } from '../common/update.js';
-import { AbstractUpdateService, createUpdateURL, UpdateErrorClassification, UpdateNotAvailableClassification } from './abstractUpdateService.js';
+import { AvailableForDownload, DisablementReason, IUpdate, State, StateType, Target, UpdateType } from '../common/update.js';
+import { AbstractUpdateService, createUpdateURL} from './abstractUpdateService.js';
+import * as semver from 'semver';
@@ -42,5 +42,9 @@ function getUpdateType(): UpdateType {
if (typeof _updateType === 'undefined') {
- _updateType = fs.existsSync(path.join(path.dirname(process.execPath), 'unins000.exe'))
- ? UpdateType.Setup
- : UpdateType.Archive;
+ if (fs.existsSync(path.join(path.dirname(process.execPath), 'unins000.exe'))) {
+ _updateType = UpdateType.Setup;
+ } else if (path.basename(path.normalize(path.join(process.execPath, '..', '..'))) === 'Program Files') {
+ _updateType = UpdateType.WindowsInstaller;
+ } else {
+ _updateType = UpdateType.Archive;
+ }
}
@@ -63,2 +67,3 @@ export class Win32UpdateService extends AbstractUpdateService implements IRelaun
@IConfigurationService configurationService: IConfigurationService,
+ // @ts-expect-error
@ITelemetryService private readonly telemetryService: ITelemetryService,
@@ -102,11 +107,21 @@ export class Win32UpdateService extends AbstractUpdateService implements IRelaun
protected buildUpdateFeedUrl(quality: string): string | undefined {
- let platform = `win32-${process.arch}`;
-
- if (getUpdateType() === UpdateType.Archive) {
- platform += '-archive';
- } else if (this.productService.target === 'user') {
- platform += '-user';
+ let target: Target;
+
+ switch (getUpdateType()) {
+ case UpdateType.Archive:
+ target = "archive"
+ break;
+ case UpdateType.WindowsInstaller:
+ target = "msi"
+ break;
+ default:
+ if (this.productService.target === 'user') {
+ target = "user"
+ }
+ else {
+ target = "system"
+ }
}
- return createUpdateURL(platform, quality, this.productService);
+ return createUpdateURL(this.productService, quality, process.platform, process.arch, target);
}
@@ -126,4 +141,10 @@ export class Win32UpdateService extends AbstractUpdateService implements IRelaun
if (!update || !update.url || !update.version || !update.productVersion) {
- this.telemetryService.publicLog2<{ explicit: boolean }, UpdateNotAvailableClassification>('update:notAvailable', { explicit: !!context });
+ this.setState(State.Idle(updateType));
+ return Promise.resolve(null);
+ }
+
+ const fetchedVersion = update.productVersion.replace(/(\d+\.\d+\.\d+)(?:\.(\d+))(\-\w+)?/, '$1$3+$2');
+ const currentVersion = `${this.productService.version}+${this.productService.release}`;
+ if(semver.compareBuild(currentVersion, fetchedVersion) >= 0) {
this.setState(State.Idle(updateType));
@@ -158,3 +179,3 @@ export class Win32UpdateService extends AbstractUpdateService implements IRelaun
- const fastUpdatesEnabled = this.configurationService.getValue('update.enableWindowsBackgroundUpdates');
+ const fastUpdatesEnabled = getUpdateType() == UpdateType.Setup && this.configurationService.getValue('update.enableWindowsBackgroundUpdates');
if (fastUpdatesEnabled) {
@@ -170,3 +191,2 @@ export class Win32UpdateService extends AbstractUpdateService implements IRelaun
.then(undefined, err => {
- this.telemetryService.publicLog2<{ messageHash: string }, UpdateErrorClassification>('update:error', { messageHash: String(hash(String(err))) });
this.logService.error(err);
@@ -254,6 +274,14 @@ export class Win32UpdateService extends AbstractUpdateService implements IRelaun
} else {
- spawn(this.availableUpdate.packagePath, ['/silent', '/log', '/mergetasks=runcode,!desktopicon,!quicklaunchicon'], {
- detached: true,
- stdio: ['ignore', 'ignore', 'ignore']
- });
+ const type = getUpdateType();
+ if (type == UpdateType.WindowsInstaller) {
+ spawn('msiexec.exe', ['/i', this.availableUpdate.packagePath], {
+ detached: true,
+ stdio: ['ignore', 'ignore', 'ignore']
+ });
+ } else {
+ spawn(this.availableUpdate.packagePath, ['/silent', '/log', '/mergetasks=runcode,!desktopicon,!quicklaunchicon'], {
+ detached: true,
+ stdio: ['ignore', 'ignore', 'ignore']
+ });
+ }
}

View File

@@ -1,9 +0,0 @@
diff --git a/src/vs/platform/update/electron-main/updateService.win32.ts b/src/vs/platform/update/electron-main/updateService.win32.ts
index 4c49a75..7840d2a 100644
--- a/src/vs/platform/update/electron-main/updateService.win32.ts
+++ b/src/vs/platform/update/electron-main/updateService.win32.ts
@@ -270,3 +270,3 @@ export class Win32UpdateService extends AbstractUpdateService implements IRelaun
- const fastUpdatesEnabled = this.configurationService.getValue('update.enableWindowsBackgroundUpdates');
+ const fastUpdatesEnabled = getUpdateType() == UpdateType.Setup && this.configurationService.getValue('update.enableWindowsBackgroundUpdates');
const update: IUpdate = { version: 'unknown', productVersion: 'unknown' };

View File

@@ -1,67 +0,0 @@
diff --git a/src/vs/platform/update/common/update.ts b/src/vs/platform/update/common/update.ts
index 0f79e17..97ea778 100644
--- a/src/vs/platform/update/common/update.ts
+++ b/src/vs/platform/update/common/update.ts
@@ -48,3 +48,4 @@ export const enum UpdateType {
Archive,
- Snap
+ Snap,
+ WindowsInstaller,
}
diff --git a/src/vs/platform/update/electron-main/updateService.win32.ts b/src/vs/platform/update/electron-main/updateService.win32.ts
index 99bf807..27e77f0 100644
--- a/src/vs/platform/update/electron-main/updateService.win32.ts
+++ b/src/vs/platform/update/electron-main/updateService.win32.ts
@@ -41,5 +41,9 @@ function getUpdateType(): UpdateType {
if (typeof _updateType === 'undefined') {
- _updateType = fs.existsSync(path.join(path.dirname(process.execPath), 'unins000.exe'))
- ? UpdateType.Setup
- : UpdateType.Archive;
+ if (fs.existsSync(path.join(path.dirname(process.execPath), 'unins000.exe'))) {
+ _updateType = UpdateType.Setup;
+ } else if (path.basename(path.normalize(path.join(process.execPath, '..', '..'))) === 'Program Files') {
+ _updateType = UpdateType.WindowsInstaller;
+ } else {
+ _updateType = UpdateType.Archive;
+ }
}
@@ -103,6 +107,16 @@ export class Win32UpdateService extends AbstractUpdateService implements IRelaun
- if (getUpdateType() === UpdateType.Archive) {
- platform += '-archive';
- } else if (this.productService.target === 'user') {
- platform += '-user';
+ switch (getUpdateType()) {
+ case UpdateType.Archive:
+ platform += '-archive';
+ break;
+ case UpdateType.WindowsInstaller:
+ platform += '-msi';
+ break;
+ default:
+ if (this.productService.target === 'user') {
+ platform += '-user';
+ }
+ else {
+ platform += '-system';
+ }
}
@@ -257,6 +271,14 @@ export class Win32UpdateService extends AbstractUpdateService implements IRelaun
} else {
- spawn(this.availableUpdate.packagePath, ['/silent', '/log', '/mergetasks=runcode,!desktopicon,!quicklaunchicon'], {
- detached: true,
- stdio: ['ignore', 'ignore', 'ignore']
- });
+ const type = getUpdateType();
+ if (type == UpdateType.WindowsInstaller) {
+ spawn('msiexec.exe', ['/i', this.availableUpdate.packagePath], {
+ detached: true,
+ stdio: ['ignore', 'ignore', 'ignore']
+ });
+ } else {
+ spawn(this.availableUpdate.packagePath, ['/silent', '/log', '/mergetasks=runcode,!desktopicon,!quicklaunchicon'], {
+ detached: true,
+ stdio: ['ignore', 'ignore', 'ignore']
+ });
+ }
}

View File

@@ -5,18 +5,6 @@ set -e
APP_NAME_LC="$( echo "${APP_NAME}" | awk '{print tolower($0)}' )"
. ./utils.sh
npm install -g checksum
sum_file() {
if [[ -f "${1}" ]]; then
echo "Calculating checksum for ${1}"
checksum -a sha256 "${1}" > "${1}".sha256
checksum "${1}" > "${1}".sha1
fi
}
mkdir -p assets
if [[ "${OS_NAME}" == "osx" ]]; then
@@ -226,12 +214,6 @@ if [[ "${SHOULD_BUILD_REH_WEB}" != "no" ]]; then
cd ..
fi
cd assets
for FILE in *; do
if [[ -f "${FILE}" ]]; then
sum_file "${FILE}"
fi
done
cd ..
if [[ "${OS_NAME}" != "windows" ]]; then
./prepare_checksums.sh
fi

23
prepare_checksums.sh Executable file
View File

@@ -0,0 +1,23 @@
#!/usr/bin/env bash
set -e
npm install -g checksum
sum_file() {
if [[ -f "${1}" ]]; then
echo "Calculating checksum for ${1}"
checksum -a sha256 "${1}" > "${1}".sha256
checksum "${1}" > "${1}".sha1
fi
}
cd assets
for FILE in *; do
if [[ -f "${FILE}" ]]; then
sum_file "${FILE}"
fi
done
cd ..

View File

@@ -78,29 +78,21 @@ if [[ "${OS_NAME}" == "linux" ]]; then
export npm_config_arm_version=7
fi
elif [[ "${OS_NAME}" == "windows" ]]; then
# TODO: Should be replaced with upstream URL once https://github.com/nodejs/node-gyp/pull/2825
# gets merged.
rm -rf .build/node-gyp
mkdir -p .build/node-gyp
cd .build/node-gyp
git config --global user.email "$( echo "${GITHUB_USERNAME}" | awk '{print tolower($0)}' )-ci@not-real.com"
git config --global user.name "${GITHUB_USERNAME} CI"
git clone https://github.com/nodejs/node-gyp.git .
git checkout v10.0.1
npm install
npm_config_node_gyp="$( pwd )/bin/node-gyp.js"
export npm_config_node_gyp
cd ../..
if [[ "${npm_config_arch}" == "arm" ]]; then
export npm_config_arm_version=7
fi
fi
npm ci
for i in {1..5}; do # try 5 times
npm ci && break
if [[ $i == 3 ]]; then
echo "Npm install failed too many times" >&2
exit 1
fi
echo "Npm install failed $i, trying again..."
sleep $(( 15 * (i + 1)))
done
setpath() {
local jsonTmp
@@ -137,7 +129,7 @@ setpath "product" "tipsAndTricksUrl" "https://go.microsoft.com/fwlink/?linkid=85
setpath "product" "twitterUrl" "https://go.microsoft.com/fwlink/?LinkID=533687"
if [[ "${DISABLE_UPDATE}" != "yes" ]]; then
setpath "product" "updateUrl" "https://vscodium.now.sh"
setpath "product" "updateUrl" "https://raw.githubusercontent.com/VSCodium/versions/refs/heads/master"
setpath "product" "downloadUrl" "https://github.com/VSCodium/vscodium/releases"
fi
@@ -231,16 +223,16 @@ if [[ "${OS_NAME}" == "linux" ]]; then
# control.template
sed -i 's|Microsoft Corporation <vscode-linux@microsoft.com>|VSCodium Team https://github.com/VSCodium/vscodium/graphs/contributors|' resources/linux/debian/control.template
sed -i 's|https://code.visualstudio.com|https://vscodium.com|' resources/linux/debian/control.template
sed -i 's|Visual Studio Code|VSCodium|g' resources/linux/debian/control.template
sed -i 's|https://code.visualstudio.com/docs/setup/linux|https://github.com/VSCodium/vscodium#download-install|' resources/linux/debian/control.template
sed -i 's|https://code.visualstudio.com|https://vscodium.com|' resources/linux/debian/control.template
# code.spec.template
sed -i 's|https://code.visualstudio.com/docs/setup/linux|https://github.com/VSCodium/vscodium#download-install|' resources/linux/rpm/code.spec.template
sed -i 's|Microsoft Corporation|VSCodium Team|' resources/linux/rpm/code.spec.template
sed -i 's|Visual Studio Code Team <vscode-linux@microsoft.com>|VSCodium Team https://github.com/VSCodium/vscodium/graphs/contributors|' resources/linux/rpm/code.spec.template
sed -i 's|https://code.visualstudio.com|https://vscodium.com|' resources/linux/rpm/code.spec.template
sed -i 's|Visual Studio Code|VSCodium|' resources/linux/rpm/code.spec.template
sed -i 's|https://code.visualstudio.com/docs/setup/linux|https://github.com/VSCodium/vscodium#download-install|' resources/linux/rpm/code.spec.template
sed -i 's|https://code.visualstudio.com|https://vscodium.com|' resources/linux/rpm/code.spec.template
# snapcraft.yaml
sed -i 's|Visual Studio Code|VSCodium|' resources/linux/rpm/code.spec.template

View File

@@ -216,6 +216,7 @@
"chatParticipantAdditions",
"defaultChatParticipant",
"embeddings",
"chatEditing",
"chatVariableResolver",
"chatProvider",
"mappedEditsProvider",
@@ -223,6 +224,7 @@
"codeActionAI",
"findTextInFiles",
"textSearchProvider",
"textSearchProvider2",
"activeComment",
"commentReveal",
"contribSourceControlInputBoxMenu",
@@ -237,7 +239,6 @@
"aiTextSearchProvider",
"documentFiltersExclusive",
"chatParticipantPrivate",
"lmTools",
"contribDebugCreateConfiguration",
"inlineEdit"
],
@@ -297,23 +298,16 @@
"ms-azuretools.vscode-azureappservice": [
"terminalDataWriteEvent"
],
"ms-azuretools.vscode-azure-github-copilot": [
"contribChatParticipantDetection",
"lmTools"
],
"ms-vscode.anycode": [
"extensionsAny"
],
"ms-vscode.cpptools": [
"terminalDataWriteEvent",
"lmTools"
"terminalDataWriteEvent"
],
"redhat.java": [
"documentPaste"
],
"vscjava.vscode-java-pack": [
"lmTools"
],
"vscjava.vscode-java-pack": [],
"ms-dotnettools.csdevkit": [
"inlineCompletionsAdditions"
],
@@ -332,8 +326,16 @@
"chatParticipantAdditions",
"languageModelSystem"
],
"ms-toolsai.datawrangler": [
"lmTools"
"ms-toolsai.datawrangler": [],
"ms-vscode.vscode-commander": [],
"ms-vscode.vscode-websearchforcopilot": [],
"ms-vscode.vscode-copilot-data-analysis": [
"chatVariableResolver",
"chatProvider"
],
"ms-vscode.vscode-copilot-vision": [
"chatReferenceBinaryData",
"codeActionAI"
],
"jeanp413.open-remote-ssh": [
"resolvers",

View File

@@ -1,6 +1,7 @@
#!/usr/bin/env bash
# shellcheck disable=SC1091
set -e
set -ex
if [[ -z "${GH_TOKEN}" ]] && [[ -z "${GITHUB_TOKEN}" ]] && [[ -z "${GH_ENTERPRISE_TOKEN}" ]] && [[ -z "${GITHUB_ENTERPRISE_TOKEN}" ]]; then
echo "Will not release because no GITHUB_TOKEN defined"
@@ -17,13 +18,22 @@ if [[ $( gh release view --repo "${ASSETS_REPOSITORY}" "${RELEASE_VERSION}" 2>&1
if [[ "${VSCODE_QUALITY}" == "insider" ]]; then
NOTES="update vscode to [${MS_COMMIT}](https://github.com/microsoft/vscode/tree/${MS_COMMIT})"
CREATE_OPTIONS=""
else
NOTES="update vscode to [${MS_TAG}](https://code.visualstudio.com/updates/v$( echo "${MS_TAG//./_}" | cut -d'_' -f 1,2 ))"
CREATE_OPTIONS="--generate-notes"
fi
gh release create "${RELEASE_VERSION}" --repo "${ASSETS_REPOSITORY}" --title "${RELEASE_VERSION}" --notes "${NOTES}" ${CREATE_OPTIONS}
gh release create "${RELEASE_VERSION}" --repo "${ASSETS_REPOSITORY}" --title "${RELEASE_VERSION}" --notes "${NOTES}"
else
gh release create "${RELEASE_VERSION}" --repo "${ASSETS_REPOSITORY}" --title "${RELEASE_VERSION}" --generate-notes
. ./utils.sh
RELEASE_NOTES=$( gh release view "${RELEASE_VERSION}" --json "body" --jq ".body" )
replace "s|MS_TAG_SHORT|$( echo "${MS_TAG//./_}" | cut -d'_' -f 1,2 )|" release_notes.txt
replace "s|MS_TAG|${MS_TAG}|" release_notes.txt
replace "s|RELEASE_VERSION|${RELEASE_VERSION}|g" release_notes.txt
replace "s|RELEASE_NOTES|${RELEASE_NOTES//$'\n'/\\n}|" release_notes.txt
gh release edit "${RELEASE_VERSION}" --notes-file release_notes.txt
fi
fi
cd assets

258
release_notes.txt Normal file
View File

@@ -0,0 +1,258 @@
update vscode to [MS_TAG](https://code.visualstudio.com/updates/vMS_TAG_SHORT)
RELEASE_NOTES
## x86 64bits
<table>
<tr>
<td rowspan="7">Windows</td>
<td>User Installer</td>
<td><a href="https://github.com/VSCodium/vscodium/releases/download/RELEASE_VERSION/VSCodiumUserSetup-x64-RELEASE_VERSION.exe">VSCodiumUserSetup-x64-RELEASE_VERSION.exe</a></td>
</tr>
<tr>
<td>System Installer</td>
<td><a href="https://github.com/VSCodium/vscodium/releases/download/RELEASE_VERSION/VSCodiumSetup-x64-RELEASE_VERSION.exe">VSCodiumSetup-x64-RELEASE_VERSION.exe</a></td>
</tr>
<tr>
<td>.zip</td>
<td><a href="https://github.com/VSCodium/vscodium/releases/download/RELEASE_VERSION/VSCodium-win32-x64-RELEASE_VERSION.zip">VSCodium-win32-x64-RELEASE_VERSION.zip</a></td>
</tr>
<tr>
<td>.msi - updates enabled</td>
<td><a href="https://github.com/VSCodium/vscodium/releases/download/RELEASE_VERSION/VSCodium-x64-RELEASE_VERSION.msi">VSCodium-x64-RELEASE_VERSION.msi</a></td>
</tr>
<tr>
<td>.msi - updates disabled</td>
<td><a href="https://github.com/VSCodium/vscodium/releases/download/RELEASE_VERSION/VSCodium-x64-updates-disabled-RELEASE_VERSION.msi">VSCodium-x64-updates-disabled-RELEASE_VERSION.msi</a></td>
</tr>
<tr>
<td>Remote Host</td>
<td><a href="https://github.com/VSCodium/vscodium/releases/download/RELEASE_VERSION/vscodium-reh-win32-x64-RELEASE_VERSION.tar.gz">vscodium-reh-win32-x64-RELEASE_VERSION.tar.gz</a></td>
</tr>
<tr>
<td>Web Host</td>
<td><a href="https://github.com/VSCodium/vscodium/releases/download/RELEASE_VERSION/vscodium-reh-web-win32-x64-RELEASE_VERSION.tar.gz">vscodium-reh-web-win32-x64-RELEASE_VERSION.tar.gz</a></td>
</tr>
<tr>
<td rowspan="4">macOS</td>
<td>.dmg</td>
<td><a href="https://github.com/VSCodium/vscodium/releases/download/RELEASE_VERSION/VSCodium.x64.RELEASE_VERSION.dmg">VSCodium.x64.RELEASE_VERSION.dmg</a></td>
</tr>
<tr>
<td>.zip</td>
<td><a href="https://github.com/VSCodium/vscodium/releases/download/RELEASE_VERSION/VSCodium-darwin-x64-RELEASE_VERSION.zip">VSCodium-darwin-x64-RELEASE_VERSION.zip</a></td>
</tr>
<tr>
<td>Remote Host</td>
<td><a href="https://github.com/VSCodium/vscodium/releases/download/RELEASE_VERSION/vscodium-reh-darwin-x64-RELEASE_VERSION.tar.gz">vscodium-reh-darwin-x64-RELEASE_VERSION.tar.gz</a></td>
</tr>
<tr>
<td>Web Host</td>
<td><a href="https://github.com/VSCodium/vscodium/releases/download/RELEASE_VERSION/vscodium-reh-web-darwin-x64-RELEASE_VERSION.tar.gz">vscodium-reh-web-darwin-x64-RELEASE_VERSION.tar.gz</a></td>
</tr>
<tr>
<td rowspan="7">Linux</td>
<td>.deb</td>
<td><a href="https://github.com/VSCodium/vscodium/releases/download/RELEASE_VERSION/codium_RELEASE_VERSION_amd64.deb">codium_RELEASE_VERSION_amd64.deb</a></td>
</tr>
<tr>
<td>.rpm</td>
<td><a href="https://github.com/VSCodium/vscodium/releases/download/RELEASE_VERSION/codium-RELEASE_VERSION-el9.x86_64.rpm">codium-RELEASE_VERSION-el9.x86_64.rpm</a></td>
</tr>
<tr>
<td>.tar.gz</td>
<td><a href="https://github.com/VSCodium/vscodium/releases/download/RELEASE_VERSION/VSCodium-linux-x64-RELEASE_VERSION.tar.gz">VSCodium-linux-x64-RELEASE_VERSION.tar.gz</a></td>
</tr>
<tr>
<td>AppImage</td>
<td>
<a href="https://github.com/VSCodium/vscodium/releases/download/RELEASE_VERSION/VSCodium-RELEASE_VERSION.glibc2.25-x86_64.AppImage">VSCodium-RELEASE_VERSION.glibc2.25-x86_64.AppImage</a><br />
<a href="https://github.com/VSCodium/vscodium/releases/download/RELEASE_VERSION/VSCodium-RELEASE_VERSION.glibc2.25-x86_64.AppImage.zsync">VSCodium-RELEASE_VERSION.glibc2.25-x86_64.AppImage.zsync</a>
</td>
</tr>
<tr>
<td>Snap</td>
<td><a href="https://github.com/VSCodium/vscodium/releases/download/RELEASE_VERSION/codium_RELEASE_VERSION_amd64.snap">codium_RELEASE_VERSION_amd64.snap</a></td>
</tr>
<tr>
<td>Remote Host</td>
<td><a href="https://github.com/VSCodium/vscodium/releases/download/RELEASE_VERSION/vscodium-reh-linux-x64-RELEASE_VERSION.tar.gz">vscodium-reh-linux-x64-RELEASE_VERSION.tar.gz</a></td>
</tr>
<tr>
<td>Web Host</td>
<td><a href="https://github.com/VSCodium/vscodium/releases/download/RELEASE_VERSION/vscodium-reh-web-linux-x64-RELEASE_VERSION.tar.gz">vscodium-reh-web-linux-x64-RELEASE_VERSION.tar.gz</a></td>
</tr>
<tr>
<td rowspan="2">Alpine</td>
<td>Remote Host</td>
<td><a href="https://github.com/VSCodium/vscodium/releases/download/RELEASE_VERSION/vscodium-reh-alpine-x64-RELEASE_VERSION.tar.gz">vscodium-reh-alpine-x64-RELEASE_VERSION.tar.gz</a></td>
</tr>
<tr>
<td>Web Host</td>
<td><a href="https://github.com/VSCodium/vscodium/releases/download/RELEASE_VERSION/vscodium-reh-web-alpine-x64-RELEASE_VERSION.tar.gz">vscodium-reh-web-alpine-x64-RELEASE_VERSION.tar.gz</a></td>
</tr>
</table>
## ARM 64bits
<table>
<tr>
<td rowspan="3">Windows</td>
<td>User Installer</td>
<td><a href="https://github.com/VSCodium/vscodium/releases/download/RELEASE_VERSION/VSCodiumUserSetup-arm64-RELEASE_VERSION.exe">VSCodiumUserSetup-arm64-RELEASE_VERSION.exe</a></td>
</tr>
<tr>
<td>System Installer</td>
<td><a href="https://github.com/VSCodium/vscodium/releases/download/RELEASE_VERSION/VSCodiumSetup-arm64-RELEASE_VERSION.exe">VSCodiumSetup-arm64-RELEASE_VERSION.exe</a></td>
</tr>
<tr>
<td>.zip</td>
<td><a href="https://github.com/VSCodium/vscodium/releases/download/RELEASE_VERSION/VSCodium-win32-arm64-RELEASE_VERSION.zip">VSCodium-win32-arm64-RELEASE_VERSION.zip</a></td>
</tr>
<tr>
<td rowspan="4">macOS</td>
<td>.dmg</td>
<td><a href="https://github.com/VSCodium/vscodium/releases/download/RELEASE_VERSION/VSCodium.arm64.RELEASE_VERSION.dmg">VSCodium.arm64.RELEASE_VERSION.dmg</a></td>
</tr>
<tr>
<td>.zip</td>
<td><a href="https://github.com/VSCodium/vscodium/releases/download/RELEASE_VERSION/VSCodium-darwin-arm64-RELEASE_VERSION.zip">VSCodium-darwin-arm64-RELEASE_VERSION.zip</a></td>
</tr>
<tr>
<td>Remote Host</td>
<td><a href="https://github.com/VSCodium/vscodium/releases/download/RELEASE_VERSION/vscodium-reh-darwin-arm64-RELEASE_VERSION.tar.gz">vscodium-reh-darwin-arm64-RELEASE_VERSION.tar.gz</a></td>
</tr>
<tr>
<td>Web Host</td>
<td><a href="https://github.com/VSCodium/vscodium/releases/download/RELEASE_VERSION/vscodium-reh-web-darwin-arm64-RELEASE_VERSION.tar.gz">vscodium-reh-web-darwin-arm64-RELEASE_VERSION.tar.gz</a></td>
</tr>
<tr>
<td rowspan="6">Linux</td>
<td>.deb</td>
<td><a href="https://github.com/VSCodium/vscodium/releases/download/RELEASE_VERSION/codium_RELEASE_VERSION_arm64.deb">codium_RELEASE_VERSION_arm64.deb</a></td>
</tr>
<tr>
<td>.rpm</td>
<td><a href="https://github.com/VSCodium/vscodium/releases/download/RELEASE_VERSION/codium-RELEASE_VERSION-el9.aarch64.rpm">codium-RELEASE_VERSION-el9.aarch64.rpm</a></td>
</tr>
<tr>
<td>.tar.gz</td>
<td><a href="https://github.com/VSCodium/vscodium/releases/download/RELEASE_VERSION/VSCodium-linux-arm64-RELEASE_VERSION.tar.gz">VSCodium-linux-arm64-RELEASE_VERSION.tar.gz</a></td>
</tr>
<tr>
<td>Snap</td>
<td><a href="https://github.com/VSCodium/vscodium/releases/download/RELEASE_VERSION/codium_RELEASE_VERSION_arm64.snap">codium_RELEASE_VERSION_arm64.snap</a></td>
</tr>
<tr>
<td>Remote Host</td>
<td><a href="https://github.com/VSCodium/vscodium/releases/download/RELEASE_VERSION/vscodium-reh-linux-arm64-RELEASE_VERSION.tar.gz">vscodium-reh-linux-arm64-RELEASE_VERSION.tar.gz</a></td>
</tr>
<tr>
<td>Web Host</td>
<td><a href="https://github.com/VSCodium/vscodium/releases/download/RELEASE_VERSION/vscodium-reh-web-linux-arm64-RELEASE_VERSION.tar.gz">vscodium-reh-web-linux-arm64-RELEASE_VERSION.tar.gz</a></td>
</tr>
<tr>
<td rowspan="2">Alpine</td>
<td>Remote Host</td>
<td><a href="https://github.com/VSCodium/vscodium/releases/download/RELEASE_VERSION/vscodium-reh-alpine-arm64-RELEASE_VERSION.tar.gz">vscodium-reh-alpine-arm64-RELEASE_VERSION.tar.gz</a></td>
</tr>
<tr>
<td>Web Host</td>
<td><a href="https://github.com/VSCodium/vscodium/releases/download/RELEASE_VERSION/vscodium-reh-web-alpine-arm64-RELEASE_VERSION.tar.gz">vscodium-reh-web-alpine-arm64-RELEASE_VERSION.tar.gz</a></td>
</tr>
</table>
## ARM 32bits
<table>
<tr>
<td rowspan="5">Linux</td>
<td>.deb</td>
<td><a href="https://github.com/VSCodium/vscodium/releases/download/RELEASE_VERSION/codium_RELEASE_VERSION_armhf.deb">codium_RELEASE_VERSION_armhf.deb</a></td>
</tr>
<tr>
<td>.rpm</td>
<td><a href="https://github.com/VSCodium/vscodium/releases/download/RELEASE_VERSION/codium-RELEASE_VERSION-el9.armv7hl.rpm">codium-RELEASE_VERSION-el9.armv7hl.rpm</a></td>
</tr>
<tr>
<td>.tar.gz</td>
<td><a href="https://github.com/VSCodium/vscodium/releases/download/RELEASE_VERSION/VSCodium-linux-armhf-RELEASE_VERSION.tar.gz">VSCodium-linux-armhf-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-armhf-RELEASE_VERSION.tar.gz">vscodium-reh-linux-armhf-RELEASE_VERSION.tar.gz</a></td>
</tr>
<tr>
<td>Web Host</td>
<td><a href="https://github.com/VSCodium/vscodium/releases/download/RELEASE_VERSION/vscodium-reh-web-linux-armhf-RELEASE_VERSION.tar.gz">vscodium-reh-web-linux-armhf-RELEASE_VERSION.tar.gz</a></td>
</tr>
</table>
## PPC 64bits
<table>
<tr>
<td rowspan="3">Linux</td>
<td>.tar.gz</td>
<td><a href="https://github.com/VSCodium/vscodium/releases/download/RELEASE_VERSION/VSCodium-linux-ppc64le-RELEASE_VERSION.tar.gz">VSCodium-linux-ppc64le-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-ppc64le-RELEASE_VERSION.tar.gz">vscodium-reh-linux-ppc64le-RELEASE_VERSION.tar.gz</a></td>
</tr>
<tr>
<td>Web Host</td>
<td><a href="https://github.com/VSCodium/vscodium/releases/download/RELEASE_VERSION/vscodium-reh-web-linux-ppc64le-RELEASE_VERSION.tar.gz">vscodium-reh-web-linux-ppc64le-RELEASE_VERSION.tar.gz</a></td>
</tr>
</table>
## RISC-V 64bits
<table>
<tr>
<td rowspan="3">Linux</td>
<td>.tar.gz</td>
<td><a href="https://github.com/VSCodium/vscodium/releases/download/RELEASE_VERSION/VSCodium-linux-riscv64-RELEASE_VERSION.tar.gz">VSCodium-linux-riscv64-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-riscv64-RELEASE_VERSION.tar.gz">vscodium-reh-linux-riscv64-RELEASE_VERSION.tar.gz</a></td>
</tr>
<tr>
<td>Web Host</td>
<td><a href="https://github.com/VSCodium/vscodium/releases/download/RELEASE_VERSION/vscodium-reh-web-linux-riscv64-RELEASE_VERSION.tar.gz">vscodium-reh-web-linux-riscv64-RELEASE_VERSION.tar.gz</a></td>
</tr>
</table>
## Loong 64bits
<table>
<tr>
<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>
<tr>
<td>Web Host</td>
<td><a href="https://github.com/VSCodium/vscodium/releases/download/RELEASE_VERSION/vscodium-reh-web-linux-loong64-RELEASE_VERSION.tar.gz">vscodium-reh-web-linux-loong64-RELEASE_VERSION.tar.gz</a></td>
</tr>
</table>
## s390x
<table>
<tr>
<td rowspan="2">Linux</td>
<td>Remote Host</td>
<td><a href="https://github.com/VSCodium/vscodium/releases/download/RELEASE_VERSION/vscodium-reh-linux-s390x-RELEASE_VERSION.tar.gz">vscodium-reh-linux-s390x-RELEASE_VERSION.tar.gz</a></td>
</tr>
<tr>
<td>Web Host</td>
<td><a href="https://github.com/VSCodium/vscodium/releases/download/RELEASE_VERSION/vscodium-reh-web-linux-s390x-RELEASE_VERSION.tar.gz">vscodium-reh-web-linux-s390x-RELEASE_VERSION.tar.gz</a></td>
</tr>
</table>

18
ripgrep_linux_loong64.sh Executable file
View File

@@ -0,0 +1,18 @@
#!/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.
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"
rm "${RG_PATH}"
curl --silent --fail -L https://github.com/darkyzhou/ripgrep-loongarch64-musl/releases/download/${RG_VERSION}/rg -o "${RG_PATH}"
chmod +x "${RG_PATH}"

18
ripgrep_linux_riscv64.sh Executable file
View File

@@ -0,0 +1,18 @@
#!/usr/bin/env bash
# microsoft/ripgrep-prebuilt doesn't support riscv64.
# Tracking PR: https://github.com/microsoft/ripgrep-prebuilt/pull/41
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-3"
echo "Replacing ripgrep binary with riscv64 one"
rm "${RG_PATH}"
curl --silent --fail -L https://github.com/riscv-forks/ripgrep-riscv64-prebuilt/releases/download/${RG_VERSION}/rg -o "${RG_PATH}"
chmod +x "${RG_PATH}"

View File

@@ -1,4 +1,4 @@
{
"tag": "1.94.1",
"commit": "acb2ed666e6254b03ec48e3e7c0b78960ce4350d"
"tag": "1.96.4",
"commit": "cd4ee3b1c348a13bafd8f9ad8060705f6d4b9cba"
}

View File

@@ -22,11 +22,13 @@ else
fi
if [[ "${VSCODE_QUALITY}" == "stable" ]]; then
CHANNEL="${SNAPCRAFT_STORE_CHANNEL:-stable}"
sudo snap install --channel stable --classic snapcraft
echo "Architecture: ${ARCHITECTURE}"
SNAP_VERSION=$( snapcraft list-revisions "${SNAP_NAME}" | grep -F "stable*" | grep "${ARCHITECTURE}" | tr -s ' ' | cut -d ' ' -f 4 )
SNAP_VERSION=$( snapcraft list-revisions "${SNAP_NAME}" | grep -F "${CHANNEL}*" | grep "${ARCHITECTURE}" | tr -s ' ' | cut -d ' ' -f 4 )
echo "Snap version: ${SNAP_VERSION}"
if [[ -n "${SNAP_VERSION}" && "${SNAP_VERSION}" != "${RELEASE_VERSION}" ]]; then