mirror of
https://github.com/VSCodium/vscodium.git
synced 2026-04-14 04:38:18 +10:00
Compare commits
325 Commits
1.81.1.232
...
1.95.1.243
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
fe2d6e465b | ||
|
|
77e58edfe0 | ||
|
|
2aae045dba | ||
|
|
7e79fdc303 | ||
|
|
0baf7a131d | ||
|
|
04a8a93152 | ||
|
|
820be10fd0 | ||
|
|
606a83c4c5 | ||
|
|
2b8134a202 | ||
|
|
1125a02e16 | ||
|
|
e4e4be70c9 | ||
|
|
b80aa30a35 | ||
|
|
85ce7aa131 | ||
|
|
7fbe30a3f5 | ||
|
|
9ed563921b | ||
|
|
34a8803363 | ||
|
|
33a2643e1b | ||
|
|
4418bab702 | ||
|
|
c910d1447d | ||
|
|
656d6cea58 | ||
|
|
3d2a91c693 | ||
|
|
b10b54d0be | ||
|
|
9eff6e1bc0 | ||
|
|
5db0194218 | ||
|
|
8386f6057b | ||
|
|
b4943a7ef5 | ||
|
|
773b81f25f | ||
|
|
f02532900b | ||
|
|
8aa6281b5d | ||
|
|
929efa9c89 | ||
|
|
a6cd884c37 | ||
|
|
e5d9fa5143 | ||
|
|
aa4d1fe3c9 | ||
|
|
6c5a93fd32 | ||
|
|
46b4f54548 | ||
|
|
7578449a67 | ||
|
|
95fd5b764a | ||
|
|
d5c18fc231 | ||
|
|
0489bd5ca1 | ||
|
|
d1f10c1c24 | ||
|
|
d54e101a92 | ||
|
|
826c2fab92 | ||
|
|
18ec65a491 | ||
|
|
3047fd50fb | ||
|
|
fc453f25f8 | ||
|
|
48cabed6ba | ||
|
|
5e4ba54b43 | ||
|
|
a3718a2039 | ||
|
|
30ee9c1f69 | ||
|
|
cdbf4e17bd | ||
|
|
e336b1a3ff | ||
|
|
b520aa1b9b | ||
|
|
5cb1be9c61 | ||
|
|
aa340c1b5b | ||
|
|
237be4bef0 | ||
|
|
318f111ff7 | ||
|
|
043f1c4c60 | ||
|
|
f10855ca77 | ||
|
|
be2896f6f9 | ||
|
|
ae80c0cd05 | ||
|
|
53ca646162 | ||
|
|
4aa7ec7928 | ||
|
|
c6f099228b | ||
|
|
98747a7251 | ||
|
|
5d1d56247d | ||
|
|
41b1e88740 | ||
|
|
9d70d6b0a2 | ||
|
|
a01f36bf8c | ||
|
|
7538e45f92 | ||
|
|
51f2ec84c1 | ||
|
|
092d1404e3 | ||
|
|
b70e809fb6 | ||
|
|
8451268bb4 | ||
|
|
f1bf0000b4 | ||
|
|
baa7fe4155 | ||
|
|
1709f8b501 | ||
|
|
aed67b3d81 | ||
|
|
60ebbedbf8 | ||
|
|
5a769efcb9 | ||
|
|
0c31a54dea | ||
|
|
8c9acad540 | ||
|
|
ffd7e631b0 | ||
|
|
8f2868d2ea | ||
|
|
6a38a6e9db | ||
|
|
7b846f5dd1 | ||
|
|
a652d7a26b | ||
|
|
a7c7014502 | ||
|
|
b5bbda7208 | ||
|
|
c3064a2cb3 | ||
|
|
3860f2832c | ||
|
|
8e077dc483 | ||
|
|
c703bf5868 | ||
|
|
b39a7be7a8 | ||
|
|
11b7b8dc40 | ||
|
|
e8a3ac3cab | ||
|
|
73ba20791e | ||
|
|
b6411b1af1 | ||
|
|
02a9d03154 | ||
|
|
f93746b300 | ||
|
|
0d28b4dfb7 | ||
|
|
39df447b12 | ||
|
|
ac0f6f2011 | ||
|
|
c8a5d87903 | ||
|
|
7733660b8a | ||
|
|
193d8e0a44 | ||
|
|
6c180b2903 | ||
|
|
07b7cb95cf | ||
|
|
a1f3d6ff6c | ||
|
|
ab01a1aa00 | ||
|
|
50cd49e73c | ||
|
|
4dc6ac4efb | ||
|
|
97bd0850e2 | ||
|
|
e4b7667390 | ||
|
|
6253c391d1 | ||
|
|
846ff03638 | ||
|
|
f9dd596d7b | ||
|
|
e97b042f36 | ||
|
|
27e012b8c4 | ||
|
|
4a5eac45bc | ||
|
|
218db9297e | ||
|
|
df8b53671c | ||
|
|
6f7b5f7e5b | ||
|
|
d7c458fbb3 | ||
|
|
ecb34d2fde | ||
|
|
9cde10c3c8 | ||
|
|
ec3440c945 | ||
|
|
54643d2d20 | ||
|
|
b5c6d4ed25 | ||
|
|
d7b3f79225 | ||
|
|
5260770ebf | ||
|
|
2e7169a51a | ||
|
|
fc5bb5232e | ||
|
|
b3ab572f67 | ||
|
|
914fb42eed | ||
|
|
3c21a8ca23 | ||
|
|
c25403efaa | ||
|
|
5269066280 | ||
|
|
fc5bc75ba8 | ||
|
|
6a0df191ba | ||
|
|
02883594db | ||
|
|
ed0de172c4 | ||
|
|
9959ea3883 | ||
|
|
97127baae4 | ||
|
|
eb7d54bd62 | ||
|
|
ad280d74db | ||
|
|
def8660f29 | ||
|
|
333d381b79 | ||
|
|
3d7a4ca324 | ||
|
|
6fc1f3d9ad | ||
|
|
60f14dadc8 | ||
|
|
9eab456963 | ||
|
|
9c56656f21 | ||
|
|
f4759fb36a | ||
|
|
e117bf98d5 | ||
|
|
5108f834ff | ||
|
|
694f559418 | ||
|
|
d06c8d52f8 | ||
|
|
6764917005 | ||
|
|
f309a13e49 | ||
|
|
908ad168f3 | ||
|
|
d493f78ac7 | ||
|
|
b1347db351 | ||
|
|
2f1f18834d | ||
|
|
3df8eaac79 | ||
|
|
be0dcd1712 | ||
|
|
e8021d07ee | ||
|
|
b409f3472c | ||
|
|
99f92269eb | ||
|
|
ab1a6fa244 | ||
|
|
3b86373e7c | ||
|
|
d87569085d | ||
|
|
2fff1a6f83 | ||
|
|
3187e3121f | ||
|
|
c480c943b2 | ||
|
|
0f31cbabbd | ||
|
|
a6ee6e7e7f | ||
|
|
8d023eb88b | ||
|
|
aebe54143c | ||
|
|
c11e8cb34f | ||
|
|
9ce4c29b64 | ||
|
|
a6150955be | ||
|
|
4f407ac513 | ||
|
|
5da67f762f | ||
|
|
f1d7201c3c | ||
|
|
58bf4cb91c | ||
|
|
80cfae0ef8 | ||
|
|
4d712a77a8 | ||
|
|
a4ed6272bb | ||
|
|
158d27571f | ||
|
|
1dc9cbec09 | ||
|
|
25743e2b1b | ||
|
|
15b22644df | ||
|
|
36626d3e3e | ||
|
|
4d072a64c4 | ||
|
|
db7d4c33f3 | ||
|
|
90f88ba638 | ||
|
|
a3a8234ce8 | ||
|
|
fb5f9a59e4 | ||
|
|
f2368757f3 | ||
|
|
c2fad13012 | ||
|
|
49c508607d | ||
|
|
279758278b | ||
|
|
f18abb0ab8 | ||
|
|
95db40ceb0 | ||
|
|
1341b7b7af | ||
|
|
096bb6e6d7 | ||
|
|
5ab85e4972 | ||
|
|
a54f8f25f5 | ||
|
|
12a0fa0cf6 | ||
|
|
db835abaf1 | ||
|
|
e04c06d5e3 | ||
|
|
5427f5c36a | ||
|
|
2be4e5af47 | ||
|
|
da43928fde | ||
|
|
509931a6d1 | ||
|
|
0b4117ed49 | ||
|
|
b0e8397279 | ||
|
|
76d1aa5ab3 | ||
|
|
a633e4ef15 | ||
|
|
53b09bb494 | ||
|
|
969b50bb4d | ||
|
|
f7e347f027 | ||
|
|
e23717a28a | ||
|
|
a2c4dbed20 | ||
|
|
799e20364d | ||
|
|
ad4d2c612d | ||
|
|
9fae90974b | ||
|
|
7661574791 | ||
|
|
33596505a6 | ||
|
|
4e32237f33 | ||
|
|
3cad271b5c | ||
|
|
6144fec97d | ||
|
|
3f66ba03df | ||
|
|
3465153c6e | ||
|
|
96f53366b7 | ||
|
|
1588f9cabf | ||
|
|
b5eb8aa469 | ||
|
|
8024004702 | ||
|
|
d490b06bdb | ||
|
|
799b71046d | ||
|
|
a1cae6f671 | ||
|
|
4f360377b1 | ||
|
|
2faafce844 | ||
|
|
a49d4f1de0 | ||
|
|
eea73cb564 | ||
|
|
6ada8c9026 | ||
|
|
1c424b6c05 | ||
|
|
8168609ee9 | ||
|
|
24aafd81b9 | ||
|
|
508642510a | ||
|
|
ef4d13a0c6 | ||
|
|
f09882677b | ||
|
|
0952b2f0dc | ||
|
|
0d7ded33f3 | ||
|
|
40c487fcf9 | ||
|
|
01f2c461ad | ||
|
|
56e99f2989 | ||
|
|
e159da782a | ||
|
|
ae0d209284 | ||
|
|
d6d31a6443 | ||
|
|
f3a832f6cb | ||
|
|
9cfdb0fa14 | ||
|
|
48f5958d8b | ||
|
|
b0c823fc07 | ||
|
|
4de18fae52 | ||
|
|
5039d2d09b | ||
|
|
8bb53bf173 | ||
|
|
8606615423 | ||
|
|
efca1a2c2c | ||
|
|
3b1a4e39c6 | ||
|
|
40b1d413f5 | ||
|
|
b8eac1f27b | ||
|
|
dfc41b2911 | ||
|
|
fbeaf45cdb | ||
|
|
6748d842bb | ||
|
|
e658a1cf0b | ||
|
|
f3a6b9555b | ||
|
|
2e4dbca8e6 | ||
|
|
3699c22652 | ||
|
|
32e07ef39a | ||
|
|
ce52a2931b | ||
|
|
6868dc47cd | ||
|
|
f470320501 | ||
|
|
7580fb767a | ||
|
|
49583eb39d | ||
|
|
f1fa60db6d | ||
|
|
fef49abfd5 | ||
|
|
f38ad8b6a2 | ||
|
|
b1ca680ce7 | ||
|
|
282e23dff0 | ||
|
|
fa6fbaa4e0 | ||
|
|
e727f395ba | ||
|
|
5f055bf5ae | ||
|
|
e863d764eb | ||
|
|
5e143f4297 | ||
|
|
df298f9630 | ||
|
|
0851b9abd3 | ||
|
|
5e61d7d3db | ||
|
|
fc7ef66af4 | ||
|
|
240fb384a2 | ||
|
|
8de14b5c6a | ||
|
|
dd84d4841a | ||
|
|
5290310677 | ||
|
|
fca50b1b9b | ||
|
|
75e7f71ac6 | ||
|
|
5d50317e0e | ||
|
|
b667614448 | ||
|
|
51b0ff47bc | ||
|
|
1789f03920 | ||
|
|
1861b90513 | ||
|
|
5631262eb7 | ||
|
|
2523267fed | ||
|
|
5600db3e57 | ||
|
|
4314fdae01 | ||
|
|
d7f0ff07dc | ||
|
|
5621279b19 | ||
|
|
ffebe6ddf1 | ||
|
|
4930c5a71e | ||
|
|
1c6056c2c0 | ||
|
|
c2d980b0a2 | ||
|
|
61f4931efb | ||
|
|
6333caaf8a | ||
|
|
e7f41946a4 | ||
|
|
c2894d5563 | ||
|
|
6f36a980aa |
2
.github/ISSUE_TEMPLATE/bug_report.md
vendored
2
.github/ISSUE_TEMPLATE/bug_report.md
vendored
@@ -14,7 +14,7 @@ A clear and concise description of what the bug is.
|
||||
- [ ] This bug doesn't happen if I use Microsoft's Visual Studio Code. It only happens in VSCodium.
|
||||
|
||||
**Please confirm that the issue/resolution isn't already documented**
|
||||
- [ ] I checked [the Docs page](https://github.com/VSCodium/vscodium/blob/master/DOCS.md) and my issue is not mentioned there.
|
||||
- [ ] I checked [the Docs page](https://github.com/VSCodium/vscodium/blob/master/docs/index.md) and [the Troubleshooting page](https://github.com/VSCodium/vscodium/blob/master/docs/troubleshooting.md) and my issue is not mentioned there.
|
||||
|
||||
**To Reproduce**
|
||||
Steps to reproduce the behavior:
|
||||
|
||||
422
.github/workflows/insider-linux.yml
vendored
422
.github/workflows/insider-linux.yml
vendored
@@ -3,17 +3,17 @@ name: insider-linux
|
||||
on:
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
release_version:
|
||||
force_version:
|
||||
type: boolean
|
||||
description: Force update version
|
||||
generate_assets:
|
||||
type: boolean
|
||||
description: Generate assets
|
||||
checkout_pr:
|
||||
type: string
|
||||
description: Forced release version
|
||||
new_release:
|
||||
type: boolean
|
||||
description: Force new Release
|
||||
test_asset_builder:
|
||||
type: boolean
|
||||
description: Test the assets builder
|
||||
schedule:
|
||||
- cron: '0 8 * * *'
|
||||
description: Checkout PR
|
||||
repository_dispatch:
|
||||
types: [insider]
|
||||
push:
|
||||
branches: [ insider ]
|
||||
paths-ignore:
|
||||
@@ -24,9 +24,12 @@ on:
|
||||
- '**/*.md'
|
||||
|
||||
env:
|
||||
ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION: true
|
||||
APP_NAME: VSCodium
|
||||
ASSETS_REPOSITORY: ${{ github.repository }}-insiders
|
||||
GITHUB_BRANCH: insider
|
||||
BINARY_NAME: codium-insiders
|
||||
DISABLE_UPDATE: 'yes'
|
||||
GITHUB_BRANCH: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || 'insider' }}
|
||||
OS_NAME: linux
|
||||
VERSIONS_REPOSITORY: ${{ github.repository_owner }}/versions
|
||||
VSCODE_QUALITY: insider
|
||||
@@ -34,8 +37,6 @@ env:
|
||||
jobs:
|
||||
check:
|
||||
runs-on: ubuntu-latest
|
||||
container:
|
||||
image: vscodium/vscodium-linux-build-agent:bionic-x64
|
||||
outputs:
|
||||
MS_COMMIT: ${{ env.MS_COMMIT }}
|
||||
MS_TAG: ${{ env.MS_TAG }}
|
||||
@@ -44,133 +45,189 @@ jobs:
|
||||
SHOULD_DEPLOY: ${{ env.SHOULD_DEPLOY }}
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
ref: ${{ env.GITHUB_BRANCH }}
|
||||
|
||||
- name: Clone VSCode repo
|
||||
- name: Switch to relevant branch
|
||||
env:
|
||||
RELEASE_VERSION: ${{ github.event.inputs.release_version }}
|
||||
PULL_REQUEST_ID: ${{ github.event.inputs.checkout_pr }}
|
||||
run: ./get_pr.sh
|
||||
|
||||
- name: Clone VSCode repo
|
||||
run: ./get_repo.sh
|
||||
|
||||
- name: Check PR or cron
|
||||
env:
|
||||
TEST_ASSET_BUILDER: ${{ github.event.inputs.test_asset_builder }}
|
||||
GENERATE_ASSETS: ${{ github.event.inputs.generate_assets }}
|
||||
run: ./check_cron_or_pr.sh
|
||||
|
||||
dependencies:
|
||||
- name: Check existing VSCodium tags/releases
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
CHECK_ALL: 'yes'
|
||||
run: ./check_tags.sh
|
||||
|
||||
compile:
|
||||
needs:
|
||||
- check
|
||||
runs-on: ubuntu-latest
|
||||
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 }}
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
include:
|
||||
- vscode_arch: x64
|
||||
image: vscodium/vscodium-linux-build-agent:centos7-devtoolset8-x64
|
||||
# - vscode_arch: arm64
|
||||
# image: vscodium/vscodium-linux-build-agent:centos7-devtoolset8-arm64
|
||||
container:
|
||||
image: ${{ matrix.image }}
|
||||
if: needs.check.outputs.SHOULD_BUILD == 'yes' || needs.check.outputs.SHOULD_DEPLOY == 'yes'
|
||||
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@v3
|
||||
- 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'
|
||||
|
||||
- uses: docker/setup-qemu-action@v2
|
||||
if: matrix.vscode_arch == 'arm64' || matrix.vscode_arch == 'ppc64le'
|
||||
- name: Build
|
||||
env:
|
||||
SHOULD_BUILD_REH: 'no'
|
||||
SHOULD_BUILD_REH_WEB: 'no'
|
||||
run: ./build.sh
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
|
||||
- name: Install remote dependencies
|
||||
run: ./install_remote_dependencies.sh
|
||||
- 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: Save remote dependencies
|
||||
- name: Upload vscode artifact
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: remote-dependencies-${{ matrix.vscode_arch }}
|
||||
path: ./remote-dependencies.tar
|
||||
name: vscode
|
||||
path: ./vscode.tar.gz
|
||||
retention-days: ${{ needs.check.outputs.SHOULD_DEPLOY == 'yes' && 30 || 1 }}
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
|
||||
build:
|
||||
needs:
|
||||
- check
|
||||
- dependencies
|
||||
- compile
|
||||
runs-on: ubuntu-latest
|
||||
env:
|
||||
DISABLE_UPDATE: 'yes'
|
||||
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 }}
|
||||
SHOULD_DEPLOY: ${{ needs.check.outputs.SHOULD_DEPLOY }}
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
include:
|
||||
- vscode_arch: x64
|
||||
npm_arch: x64
|
||||
image: vscodium/vscodium-linux-build-agent:bionic-x64
|
||||
image: vscodium/vscodium-linux-build-agent:focal-x64
|
||||
- vscode_arch: arm64
|
||||
npm_arch: arm64
|
||||
image: vscodium/vscodium-linux-build-agent:bionic-arm64
|
||||
image: vscodium/vscodium-linux-build-agent:focal-arm64
|
||||
- vscode_arch: armhf
|
||||
npm_arch: arm
|
||||
image: vscodium/vscodium-linux-build-agent:bionic-armhf
|
||||
- vscode_arch: ppc64le
|
||||
npm_arch: ppc64
|
||||
image: vscodium/vscodium-linux-build-agent:bionic-ppc64le
|
||||
image: vscodium/vscodium-linux-build-agent:focal-armhf
|
||||
- vscode_arch: riscv64
|
||||
npm_arch: riscv64
|
||||
image: vscodium/vscodium-linux-build-agent:focal-riscv64
|
||||
container:
|
||||
image: ${{ matrix.image }}
|
||||
env:
|
||||
VSCODE_ARCH: ${{ matrix.vscode_arch }}
|
||||
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_BUILD: ${{ env.SHOULD_BUILD }}
|
||||
SHOULD_DEPLOY: ${{ env.SHOULD_DEPLOY }}
|
||||
if: needs.check.outputs.SHOULD_BUILD == 'yes' || needs.check.outputs.SHOULD_DEPLOY == 'yes'
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
with:
|
||||
ref: ${{ env.GITHUB_BRANCH }}
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
|
||||
- name: Clone VSCode repo
|
||||
run: ./get_repo.sh
|
||||
- name: Switch to relevant branch
|
||||
env:
|
||||
PULL_REQUEST_ID: ${{ github.event.inputs.checkout_pr }}
|
||||
run: ./get_pr.sh
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
|
||||
- name: Install GH
|
||||
run: ./install_gh.sh
|
||||
if: env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes'
|
||||
|
||||
- name: Check existing VSCodium tags/releases
|
||||
env:
|
||||
CHECK_REH: 'no'
|
||||
DISABLE_APPIMAGE: ${{ vars.DISABLE_INSIDER_APPIMAGE }}
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
NEW_RELEASE: ${{ github.event.inputs.new_release }}
|
||||
run: ./check_tags.sh
|
||||
if: env.SHOULD_DEPLOY == 'yes'
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
|
||||
- name: Restore remote dependencies
|
||||
- name: Install libkrb5-dev
|
||||
run: sudo apt-get update -y && sudo apt-get install -y libkrb5-dev
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
|
||||
- name: Download vscode artifact
|
||||
uses: actions/download-artifact@v3
|
||||
with:
|
||||
name: remote-dependencies-${{ matrix.vscode_arch }}
|
||||
if: env.SHOULD_BUILD == 'yes' && matrix.vscode_arch == 'x64'
|
||||
name: vscode
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
|
||||
- name: Build
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
npm_config_arch: ${{ matrix.npm_arch }}
|
||||
run: ./build.sh
|
||||
run: ./package_linux_bin.sh
|
||||
if: 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.test_asset_builder == 'true')
|
||||
if: env.SHOULD_BUILD == 'yes' && (env.SHOULD_DEPLOY == 'yes' || github.event.inputs.generate_assets == 'true')
|
||||
|
||||
- name: Release
|
||||
env:
|
||||
@@ -181,13 +238,214 @@ jobs:
|
||||
|
||||
- name: Update versions repo
|
||||
env:
|
||||
FORCE_UPDATE: ${{ github.event.inputs.force_version }}
|
||||
GITHUB_TOKEN: ${{ secrets.STRONGER_GITHUB_TOKEN }}
|
||||
GITHUB_USERNAME: ${{ github.repository_owner }}
|
||||
run: ./update_version.sh
|
||||
if: env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes'
|
||||
|
||||
- name: Upload assets
|
||||
uses: actions/upload-artifact@v3
|
||||
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'
|
||||
|
||||
reh_linux:
|
||||
needs:
|
||||
- check
|
||||
- compile
|
||||
runs-on: ubuntu-20.04
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
include:
|
||||
- slug: X64
|
||||
vscode_arch: x64
|
||||
npm_arch: x64
|
||||
- slug: ARM64
|
||||
vscode_arch: arm64
|
||||
npm_arch: arm64
|
||||
- slug: ARM
|
||||
vscode_arch: armhf
|
||||
npm_arch: arm
|
||||
- slug: PPC64
|
||||
vscode_arch: ppc64le
|
||||
npm_arch: ppc64
|
||||
- slug: RISCV64
|
||||
vscode_arch: riscv64
|
||||
npm_arch: riscv64
|
||||
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 }}
|
||||
SHOULD_BUILD: ${{ needs.check.outputs.SHOULD_BUILD }}
|
||||
SHOULD_DEPLOY: ${{ needs.check.outputs.SHOULD_DEPLOY }}
|
||||
VSCODE_ARCH: ${{ matrix.vscode_arch }}
|
||||
if: needs.check.outputs.SHOULD_BUILD == 'yes' || github.event.inputs.generate_assets == 'true'
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
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: '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.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
|
||||
with:
|
||||
name: vscode
|
||||
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.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.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
|
||||
with:
|
||||
name: reh-linux-${{ matrix.vscode_arch }}
|
||||
path: assets/
|
||||
retention-days: 3
|
||||
if: env.DISABLED != 'yes' && env.SHOULD_DEPLOY == 'no' && github.event.inputs.generate_assets == 'true'
|
||||
|
||||
reh_alpine:
|
||||
needs:
|
||||
- check
|
||||
- compile
|
||||
runs-on: ubuntu-20.04
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
include:
|
||||
- vscode_arch: x64
|
||||
npm_arch: x64
|
||||
- vscode_arch: arm64
|
||||
npm_arch: arm64
|
||||
env:
|
||||
BUILD_SOURCEVERSION: ${{ needs.compile.outputs.BUILD_SOURCEVERSION }}
|
||||
MS_COMMIT: ${{ needs.check.outputs.MS_COMMIT }}
|
||||
MS_TAG: ${{ needs.check.outputs.MS_TAG }}
|
||||
OS_NAME: alpine
|
||||
RELEASE_VERSION: ${{ needs.check.outputs.RELEASE_VERSION }}
|
||||
SHOULD_BUILD: ${{ needs.check.outputs.SHOULD_BUILD }}
|
||||
SHOULD_DEPLOY: ${{ needs.check.outputs.SHOULD_DEPLOY }}
|
||||
VSCODE_ARCH: ${{ matrix.vscode_arch }}
|
||||
if: needs.check.outputs.SHOULD_BUILD == 'yes' || github.event.inputs.generate_assets == 'true'
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
with:
|
||||
ref: ${{ env.GITHUB_BRANCH }}
|
||||
|
||||
- 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: Install GH
|
||||
run: ./install_gh.sh
|
||||
if: env.SHOULD_DEPLOY == 'yes'
|
||||
|
||||
- name: Check existing VSCodium tags/releases
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
CHECK_ONLY_REH: 'yes'
|
||||
run: ./check_tags.sh
|
||||
|
||||
- name: Install libkrb5-dev
|
||||
run: sudo apt-get update -y && sudo apt-get install -y libkrb5-dev
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
|
||||
- name: Download vscode artifact
|
||||
uses: actions/download-artifact@v3
|
||||
with:
|
||||
name: vscode
|
||||
if: env.SHOULD_BUILD_REH != 'no' || github.event.inputs.generate_assets == 'true'
|
||||
|
||||
- name: Build
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
npm_config_arch: ${{ matrix.npm_arch }}
|
||||
run: ./package_alpine_reh.sh
|
||||
if: env.SHOULD_BUILD_REH != '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_DEPLOY == 'yes'
|
||||
|
||||
- name: Upload assets
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: reh-alpine-${{ matrix.vscode_arch }}
|
||||
path: assets/
|
||||
retention-days: 3
|
||||
if: env.SHOULD_DEPLOY == 'no' && github.event.inputs.generate_assets == 'true'
|
||||
|
||||
aur:
|
||||
needs:
|
||||
- check
|
||||
- build
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
@@ -196,12 +454,12 @@ jobs:
|
||||
include:
|
||||
- package_name: vscodium-insiders-bin
|
||||
- package_name: vscodium-insiders
|
||||
if: needs.build.outputs.SHOULD_DEPLOY == 'yes'
|
||||
if: needs.check.outputs.SHOULD_DEPLOY == 'yes' && github.event.inputs.generate_assets != 'true'
|
||||
|
||||
steps:
|
||||
- name: Get version
|
||||
env:
|
||||
RELEASE_VERSION: ${{ needs.build.outputs.RELEASE_VERSION }}
|
||||
RELEASE_VERSION: ${{ needs.check.outputs.RELEASE_VERSION }}
|
||||
run: echo "PACKAGE_VERSION=${RELEASE_VERSION/-*/}" >> "${GITHUB_ENV}"
|
||||
|
||||
- name: Publish ${{ matrix.package_name }}
|
||||
@@ -215,50 +473,46 @@ jobs:
|
||||
|
||||
snap:
|
||||
needs:
|
||||
- check
|
||||
- build
|
||||
runs-on: ubuntu-latest
|
||||
env:
|
||||
APP_NAME: codium
|
||||
RELEASE_VERSION: ${{ needs.check.outputs.RELEASE_VERSION }}
|
||||
SNAP_NAME: codium-insiders
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
platform:
|
||||
- amd64
|
||||
- arm64
|
||||
# if: needs.build.outputs.SHOULD_DEPLOY == 'yes'
|
||||
if: false
|
||||
if: needs.check.outputs.SHOULD_DEPLOY == 'yes' && vars.DISABLE_INSIDER_SNAP != 'yes'
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
with:
|
||||
ref: insider
|
||||
ref: ${{ env.GITHUB_BRANCH }}
|
||||
|
||||
- name: Check version
|
||||
- name: Switch to relevant branch
|
||||
env:
|
||||
ARCHITECTURE: ${{ matrix.platform }}
|
||||
SNAPCRAFT_STORE_CREDENTIALS: ${{ secrets.SNAP_STORE_LOGIN }}
|
||||
run: ./stores/snapcraft/check_version.sh
|
||||
PULL_REQUEST_ID: ${{ github.event.inputs.checkout_pr }}
|
||||
run: ./get_pr.sh
|
||||
|
||||
- uses: docker/setup-qemu-action@v2
|
||||
if: env.SHOULD_DEPLOY == 'yes'
|
||||
- uses: docker/setup-qemu-action@v3
|
||||
|
||||
- uses: diddlesnaps/snapcraft-multiarch-action@v1
|
||||
with:
|
||||
path: stores/snapcraft/insider
|
||||
architecture: ${{ matrix.platform }}
|
||||
id: build
|
||||
if: env.SHOULD_DEPLOY == 'yes'
|
||||
|
||||
- uses: diddlesnaps/snapcraft-review-action@v1
|
||||
with:
|
||||
snap: ${{ steps.build.outputs.snap }}
|
||||
isClassic: 'true'
|
||||
if: env.SHOULD_DEPLOY == 'yes'
|
||||
|
||||
- uses: snapcore/action-publish@master
|
||||
env:
|
||||
SNAPCRAFT_STORE_CREDENTIALS: ${{ secrets.SNAP_STORE_LOGIN }}
|
||||
- uses: svenstaro/upload-release-action@v2
|
||||
with:
|
||||
snap: ${{ steps.build.outputs.snap }}
|
||||
release: edge
|
||||
if: env.SHOULD_DEPLOY == 'yes'
|
||||
repo_name: ${{ env.ASSETS_REPOSITORY }}
|
||||
repo_token: ${{ secrets.STRONGER_GITHUB_TOKEN }}
|
||||
file: ${{ steps.build.outputs.snap }}
|
||||
tag: ${{ env.RELEASE_VERSION }}
|
||||
|
||||
66
.github/workflows/insider-macos.yml
vendored
66
.github/workflows/insider-macos.yml
vendored
@@ -3,17 +3,17 @@ name: insider-macos
|
||||
on:
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
release_version:
|
||||
force_version:
|
||||
type: boolean
|
||||
description: Force update version
|
||||
generate_assets:
|
||||
type: boolean
|
||||
description: Generate assets
|
||||
checkout_pr:
|
||||
type: string
|
||||
description: Forced release version
|
||||
new_release:
|
||||
type: boolean
|
||||
description: Force new Release
|
||||
test_asset_builder:
|
||||
type: boolean
|
||||
description: Test the assets builder
|
||||
schedule:
|
||||
- cron: '0 8 * * *'
|
||||
description: Checkout PR
|
||||
repository_dispatch:
|
||||
types: [insider]
|
||||
push:
|
||||
branches: [ insider ]
|
||||
paths-ignore:
|
||||
@@ -26,7 +26,7 @@ on:
|
||||
env:
|
||||
APP_NAME: VSCodium
|
||||
ASSETS_REPOSITORY: ${{ github.repository }}-insiders
|
||||
GITHUB_BRANCH: insider
|
||||
GITHUB_BRANCH: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || 'insider' }}
|
||||
OS_NAME: osx
|
||||
VERSIONS_REPOSITORY: ${{ github.repository_owner }}/versions
|
||||
VSCODE_QUALITY: insider
|
||||
@@ -42,33 +42,42 @@ jobs:
|
||||
include:
|
||||
- runner: macos-12
|
||||
vscode_arch: x64
|
||||
# - runner: macos-14
|
||||
- runner: [self-hosted, macOS, ARM64]
|
||||
vscode_arch: arm64
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
ref: insider
|
||||
ref: ${{ env.GITHUB_BRANCH }}
|
||||
|
||||
- name: Switch to relevant branch
|
||||
env:
|
||||
PULL_REQUEST_ID: ${{ github.event.inputs.checkout_pr }}
|
||||
run: . get_pr.sh
|
||||
|
||||
- name: Setup Node.js environment
|
||||
uses: actions/setup-node@v3
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: '16'
|
||||
node-version: '20.18'
|
||||
|
||||
- name: Setup Python 3
|
||||
uses: actions/setup-python@v5
|
||||
with:
|
||||
python-version: '3.11'
|
||||
if: env.VSCODE_ARCH == 'x64'
|
||||
|
||||
- name: Clone VSCode repo
|
||||
env:
|
||||
RELEASE_VERSION: ${{ github.event.inputs.release_version }}
|
||||
run: . get_repo.sh
|
||||
|
||||
- name: Check PR or cron
|
||||
env:
|
||||
TEST_ASSET_BUILDER: ${{ github.event.inputs.test_asset_builder }}
|
||||
GENERATE_ASSETS: ${{ github.event.inputs.generate_assets }}
|
||||
run: . check_cron_or_pr.sh
|
||||
|
||||
- name: Check existing VSCodium tags/releases
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
NEW_RELEASE: ${{ github.event.inputs.new_release }}
|
||||
run: . check_tags.sh
|
||||
if: env.SHOULD_DEPLOY == 'yes'
|
||||
|
||||
@@ -80,11 +89,13 @@ jobs:
|
||||
|
||||
- name: Prepare assets
|
||||
env:
|
||||
CERTIFICATE_OSX_P12: ${{ secrets.CERTIFICATE_OSX_P12 }}
|
||||
CERTIFICATE_OSX_PASSWORD: ${{ secrets.CERTIFICATE_OSX_PASSWORD }}
|
||||
CERTIFICATE_OSX_ID: ${{ secrets.CERTIFICATE_OSX_ID }}
|
||||
CERTIFICATE_OSX_APP_PASSWORD: ${{ secrets.CERTIFICATE_OSX_NEW_APP_PASSWORD }}
|
||||
CERTIFICATE_OSX_ID: ${{ secrets.CERTIFICATE_OSX_NEW_ID }}
|
||||
CERTIFICATE_OSX_P12_DATA: ${{ secrets.CERTIFICATE_OSX_NEW_P12_DATA }}
|
||||
CERTIFICATE_OSX_P12_PASSWORD: ${{ secrets.CERTIFICATE_OSX_NEW_P12_PASSWORD }}
|
||||
CERTIFICATE_OSX_TEAM_ID: ${{ secrets.CERTIFICATE_OSX_NEW_TEAM_ID }}
|
||||
run: ./prepare_assets.sh
|
||||
if: env.SHOULD_BUILD == 'yes' && (env.SHOULD_DEPLOY == 'yes' || github.event.inputs.test_asset_builder == 'true')
|
||||
if: env.SHOULD_BUILD == 'yes' && (env.SHOULD_DEPLOY == 'yes' || github.event.inputs.generate_assets == 'true')
|
||||
|
||||
- name: Release
|
||||
env:
|
||||
@@ -95,11 +106,20 @@ jobs:
|
||||
|
||||
- name: Update versions repo
|
||||
env:
|
||||
FORCE_UPDATE: ${{ github.event.inputs.force_version }}
|
||||
GITHUB_TOKEN: ${{ secrets.STRONGER_GITHUB_TOKEN }}
|
||||
GITHUB_USERNAME: ${{ github.repository_owner }}
|
||||
run: ./update_version.sh
|
||||
if: env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes'
|
||||
|
||||
- name: Upload assets
|
||||
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'
|
||||
|
||||
- name: Clean up keychain
|
||||
if: always()
|
||||
run: |
|
||||
|
||||
63
.github/workflows/insider-spearhead.yml
vendored
63
.github/workflows/insider-spearhead.yml
vendored
@@ -2,30 +2,43 @@ name: insider-spearhead
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
new_release:
|
||||
type: boolean
|
||||
description: Force new Release
|
||||
force_dispatch:
|
||||
type: boolean
|
||||
description: Force dispatch
|
||||
dont_update:
|
||||
type: boolean
|
||||
description: Don't update VSCode
|
||||
dont_dispatch:
|
||||
type: boolean
|
||||
description: Disable dispatch
|
||||
schedule:
|
||||
- cron: '0 7 * * *'
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: [self-hosted, macOS, ARM64]
|
||||
runs-on: macos-14
|
||||
env:
|
||||
APP_NAME: VSCodium
|
||||
ASSETS_REPOSITORY: ${{ github.repository }}-insiders
|
||||
VERSIONS_REPOSITORY: ${{ github.repository_owner }}/versions
|
||||
OS_NAME: osx
|
||||
VSCODE_ARCH: arm64
|
||||
VSCODE_LATEST: yes
|
||||
VSCODE_LATEST: ${{ github.event.inputs.dont_update == 'true' && 'no' || 'yes' }}
|
||||
VSCODE_QUALITY: insider
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
ref: insider
|
||||
|
||||
- name: Setup Node.js environment
|
||||
uses: actions/setup-node@v3
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: '16'
|
||||
node-version: '20.18'
|
||||
|
||||
- name: Clone VSCode repo
|
||||
run: . get_repo.sh
|
||||
@@ -33,36 +46,36 @@ jobs:
|
||||
- name: Check existing VSCodium tags/releases
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
NEW_RELEASE: ${{ github.event.inputs.new_release }}
|
||||
IS_SPEARHEAD: 'yes'
|
||||
run: . check_tags.sh
|
||||
|
||||
- name: Compute cache key
|
||||
id: yarnCacheKey
|
||||
run: echo "value=$(node build/azure-pipelines/computeYarnCacheKey.js)" >> $GITHUB_OUTPUT
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
|
||||
- name: Get yarn cache directory path
|
||||
id: yarnCacheDirPath
|
||||
run: echo "dir=$(yarn cache dir)" >> $GITHUB_OUTPUT
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
|
||||
- name: Cache yarn directory
|
||||
uses: actions/cache@v3
|
||||
with:
|
||||
path: ${{ steps.yarnCacheDirPath.outputs.dir }}
|
||||
key: ${{ env.OS_NAME }}-${{ env.VSCODE_ARCH }}-yarnCacheDir-${{ steps.yarnCacheKey.outputs.value }}
|
||||
restore-keys: ${{ env.OS_NAME }}-${{ env.VSCODE_ARCH }}-yarnCacheDir-
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
|
||||
- name: Build
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
run: ./build.sh
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
|
||||
- name: Update insider.json
|
||||
run: ./update_insider.sh
|
||||
- name: Update <quality>.json
|
||||
run: ./update_qualityjson.sh
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.STRONGER_GITHUB_TOKEN }}
|
||||
GITHUB_USERNAME: ${{ github.repository_owner }}
|
||||
if: env.SHOULD_BUILD == 'yes' && github.event.inputs.dont_update != 'true'
|
||||
|
||||
- name: Prepare source
|
||||
run: ./prepare_src.sh
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
|
||||
- name: Release source
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.STRONGER_GITHUB_TOKEN }}
|
||||
GITHUB_USERNAME: ${{ github.repository_owner }}
|
||||
run: ./release.sh
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
|
||||
- name: Dispatch builds
|
||||
uses: peter-evans/repository-dispatch@v3
|
||||
with:
|
||||
event-type: 'insider'
|
||||
if: github.event.inputs.dont_dispatch != 'true' && (env.SHOULD_BUILD == 'yes' || github.event.inputs.force_dispatch == 'true')
|
||||
|
||||
257
.github/workflows/insider-windows.yml
vendored
257
.github/workflows/insider-windows.yml
vendored
@@ -3,17 +3,17 @@ name: insider-windows
|
||||
on:
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
release_version:
|
||||
force_version:
|
||||
type: boolean
|
||||
description: Force update version
|
||||
generate_assets:
|
||||
type: boolean
|
||||
description: Generate assets
|
||||
checkout_pr:
|
||||
type: string
|
||||
description: Forced release version
|
||||
new_release:
|
||||
type: boolean
|
||||
description: Force new Release
|
||||
test_asset_builder:
|
||||
type: boolean
|
||||
description: Test the assets builder
|
||||
schedule:
|
||||
- cron: '0 8 * * *'
|
||||
description: Checkout PR
|
||||
repository_dispatch:
|
||||
types: [insider]
|
||||
push:
|
||||
branches: [ insider ]
|
||||
paths-ignore:
|
||||
@@ -26,76 +26,230 @@ on:
|
||||
env:
|
||||
APP_NAME: VSCodium
|
||||
ASSETS_REPOSITORY: ${{ github.repository }}-insiders
|
||||
GITHUB_BRANCH: insider
|
||||
GITHUB_BRANCH: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || 'insider' }}
|
||||
OS_NAME: windows
|
||||
VERSIONS_REPOSITORY: ${{ github.repository_owner }}/versions
|
||||
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:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
ref: ${{ env.GITHUB_BRANCH }}
|
||||
|
||||
- name: Setup Node.js environment
|
||||
uses: actions/setup-node@v3
|
||||
with:
|
||||
node-version: '16'
|
||||
|
||||
- name: Install Yarn
|
||||
run: npm install -g yarn
|
||||
|
||||
- name: Setup Python 3
|
||||
uses: actions/setup-python@v4
|
||||
with:
|
||||
python-version: '3.x'
|
||||
- name: Switch to relevant branch
|
||||
env:
|
||||
PULL_REQUEST_ID: ${{ github.event.inputs.checkout_pr }}
|
||||
run: ./get_pr.sh
|
||||
|
||||
- name: Clone VSCode repo
|
||||
env:
|
||||
RELEASE_VERSION: ${{ github.event.inputs.release_version }}
|
||||
run: ./get_repo.sh
|
||||
|
||||
- name: Check PR or cron
|
||||
env:
|
||||
TEST_ASSET_BUILDER: ${{ github.event.inputs.test_asset_builder }}
|
||||
GENERATE_ASSETS: ${{ github.event.inputs.generate_assets }}
|
||||
run: ./check_cron_or_pr.sh
|
||||
|
||||
- name: Check existing VSCodium tags/releases
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
NEW_RELEASE: ${{ github.event.inputs.new_release }}
|
||||
CHECK_ALL: 'yes'
|
||||
run: ./check_tags.sh
|
||||
if: env.SHOULD_DEPLOY == 'yes'
|
||||
|
||||
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.test_asset_builder == 'true')
|
||||
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:
|
||||
@@ -106,11 +260,20 @@ jobs:
|
||||
|
||||
- name: Update versions repo
|
||||
env:
|
||||
FORCE_UPDATE: ${{ github.event.inputs.force_version }}
|
||||
GITHUB_TOKEN: ${{ secrets.STRONGER_GITHUB_TOKEN }}
|
||||
GITHUB_USERNAME: ${{ github.repository_owner }}
|
||||
run: ./update_version.sh
|
||||
if: env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes'
|
||||
|
||||
- name: Upload assets
|
||||
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'
|
||||
|
||||
winget:
|
||||
needs: build
|
||||
runs-on: windows-latest
|
||||
@@ -123,7 +286,7 @@ jobs:
|
||||
if: needs.build.outputs.SHOULD_DEPLOY == 'yes'
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
ref: ${{ env.GITHUB_BRANCH }}
|
||||
|
||||
@@ -133,7 +296,7 @@ jobs:
|
||||
RELEASE_VERSION: ${{ needs.build.outputs.RELEASE_VERSION }}
|
||||
|
||||
- name: Release to WinGet
|
||||
uses: vedantmgoyal2009/winget-releaser@v2
|
||||
uses: vedantmgoyal9/winget-releaser@main
|
||||
with:
|
||||
identifier: ${{ env.APP_IDENTIFIER }}
|
||||
version: ${{ env.RELEASE_VERSION }}
|
||||
|
||||
2
.github/workflows/lock.yml
vendored
2
.github/workflows/lock.yml
vendored
@@ -8,7 +8,7 @@ jobs:
|
||||
lock:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: dessant/lock-threads@v4
|
||||
- uses: dessant/lock-threads@v5
|
||||
with:
|
||||
github-token: ${{ github.token }}
|
||||
issue-inactive-days: '90'
|
||||
|
||||
418
.github/workflows/stable-linux.yml
vendored
418
.github/workflows/stable-linux.yml
vendored
@@ -3,17 +3,17 @@ name: stable-linux
|
||||
on:
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
new_release:
|
||||
type: boolean
|
||||
description: Force new Release
|
||||
force_version:
|
||||
type: boolean
|
||||
description: Force update version
|
||||
test_asset_builder:
|
||||
generate_assets:
|
||||
type: boolean
|
||||
description: Test the assets builder
|
||||
schedule:
|
||||
- cron: '0 18 * * *'
|
||||
description: Generate assets
|
||||
checkout_pr:
|
||||
type: string
|
||||
description: Checkout PR
|
||||
repository_dispatch:
|
||||
types: [stable]
|
||||
push:
|
||||
branches: [ master ]
|
||||
paths-ignore:
|
||||
@@ -24,8 +24,11 @@ on:
|
||||
- '**/*.md'
|
||||
|
||||
env:
|
||||
ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION: true
|
||||
APP_NAME: VSCodium
|
||||
ASSETS_REPOSITORY: ${{ github.repository }}
|
||||
BINARY_NAME: codium
|
||||
DISABLE_UPDATE: 'yes'
|
||||
OS_NAME: linux
|
||||
VERSIONS_REPOSITORY: ${{ github.repository_owner }}/versions
|
||||
VSCODE_QUALITY: stable
|
||||
@@ -33,8 +36,6 @@ env:
|
||||
jobs:
|
||||
check:
|
||||
runs-on: ubuntu-latest
|
||||
container:
|
||||
image: vscodium/vscodium-linux-build-agent:bionic-x64
|
||||
outputs:
|
||||
MS_COMMIT: ${{ env.MS_COMMIT }}
|
||||
MS_TAG: ${{ env.MS_TAG }}
|
||||
@@ -43,133 +44,193 @@ jobs:
|
||||
SHOULD_DEPLOY: ${{ env.SHOULD_DEPLOY }}
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
ref: ${{ env.GITHUB_BRANCH }}
|
||||
|
||||
- name: Switch to relevant branch
|
||||
env:
|
||||
PULL_REQUEST_ID: ${{ github.event.inputs.checkout_pr }}
|
||||
run: ./get_pr.sh
|
||||
|
||||
- name: Clone VSCode repo
|
||||
run: ./get_repo.sh
|
||||
|
||||
- name: Check PR or cron
|
||||
env:
|
||||
TEST_ASSET_BUILDER: ${{ github.event.inputs.test_asset_builder }}
|
||||
GENERATE_ASSETS: ${{ github.event.inputs.generate_assets }}
|
||||
run: ./check_cron_or_pr.sh
|
||||
|
||||
dependencies:
|
||||
- name: Check existing VSCodium tags/releases
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
CHECK_ALL: 'yes'
|
||||
run: ./check_tags.sh
|
||||
|
||||
compile:
|
||||
needs:
|
||||
- check
|
||||
runs-on: ubuntu-latest
|
||||
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 }}
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
include:
|
||||
- vscode_arch: x64
|
||||
image: vscodium/vscodium-linux-build-agent:centos7-devtoolset8-x64
|
||||
# - vscode_arch: arm64
|
||||
# image: vscodium/vscodium-linux-build-agent:centos7-devtoolset8-arm64
|
||||
container:
|
||||
image: ${{ matrix.image }}
|
||||
if: needs.check.outputs.SHOULD_BUILD == 'yes' || needs.check.outputs.SHOULD_DEPLOY == 'yes'
|
||||
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@v3
|
||||
- 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'
|
||||
|
||||
- uses: docker/setup-qemu-action@v2
|
||||
if: matrix.vscode_arch == 'arm64' || matrix.vscode_arch == 'ppc64le'
|
||||
- name: Build
|
||||
env:
|
||||
SHOULD_BUILD_REH: 'no'
|
||||
SHOULD_BUILD_REH_WEB: 'no'
|
||||
run: ./build.sh
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
|
||||
- name: Install remote dependencies
|
||||
run: ./install_remote_dependencies.sh
|
||||
- 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: Save remote dependencies
|
||||
- name: Upload vscode artifact
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: remote-dependencies-${{ matrix.vscode_arch }}
|
||||
path: ./remote-dependencies.tar
|
||||
name: vscode
|
||||
path: ./vscode.tar.gz
|
||||
retention-days: ${{ needs.check.outputs.SHOULD_DEPLOY == 'yes' && 30 || 1 }}
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
|
||||
build:
|
||||
needs:
|
||||
- check
|
||||
- dependencies
|
||||
- compile
|
||||
runs-on: ubuntu-latest
|
||||
env:
|
||||
DISABLE_UPDATE: 'yes'
|
||||
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 }}
|
||||
SHOULD_DEPLOY: ${{ needs.check.outputs.SHOULD_DEPLOY }}
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
include:
|
||||
- vscode_arch: x64
|
||||
npm_arch: x64
|
||||
image: vscodium/vscodium-linux-build-agent:bionic-x64
|
||||
image: vscodium/vscodium-linux-build-agent:focal-x64
|
||||
- vscode_arch: arm64
|
||||
npm_arch: arm64
|
||||
image: vscodium/vscodium-linux-build-agent:bionic-arm64
|
||||
image: vscodium/vscodium-linux-build-agent:focal-arm64
|
||||
- vscode_arch: armhf
|
||||
npm_arch: arm
|
||||
image: vscodium/vscodium-linux-build-agent:bionic-armhf
|
||||
- vscode_arch: ppc64le
|
||||
npm_arch: ppc64
|
||||
image: vscodium/vscodium-linux-build-agent:bionic-ppc64le
|
||||
image: vscodium/vscodium-linux-build-agent:focal-armhf
|
||||
- vscode_arch: riscv64
|
||||
npm_arch: riscv64
|
||||
image: vscodium/vscodium-linux-build-agent:focal-riscv64
|
||||
container:
|
||||
image: ${{ matrix.image }}
|
||||
env:
|
||||
VSCODE_ARCH: ${{ matrix.vscode_arch }}
|
||||
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_BUILD: ${{ env.SHOULD_BUILD }}
|
||||
SHOULD_DEPLOY: ${{ env.SHOULD_DEPLOY }}
|
||||
if: needs.check.outputs.SHOULD_BUILD == 'yes' || needs.check.outputs.SHOULD_DEPLOY == 'yes'
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
with:
|
||||
ref: ${{ env.GITHUB_BRANCH }}
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
|
||||
- name: Clone VSCode repo
|
||||
run: ./get_repo.sh
|
||||
- name: Switch to relevant branch
|
||||
env:
|
||||
PULL_REQUEST_ID: ${{ github.event.inputs.checkout_pr }}
|
||||
run: ./get_pr.sh
|
||||
|
||||
- name: Install GH
|
||||
run: ./install_gh.sh
|
||||
if: env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes'
|
||||
|
||||
- name: Check existing VSCodium tags/releases
|
||||
env:
|
||||
CHECK_REH: 'no'
|
||||
DISABLE_APPIMAGE: ${{ vars.DISABLE_STABLE_APPIMAGE }}
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
NEW_RELEASE: ${{ github.event.inputs.new_release }}
|
||||
run: ./check_tags.sh
|
||||
if: env.SHOULD_DEPLOY == 'yes'
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
|
||||
- name: Restore remote dependencies
|
||||
- name: Install libkrb5-dev
|
||||
run: sudo apt-get update -y && sudo apt-get install -y libkrb5-dev
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
|
||||
- name: Download vscode artifact
|
||||
uses: actions/download-artifact@v3
|
||||
with:
|
||||
name: remote-dependencies-${{ matrix.vscode_arch }}
|
||||
if: env.SHOULD_BUILD == 'yes' && matrix.vscode_arch == 'x64'
|
||||
name: vscode
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
|
||||
- name: Build
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
npm_config_arch: ${{ matrix.npm_arch }}
|
||||
run: ./build.sh
|
||||
run: ./package_linux_bin.sh
|
||||
if: 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.test_asset_builder == 'true')
|
||||
if: env.SHOULD_BUILD == 'yes' && (env.SHOULD_DEPLOY == 'yes' || github.event.inputs.generate_assets == 'true')
|
||||
|
||||
- name: Release
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
GITHUB_TOKEN: ${{ secrets.STRONGER_GITHUB_TOKEN }}
|
||||
GITHUB_USERNAME: ${{ github.repository_owner }}
|
||||
run: ./release.sh
|
||||
if: env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes'
|
||||
|
||||
@@ -179,10 +240,210 @@ 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'
|
||||
|
||||
- name: Upload assets
|
||||
uses: actions/upload-artifact@v3
|
||||
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'
|
||||
|
||||
reh_linux:
|
||||
needs:
|
||||
- check
|
||||
- compile
|
||||
runs-on: ubuntu-20.04
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
include:
|
||||
- slug: X64
|
||||
vscode_arch: x64
|
||||
npm_arch: x64
|
||||
- slug: ARM64
|
||||
vscode_arch: arm64
|
||||
npm_arch: arm64
|
||||
- slug: ARM
|
||||
vscode_arch: armhf
|
||||
npm_arch: arm
|
||||
- slug: PPC64
|
||||
vscode_arch: ppc64le
|
||||
npm_arch: ppc64
|
||||
- slug: RISCV64
|
||||
vscode_arch: riscv64
|
||||
npm_arch: riscv64
|
||||
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 }}
|
||||
SHOULD_BUILD: ${{ needs.check.outputs.SHOULD_BUILD }}
|
||||
SHOULD_DEPLOY: ${{ needs.check.outputs.SHOULD_DEPLOY }}
|
||||
VSCODE_ARCH: ${{ matrix.vscode_arch }}
|
||||
if: needs.check.outputs.SHOULD_BUILD == 'yes' || github.event.inputs.generate_assets == 'true'
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
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: '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.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
|
||||
with:
|
||||
name: vscode
|
||||
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.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.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
|
||||
with:
|
||||
name: reh-linux-${{ matrix.vscode_arch }}
|
||||
path: assets/
|
||||
retention-days: 3
|
||||
if: env.DISABLED != 'yes' && env.SHOULD_DEPLOY == 'no' && github.event.inputs.generate_assets == 'true'
|
||||
|
||||
reh_alpine:
|
||||
needs:
|
||||
- check
|
||||
- compile
|
||||
runs-on: ubuntu-20.04
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
include:
|
||||
- vscode_arch: x64
|
||||
npm_arch: x64
|
||||
- vscode_arch: arm64
|
||||
npm_arch: arm64
|
||||
env:
|
||||
BUILD_SOURCEVERSION: ${{ needs.compile.outputs.BUILD_SOURCEVERSION }}
|
||||
MS_COMMIT: ${{ needs.check.outputs.MS_COMMIT }}
|
||||
MS_TAG: ${{ needs.check.outputs.MS_TAG }}
|
||||
OS_NAME: alpine
|
||||
RELEASE_VERSION: ${{ needs.check.outputs.RELEASE_VERSION }}
|
||||
SHOULD_BUILD: ${{ needs.check.outputs.SHOULD_BUILD }}
|
||||
SHOULD_DEPLOY: ${{ needs.check.outputs.SHOULD_DEPLOY }}
|
||||
VSCODE_ARCH: ${{ matrix.vscode_arch }}
|
||||
if: needs.check.outputs.SHOULD_BUILD == 'yes' || github.event.inputs.generate_assets == 'true'
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
with:
|
||||
ref: ${{ env.GITHUB_BRANCH }}
|
||||
|
||||
- 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: Install GH
|
||||
run: ./install_gh.sh
|
||||
if: env.SHOULD_DEPLOY == 'yes'
|
||||
|
||||
- name: Check existing VSCodium tags/releases
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
CHECK_ONLY_REH: 'yes'
|
||||
run: ./check_tags.sh
|
||||
|
||||
- name: Install libkrb5-dev
|
||||
run: sudo apt-get update -y && sudo apt-get install -y libkrb5-dev
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
|
||||
- name: Download vscode artifact
|
||||
uses: actions/download-artifact@v3
|
||||
with:
|
||||
name: vscode
|
||||
if: env.SHOULD_BUILD_REH != 'no' || github.event.inputs.generate_assets == 'true'
|
||||
|
||||
- name: Build
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
npm_config_arch: ${{ matrix.npm_arch }}
|
||||
run: ./package_alpine_reh.sh
|
||||
if: env.SHOULD_BUILD_REH != '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_DEPLOY == 'yes'
|
||||
|
||||
- name: Upload assets
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: reh-alpine-${{ matrix.vscode_arch }}
|
||||
path: assets/
|
||||
retention-days: 3
|
||||
if: env.SHOULD_DEPLOY == 'no' && github.event.inputs.generate_assets == 'true'
|
||||
|
||||
aur:
|
||||
needs:
|
||||
- check
|
||||
- build
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
@@ -193,7 +454,7 @@ jobs:
|
||||
package_type: stable
|
||||
- package_name: vscodium-git
|
||||
package_type: rolling
|
||||
if: needs.build.outputs.SHOULD_DEPLOY == 'yes'
|
||||
if: needs.check.outputs.SHOULD_DEPLOY == 'yes'
|
||||
|
||||
steps:
|
||||
- name: Publish ${{ matrix.package_name }}
|
||||
@@ -207,56 +468,75 @@ jobs:
|
||||
|
||||
snap:
|
||||
needs:
|
||||
- check
|
||||
- build
|
||||
runs-on: ubuntu-latest
|
||||
env:
|
||||
APP_NAME: codium
|
||||
RELEASE_VERSION: ${{ needs.check.outputs.RELEASE_VERSION }}
|
||||
SNAP_NAME: codium
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
platform:
|
||||
- amd64
|
||||
- arm64
|
||||
if: needs.build.outputs.SHOULD_DEPLOY == 'yes'
|
||||
if: needs.check.outputs.SHOULD_DEPLOY == 'yes' && vars.DISABLE_STABLE_SNAP != 'yes'
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
with:
|
||||
ref: ${{ env.GITHUB_BRANCH }}
|
||||
|
||||
- name: Switch to relevant branch
|
||||
env:
|
||||
PULL_REQUEST_ID: ${{ github.event.inputs.checkout_pr }}
|
||||
run: ./get_pr.sh
|
||||
|
||||
- name: Check version
|
||||
env:
|
||||
ARCHITECTURE: ${{ matrix.platform }}
|
||||
GENERATE_ASSETS: ${{ github.event.inputs.generate_assets }}
|
||||
SNAPCRAFT_STORE_CREDENTIALS: ${{ secrets.SNAP_STORE_LOGIN }}
|
||||
run: ./stores/snapcraft/check_version.sh
|
||||
|
||||
- uses: docker/setup-qemu-action@v2
|
||||
if: env.SHOULD_DEPLOY == 'yes'
|
||||
- uses: docker/setup-qemu-action@v3
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
|
||||
- uses: diddlesnaps/snapcraft-multiarch-action@v1
|
||||
with:
|
||||
path: stores/snapcraft/stable
|
||||
architecture: ${{ matrix.platform }}
|
||||
id: build
|
||||
if: env.SHOULD_DEPLOY == 'yes'
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
|
||||
- uses: diddlesnaps/snapcraft-review-action@v1
|
||||
with:
|
||||
snap: ${{ steps.build.outputs.snap }}
|
||||
isClassic: 'true'
|
||||
if: env.SHOULD_DEPLOY == 'yes'
|
||||
if: env.SHOULD_DEPLOY_TO_RELEASE == 'yes' || env.SHOULD_DEPLOY_TO_STORE == 'yes'
|
||||
|
||||
- uses: svenstaro/upload-release-action@v2
|
||||
with:
|
||||
repo_name: ${{ env.ASSETS_REPOSITORY }}
|
||||
repo_token: ${{ secrets.STRONGER_GITHUB_TOKEN }}
|
||||
file: ${{ steps.build.outputs.snap }}
|
||||
tag: ${{ env.RELEASE_VERSION }}
|
||||
if: env.SHOULD_DEPLOY_TO_RELEASE == 'yes'
|
||||
|
||||
- uses: snapcore/action-publish@master
|
||||
env:
|
||||
SNAPCRAFT_STORE_CREDENTIALS: ${{ secrets.SNAP_STORE_LOGIN }}
|
||||
with:
|
||||
snap: ${{ steps.build.outputs.snap }}
|
||||
release: stable
|
||||
if: env.SHOULD_DEPLOY == 'yes'
|
||||
release: ${{ vars.SNAP_STORE_CHANNEL }}
|
||||
if: env.SHOULD_DEPLOY_TO_STORE == 'yes'
|
||||
|
||||
deb-rpm-repo-hook:
|
||||
needs:
|
||||
- check
|
||||
- build
|
||||
runs-on: ubuntu-latest
|
||||
if: needs.build.outputs.SHOULD_DEPLOY == 'yes'
|
||||
if: needs.check.outputs.SHOULD_DEPLOY == 'yes'
|
||||
|
||||
steps:
|
||||
- name: Trigger repository rebuild
|
||||
|
||||
55
.github/workflows/stable-macos.yml
vendored
55
.github/workflows/stable-macos.yml
vendored
@@ -3,17 +3,17 @@ name: stable-macos
|
||||
on:
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
new_release:
|
||||
type: boolean
|
||||
description: Force new Release
|
||||
force_version:
|
||||
type: boolean
|
||||
description: Force update version
|
||||
test_asset_builder:
|
||||
generate_assets:
|
||||
type: boolean
|
||||
description: Test the assets builder
|
||||
schedule:
|
||||
- cron: '0 18 * * *'
|
||||
description: Generate assets
|
||||
checkout_pr:
|
||||
type: string
|
||||
description: Checkout PR
|
||||
repository_dispatch:
|
||||
types: [stable]
|
||||
push:
|
||||
branches: [ master ]
|
||||
paths-ignore:
|
||||
@@ -41,29 +41,42 @@ jobs:
|
||||
include:
|
||||
- runner: macos-12
|
||||
vscode_arch: x64
|
||||
# - runner: macos-14
|
||||
- runner: [self-hosted, macOS, ARM64]
|
||||
vscode_arch: arm64
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
ref: ${{ env.GITHUB_BRANCH }}
|
||||
|
||||
- name: Switch to relevant branch
|
||||
env:
|
||||
PULL_REQUEST_ID: ${{ github.event.inputs.checkout_pr }}
|
||||
run: . get_pr.sh
|
||||
|
||||
- name: Setup Node.js environment
|
||||
uses: actions/setup-node@v3
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: '16'
|
||||
node-version: '20.18'
|
||||
|
||||
- name: Setup Python 3
|
||||
uses: actions/setup-python@v5
|
||||
with:
|
||||
python-version: '3.11'
|
||||
if: env.VSCODE_ARCH == 'x64'
|
||||
|
||||
- name: Clone VSCode repo
|
||||
run: . get_repo.sh
|
||||
|
||||
- name: Check PR or cron
|
||||
env:
|
||||
TEST_ASSET_BUILDER: ${{ github.event.inputs.test_asset_builder }}
|
||||
GENERATE_ASSETS: ${{ github.event.inputs.generate_assets }}
|
||||
run: . check_cron_or_pr.sh
|
||||
|
||||
- name: Check existing VSCodium tags/releases
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
NEW_RELEASE: ${{ github.event.inputs.new_release }}
|
||||
run: . check_tags.sh
|
||||
if: env.SHOULD_DEPLOY == 'yes'
|
||||
|
||||
@@ -75,11 +88,13 @@ jobs:
|
||||
|
||||
- name: Prepare assets
|
||||
env:
|
||||
CERTIFICATE_OSX_P12: ${{ secrets.CERTIFICATE_OSX_P12 }}
|
||||
CERTIFICATE_OSX_PASSWORD: ${{ secrets.CERTIFICATE_OSX_PASSWORD }}
|
||||
CERTIFICATE_OSX_ID: ${{ secrets.CERTIFICATE_OSX_ID }}
|
||||
CERTIFICATE_OSX_APP_PASSWORD: ${{ secrets.CERTIFICATE_OSX_NEW_APP_PASSWORD }}
|
||||
CERTIFICATE_OSX_ID: ${{ secrets.CERTIFICATE_OSX_NEW_ID }}
|
||||
CERTIFICATE_OSX_P12_DATA: ${{ secrets.CERTIFICATE_OSX_NEW_P12_DATA }}
|
||||
CERTIFICATE_OSX_P12_PASSWORD: ${{ secrets.CERTIFICATE_OSX_NEW_P12_PASSWORD }}
|
||||
CERTIFICATE_OSX_TEAM_ID: ${{ secrets.CERTIFICATE_OSX_NEW_TEAM_ID }}
|
||||
run: ./prepare_assets.sh
|
||||
if: env.SHOULD_BUILD == 'yes' && (env.SHOULD_DEPLOY == 'yes' || github.event.inputs.test_asset_builder == 'true')
|
||||
if: env.SHOULD_BUILD == 'yes' && (env.SHOULD_DEPLOY == 'yes' || github.event.inputs.generate_assets == 'true')
|
||||
|
||||
- name: Release
|
||||
env:
|
||||
@@ -95,6 +110,14 @@ jobs:
|
||||
run: ./update_version.sh
|
||||
if: env.SHOULD_DEPLOY == 'yes'
|
||||
|
||||
- name: Upload assets
|
||||
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'
|
||||
|
||||
- name: Clean up keychain
|
||||
if: always()
|
||||
run: |
|
||||
|
||||
76
.github/workflows/stable-spearhead.yml
vendored
Normal file
76
.github/workflows/stable-spearhead.yml
vendored
Normal file
@@ -0,0 +1,76 @@
|
||||
name: stable-spearhead
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
new_release:
|
||||
type: boolean
|
||||
description: Force new Release
|
||||
force_dispatch:
|
||||
type: boolean
|
||||
description: Force dispatch
|
||||
dont_update:
|
||||
type: boolean
|
||||
description: Don't update VSCode
|
||||
schedule:
|
||||
- cron: '0 18 * * *'
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: macos-14
|
||||
env:
|
||||
APP_NAME: VSCodium
|
||||
ASSETS_REPOSITORY: ${{ github.repository }}
|
||||
VERSIONS_REPOSITORY: ${{ github.repository_owner }}/versions
|
||||
OS_NAME: osx
|
||||
VSCODE_ARCH: arm64
|
||||
VSCODE_LATEST: ${{ github.event.inputs.dont_update == 'true' && 'no' || 'yes' }}
|
||||
VSCODE_QUALITY: stable
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: Setup Node.js environment
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: '20.18'
|
||||
|
||||
- name: Clone VSCode repo
|
||||
run: . get_repo.sh
|
||||
|
||||
- name: Check existing VSCodium tags/releases
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
NEW_RELEASE: ${{ github.event.inputs.new_release }}
|
||||
IS_SPEARHEAD: 'yes'
|
||||
run: . check_tags.sh
|
||||
|
||||
- name: Build
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
run: ./build.sh
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
|
||||
- name: Update <quality>.json
|
||||
run: ./update_qualityjson.sh
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.STRONGER_GITHUB_TOKEN }}
|
||||
GITHUB_USERNAME: ${{ github.repository_owner }}
|
||||
if: env.SHOULD_BUILD == 'yes' && github.event.inputs.dont_update != 'true'
|
||||
|
||||
- name: Prepare source
|
||||
run: ./prepare_src.sh
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
|
||||
- name: Release source
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.STRONGER_GITHUB_TOKEN }}
|
||||
GITHUB_USERNAME: ${{ github.repository_owner }}
|
||||
run: ./release.sh
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
|
||||
- name: Dispatch builds
|
||||
uses: peter-evans/repository-dispatch@v3
|
||||
with:
|
||||
event-type: 'stable'
|
||||
if: env.SHOULD_BUILD == 'yes' || github.event.inputs.force_dispatch == 'true'
|
||||
251
.github/workflows/stable-windows.yml
vendored
251
.github/workflows/stable-windows.yml
vendored
@@ -3,17 +3,17 @@ name: stable-windows
|
||||
on:
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
new_release:
|
||||
type: boolean
|
||||
description: Force new Release
|
||||
force_version:
|
||||
type: boolean
|
||||
description: Force update version
|
||||
test_asset_builder:
|
||||
generate_assets:
|
||||
type: boolean
|
||||
description: Test the assets builder
|
||||
schedule:
|
||||
- cron: '0 18 * * *'
|
||||
description: Generate assets
|
||||
checkout_pr:
|
||||
type: string
|
||||
description: Checkout PR
|
||||
repository_dispatch:
|
||||
types: [stable]
|
||||
push:
|
||||
branches: [ master ]
|
||||
paths-ignore:
|
||||
@@ -30,68 +30,225 @@ 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:
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
- name: Setup Node.js environment
|
||||
uses: actions/setup-node@v3
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
node-version: '16'
|
||||
ref: ${{ env.GITHUB_BRANCH }}
|
||||
|
||||
- name: Install Yarn
|
||||
run: npm install -g yarn
|
||||
|
||||
- name: Setup Python 3
|
||||
uses: actions/setup-python@v4
|
||||
with:
|
||||
python-version: '3.x'
|
||||
- name: Switch to relevant branch
|
||||
env:
|
||||
PULL_REQUEST_ID: ${{ github.event.inputs.checkout_pr }}
|
||||
run: ./get_pr.sh
|
||||
|
||||
- name: Clone VSCode repo
|
||||
run: ./get_repo.sh
|
||||
|
||||
- name: Check PR or cron
|
||||
env:
|
||||
TEST_ASSET_BUILDER: ${{ github.event.inputs.test_asset_builder }}
|
||||
GENERATE_ASSETS: ${{ github.event.inputs.generate_assets }}
|
||||
run: ./check_cron_or_pr.sh
|
||||
|
||||
- name: Check existing VSCodium tags/releases
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
NEW_RELEASE: ${{ github.event.inputs.new_release }}
|
||||
CHECK_ALL: 'yes'
|
||||
run: ./check_tags.sh
|
||||
if: env.SHOULD_DEPLOY == 'yes'
|
||||
|
||||
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.test_asset_builder == 'true')
|
||||
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:
|
||||
@@ -105,7 +262,15 @@ 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
|
||||
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'
|
||||
|
||||
winget:
|
||||
needs: build
|
||||
@@ -118,7 +283,9 @@ jobs:
|
||||
if: needs.build.outputs.SHOULD_DEPLOY == 'yes'
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
ref: ${{ env.GITHUB_BRANCH }}
|
||||
|
||||
- name: Check version
|
||||
run: ./stores/winget/check_version.sh
|
||||
@@ -126,7 +293,7 @@ jobs:
|
||||
RELEASE_VERSION: ${{ needs.build.outputs.RELEASE_VERSION }}
|
||||
|
||||
- name: Release to WinGet
|
||||
uses: vedantmgoyal2009/winget-releaser@v2
|
||||
uses: vedantmgoyal9/winget-releaser@main
|
||||
with:
|
||||
identifier: ${{ env.APP_IDENTIFIER }}
|
||||
version: ${{ env.RELEASE_VERSION }}
|
||||
|
||||
6
.github/workflows/stale.yml
vendored
6
.github/workflows/stale.yml
vendored
@@ -11,7 +11,7 @@ jobs:
|
||||
stale:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/stale@v8
|
||||
- uses: actions/stale@v9
|
||||
with:
|
||||
days-before-stale: 180
|
||||
days-before-close: 30
|
||||
@@ -21,5 +21,5 @@ jobs:
|
||||
This issue has been automatically marked as stale. **If this issue is still affecting you, please leave any comment**, and we'll keep it open. If you have any new additional information, please include it with your comment!
|
||||
close-issue-message: >
|
||||
This issue has been closed due to inactivity, and will not be monitored. If this is a bug and you can reproduce this issue, please open a new issue.
|
||||
exempt-issue-labels: discussion
|
||||
only-pr-labels: not-a-real-label
|
||||
exempt-issue-labels: discussion,never-stale
|
||||
only-pr-labels: needs-information
|
||||
|
||||
4
.gitignore
vendored
4
.gitignore
vendored
@@ -8,9 +8,11 @@ assets/
|
||||
build/linux/appimage/out
|
||||
build/linux/appimage/pkg2appimage.AppDir
|
||||
build/linux/appimage/pkg2appimage-*.AppImage
|
||||
build/linux/appimage/pkg2appimage.AppImage
|
||||
build/linux/appimage/squashfs-root
|
||||
build/linux/appimage/VSCodium
|
||||
build/windows/msi/releasedir
|
||||
build/windows/msi/Files*.wxs
|
||||
build/windows/msi/Files*.wixobj
|
||||
remote-dependencies.tar
|
||||
stores/snapcraft/insider/*.snap
|
||||
stores/snapcraft/stable/*.snap
|
||||
|
||||
42
CONTRIBUTING.md
Normal file
42
CONTRIBUTING.md
Normal file
@@ -0,0 +1,42 @@
|
||||
# Contributing
|
||||
|
||||
:+1::tada: First off, thanks for taking the time to contribute! :tada::+1:
|
||||
|
||||
#### Table Of Contents
|
||||
|
||||
- [Code of Conduct](#code-of-conduct)
|
||||
- [Reporting Bugs](#reporting-bugs)
|
||||
- [Making Changes](#making-changes)
|
||||
|
||||
## Code of Conduct
|
||||
|
||||
This project and everyone participating in it is governed by the [VSCodium Code of Conduct](CODE_OF_CONDUCT.md). By participating, you are expected to uphold this code.
|
||||
|
||||
## Reporting Bugs
|
||||
|
||||
### Before Submitting an Issue
|
||||
|
||||
Before creating bug reports, please check existing issues and [the Troubleshooting page](https://github.com/VSCodium/vscodium/blob/master/docs/troubleshooting.md) as you might find out that you don't need to create one.
|
||||
When you are creating a bug report, please include as many details as possible. Fill out [the required template](https://github.com/VSCodium/vscodium/issues/new?&labels=bug&&template=bug_report.md), the information it asks for helps us resolve issues faster.
|
||||
|
||||
## Making Changes
|
||||
|
||||
If you want to make changes, please read [the Build page](./docs/howto-build.md).
|
||||
|
||||
### Building VSCodium
|
||||
|
||||
To build VSCodium, please follow the command found in the section [`Build Scripts`](./docs/howto-build.md#build-scripts).
|
||||
|
||||
### Updating patches
|
||||
|
||||
If you want to update the existing patches, please follow the section [`Patch Update Process - Semi-Automated`](./docs/howto-build.md#patch-update-process-semiauto).
|
||||
|
||||
### Add a new patch
|
||||
|
||||
- first, you need to build VSCodium
|
||||
- then use the command `patch.sh <your patch name>`, to initiate a new patch
|
||||
- when the script pauses at `Press any key when the conflict have been resolved...`, open `vscode` directory in **VSCodium**
|
||||
- run `yarn watch`
|
||||
- run `./script/code.sh`
|
||||
- make your changes
|
||||
- press any key to continue the script `patch.sh`
|
||||
7
FUNDING.json
Normal file
7
FUNDING.json
Normal file
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"drips": {
|
||||
"ethereum": {
|
||||
"ownedBy": "0x7806393Cb27692C6A52eE3D5338A75cECD168219"
|
||||
}
|
||||
}
|
||||
}
|
||||
89
README.md
89
README.md
@@ -19,7 +19,7 @@
|
||||
|
||||
</div>
|
||||
|
||||
**This is not a fork. This is a repository of scripts to automatically build Microsoft's `vscode` repository into freely-licensed binaries with a community-driven default configuration.**
|
||||
**This is not a fork. This is a repository of scripts to automatically build [Microsoft's `vscode` repository](https://github.com/microsoft/vscode) into freely-licensed binaries with a community-driven default configuration.**
|
||||
|
||||
## Table of Contents
|
||||
|
||||
@@ -39,31 +39,49 @@
|
||||
|
||||
## <a id="download-install"></a>Download/Install
|
||||
|
||||
:tada: :tada: [Download latest release here](https://github.com/VSCodium/vscodium/releases) :tada: :tada:
|
||||
:tada: :tada:
|
||||
Download latest release here:
|
||||
[stable](https://github.com/VSCodium/vscodium/releases) or
|
||||
[insiders](https://github.com/VSCodium/vscodium-insiders/releases)
|
||||
:tada: :tada:
|
||||
|
||||
[More info / helpful tips are here.](https://github.com/VSCodium/vscodium/blob/master/docs/index.md)
|
||||
|
||||
[More info / helpful tips are here.](https://github.com/VSCodium/vscodium/blob/master/DOCS.md)
|
||||
|
||||
#### <a id="install-with-brew"></a>Install with Brew (Mac)
|
||||
|
||||
If you are on a Mac and have [Homebrew](https://brew.sh/) installed:
|
||||
```bash
|
||||
# stable
|
||||
brew install --cask vscodium
|
||||
|
||||
# insiders
|
||||
brew tap homebrew/cask-versions
|
||||
brew install --cask vscodium-insiders
|
||||
```
|
||||
|
||||
*Note for macOS users: if you can't open the App, please read [the following troubleshooting](https://github.com/VSCodium/vscodium/wiki/Troubleshooting#macos).*
|
||||
*Note for macOS users: if you can't open the App, please read [the following troubleshooting](https://github.com/VSCodium/vscodium/blob/master/docs/troubleshooting.md#macos).*
|
||||
|
||||
#### <a id="install-with-winget"></a>Install with Windows Package Manager (WinGet)
|
||||
|
||||
If you use Windows and have [Windows Package Manager](https://github.com/microsoft/winget-cli) installed:
|
||||
```bash
|
||||
winget install vscodium
|
||||
```cmd
|
||||
:: stable
|
||||
winget install -e --id VSCodium.VSCodium
|
||||
|
||||
:: insider
|
||||
winget install -e --id VSCodium.VSCodium.Insiders
|
||||
```
|
||||
|
||||
#### <a id="install-with-choco"></a>Install with Chocolatey (Windows)
|
||||
|
||||
If you use Windows and have [Chocolatey](https://chocolatey.org) installed (thanks to [@Thilas](https://github.com/Thilas)):
|
||||
```bash
|
||||
```cmd
|
||||
:: stable
|
||||
choco install vscodium
|
||||
|
||||
:: insider
|
||||
choco install vscodium-insiders
|
||||
```
|
||||
|
||||
#### <a id="install-with-scoop"></a>Install with Scoop (Windows)
|
||||
@@ -78,30 +96,41 @@ scoop install vscodium
|
||||
|
||||
VSCodium is available in the [Snap Store](https://snapcraft.io/) as [Codium](https://snapcraft.io/codium), thanks to the help of the [Snapcrafters](https://github.com/snapcrafters/codium) community.
|
||||
If your GNU/Linux distribution has support for [snaps](https://snapcraft.io/docs/installing-snapd):
|
||||
|
||||
```bash
|
||||
snap install codium --classic
|
||||
```
|
||||
|
||||
#### <a id="install-with-package-manager"></a>Install with Package Manager (GNU/Linux)
|
||||
|
||||
You can always install using the downloads (deb, rpm, tar) on the [releases page](https://github.com/VSCodium/vscodium/releases), but you can also install using your favorite package manager and get automatic updates. [@paulcarroty](https://github.com/paulcarroty) has set up a repository with instructions [here](https://gitlab.com/paulcarroty/vscodium-deb-rpm-repo). Any issues installing VSCodium using your package manager should be directed to that repository's issue tracker.
|
||||
You can always install using the downloads (deb, rpm, tar) on the releases page for [stable](https://github.com/VSCodium/vscodium/releases) or [insiders](https://github.com/VSCodium/vscodium-insiders/releases), but you can also install using your favorite package manager and get automatic updates.
|
||||
|
||||
[@paulcarroty](https://github.com/paulcarroty) has set up a repository with instructions for `apt`, `dnf` and `zypper` [here](https://gitlab.com/paulcarroty/vscodium-deb-rpm-repo).
|
||||
|
||||
Any issues installing VSCodium using your package manager should be directed to that repository's issue tracker.
|
||||
|
||||
#### <a id="install-on-arch-linux"></a>Install on Arch Linux
|
||||
|
||||
VSCodium is available in [AUR](https://wiki.archlinux.org/index.php/Arch_User_Repository) as package [vscodium-bin](https://aur.archlinux.org/packages/vscodium-bin/), maintained by [@binex-dsk](https://github.com/binex-dsk). An alternative package [vscodium-git](https://aur.archlinux.org/packages/vscodium-git/), maintained by [@cedricroijakkers](https://github.com/cedricroijakkers), is also available should you wish to compile from source yourself.
|
||||
VSCodium is available in [AUR](https://wiki.archlinux.org/index.php/Arch_User_Repository), maintained by [@binex-dsk](https://github.com/binex-dsk) as package [vscodium-bin](https://aur.archlinux.org/packages/vscodium-bin/) (stable) and as [vscodium-insiders-bin](https://aur.archlinux.org/packages/vscodium-insiders-bin).
|
||||
|
||||
If you want to save disk space by having VSCodium use the Electron system-wide, you also have [vscodium-electron](https://aur.archlinux.org/packages/vscodium-electron),
|
||||
maintained by [@m00nw4tch3r](https://aur.archlinux.org/account/m00nw4tch3r).
|
||||
|
||||
An alternative package [vscodium-git](https://aur.archlinux.org/packages/vscodium-git/), maintained by [@cedricroijakkers](https://github.com/cedricroijakkers), is also available should you wish to compile from source yourself.
|
||||
|
||||
#### <a id="flatpak"></a>Flatpak Option (GNU/Linux)
|
||||
|
||||
VSCodium is (unofficially) available as a Flatpak app [here](https://flathub.org/apps/details/com.vscodium.codium) and the build repo is [here](https://github.com/flathub/com.vscodium.codium). If your distribution has support for [flatpak](https://flathub.org), and you have enabled the [flathub repo](https://flatpak.org/setup/):
|
||||
VSCodium is available as a Flatpak app [here](https://flathub.org/apps/details/com.vscodium.codium) and the build repo is [here](https://github.com/flathub/com.vscodium.codium).
|
||||
If your distribution has support for [flatpak](https://flathub.org), and you have enabled the [flathub repo](https://flatpak.org/setup/):
|
||||
|
||||
```bash
|
||||
flatpak install flathub com.vscodium.codium
|
||||
|
||||
flatpak run com.vscodium.codium
|
||||
```
|
||||
|
||||
## <a id="build"></a>Build
|
||||
|
||||
Build instructions can be found [here](https://github.com/VSCodium/vscodium/blob/master/docs/build.md)
|
||||
Build instructions can be found [here](https://github.com/VSCodium/vscodium/blob/master/docs/howto-build.md)
|
||||
|
||||
## <a id="why"></a>Why Does This Exist
|
||||
|
||||
@@ -131,13 +160,17 @@ Microsoft's build process (which we are running to build the binaries) does down
|
||||
|
||||
### Documentation
|
||||
|
||||
For more information on getting all the telemetry disabled and tips for migrating from Visual Studio Code to VSCodium, have a look at this [Docs](https://github.com/VSCodium/vscodium/blob/master/DOCS.md) page.
|
||||
For more information on getting all the telemetry disabled, tips for migrating from Visual Studio Code to VSCodium and more, have a look at [the Docs page](https://github.com/VSCodium/vscodium/blob/master/docs/index.md) page.
|
||||
|
||||
### Troubleshooting
|
||||
|
||||
If you have any issue, please check [the Troubleshooting page](https://github.com/VSCodium/vscodium/blob/master/docs/troubleshooting.md) or the existing issues.
|
||||
|
||||
### Extensions and the Marketplace
|
||||
|
||||
According to the VS Code Marketplace [Terms of Use](https://aka.ms/vsmarketplace-ToU), _you may only install and use Marketplace Offerings with Visual Studio Products and Services._ For this reason, VSCodium uses [open-vsx.org](https://open-vsx.org/), an open source registry for VS Code extensions. See the [Extensions + Marketplace](https://github.com/VSCodium/vscodium/blob/master/DOCS.md#extensions-marketplace) section on the Docs page for more details.
|
||||
According to the VS Code Marketplace [Terms of Use](https://aka.ms/vsmarketplace-ToU), _you may only install and use Marketplace Offerings with Visual Studio Products and Services._ For this reason, VSCodium uses [open-vsx.org](https://open-vsx.org/), an open source registry for VS Code extensions. See the [Extensions + Marketplace](https://github.com/VSCodium/vscodium/blob/master/docs/index.md#extensions-marketplace) section on the Docs page for more details.
|
||||
|
||||
Please note that some Visual Studio Code extensions have licenses that restrict their use to the official Visual Studio Code builds and therefore do not work with VSCodium. See [this note](https://github.com/VSCodium/vscodium/blob/master/DOCS.md#proprietary-debugging-tools) on the Docs page for what's been found so far and possible workarounds.
|
||||
Please note that some Visual Studio Code extensions have licenses that restrict their use to the official Visual Studio Code builds and therefore do not work with VSCodium. See [this note](https://github.com/VSCodium/vscodium/blob/master/docs/index.md#proprietary-debugging-tools) on the Docs page for what's been found so far and possible workarounds.
|
||||
|
||||
### How are the VSCodium binaries built?
|
||||
|
||||
@@ -148,22 +181,16 @@ The builds are run every day, but exit early if there isn't a new release from M
|
||||
## <a id="supported-platforms"></a>Supported Platforms
|
||||
|
||||
The minimal version is limited by the core component Electron, you may want to check its [platform prerequisites](https://www.electronjs.org/docs/latest/development/build-instructions-gn#platform-prerequisites).
|
||||
- [x] macOS (`zip`, `dmg`) OS X 10.10 or newer x64
|
||||
|
||||
- [x] macOS (`zip`, `dmg`) macOS 10.15 or newer x64
|
||||
- [x] macOS (`zip`, `dmg`) macOS 11.0 or newer arm64
|
||||
- [x] GNU/Linux x64 (`deb`, `rpm`, `AppImage`, `tar.gz`)
|
||||
- [x] GNU/Linux x86 (`deb`, `rpm`, `tar.gz`) ([up to v1.35.1](https://code.visualstudio.com/updates/v1_36#_linux-32bit-support-ends))
|
||||
- [x] GNU/Linux arm64 (`deb`, `tar.gz`)
|
||||
- [x] GNU/Linux armhf (`deb`, `tar.gz`)
|
||||
- [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] Windows 10 / Server 2012 R2 or newer x64
|
||||
- [x] Windows 10 / Server 2012 R2 or newer x86
|
||||
- [x] Windows 10 / Server 2012 R2 or newer arm64
|
||||
|
||||
|
||||
## <a id="donate"></a>Donate
|
||||
|
||||
If you would like to support the development of VSCodium, feel free to send BTC to `3PgjE95yzBDTrSPxPiqoxSgZFuKPPAix1N`.
|
||||
|
||||
Special thanks to:
|
||||
## <a id="thanks"></a>Special thanks
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
@@ -178,6 +205,14 @@ Special thanks to:
|
||||
<td><a href="https://www.macstadium.com" target="_blank"><img src="https://images.prismic.io/macstadium/66fbce64-707e-41f3-b547-241908884716_MacStadium_Logo.png?w=128&q=75" width="128" height="49" alt="MacStadium logo" /></a></td>
|
||||
<td>for providing a Mac mini M1</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<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
|
||||
|
||||
@@ -1,2 +1,7 @@
|
||||
[
|
||||
{
|
||||
"id": "#1227",
|
||||
"title": "Issue(macOS): manual update to `1.90.x`",
|
||||
"url": "https://github.com/VSCodium/vscodium/issues/1917"
|
||||
}
|
||||
]
|
||||
|
||||
32
build.sh
32
build.sh
@@ -3,10 +3,6 @@
|
||||
|
||||
set -ex
|
||||
|
||||
if [[ -f "./remote-dependencies.tar" ]]; then
|
||||
tar -xf ./remote-dependencies.tar ./vscode/remote/node_modules
|
||||
fi
|
||||
|
||||
. version.sh
|
||||
|
||||
if [[ "${SHOULD_BUILD}" == "yes" ]]; then
|
||||
@@ -16,6 +12,8 @@ if [[ "${SHOULD_BUILD}" == "yes" ]]; then
|
||||
|
||||
cd vscode || { echo "'vscode' dir not found"; exit 1; }
|
||||
|
||||
export NODE_OPTIONS="--max-old-space-size=8192"
|
||||
|
||||
yarn monaco-compile-check
|
||||
yarn valid-layers-check
|
||||
|
||||
@@ -31,21 +29,26 @@ 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"
|
||||
if [[ "${VSCODE_ARCH}" != "x64" ]]; then
|
||||
SHOULD_BUILD_REH="no"
|
||||
SHOULD_BUILD_REH_WEB="no"
|
||||
fi
|
||||
fi
|
||||
|
||||
VSCODE_PLATFORM="win32"
|
||||
elif [[ "${VSCODE_ARCH}" == "ppc64le" ]]; then # linux-ppc64le
|
||||
VSCODE_PLATFORM="linux"
|
||||
else # linux
|
||||
yarn gulp "vscode-linux-${VSCODE_ARCH}-min-ci"
|
||||
# in CI, packaging will be done by a different job
|
||||
if [[ "${CI_BUILD}" == "no" ]]; then
|
||||
yarn gulp "vscode-linux-${VSCODE_ARCH}-min-ci"
|
||||
|
||||
find "../VSCode-linux-${VSCODE_ARCH}" -print0 | xargs -0 touch -c
|
||||
find "../VSCode-linux-${VSCODE_ARCH}" -print0 | xargs -0 touch -c
|
||||
fi
|
||||
|
||||
VSCODE_PLATFORM="linux"
|
||||
fi
|
||||
@@ -55,5 +58,10 @@ if [[ "${SHOULD_BUILD}" == "yes" ]]; then
|
||||
yarn gulp "vscode-reh-${VSCODE_PLATFORM}-${VSCODE_ARCH}-min-ci"
|
||||
fi
|
||||
|
||||
if [[ "${SHOULD_BUILD_REH_WEB}" != "no" ]]; then
|
||||
yarn gulp minify-vscode-reh-web
|
||||
yarn gulp "vscode-reh-web-${VSCODE_PLATFORM}-${VSCODE_ARCH}-min-ci"
|
||||
fi
|
||||
|
||||
cd ..
|
||||
fi
|
||||
|
||||
@@ -1,24 +0,0 @@
|
||||
const fs = require("fs");
|
||||
const crypto = require("crypto");
|
||||
const path = require("path");
|
||||
const { dirs } = require('../../vscode/build/npm/dirs');
|
||||
|
||||
const ROOT = path.join(__dirname, '../../vscode');
|
||||
|
||||
const shasum = crypto.createHash('sha1');
|
||||
|
||||
shasum.update(fs.readFileSync(path.join(ROOT, '.yarnrc')));
|
||||
shasum.update(fs.readFileSync(path.join(ROOT, 'remote/.yarnrc')));
|
||||
|
||||
// Add `yarn.lock` files
|
||||
for (let dir of dirs) {
|
||||
const yarnLockPath = path.join(ROOT, dir, 'yarn.lock');
|
||||
shasum.update(fs.readFileSync(yarnLockPath));
|
||||
}
|
||||
|
||||
// Add any other command line arguments
|
||||
for (let i = 2; i < process.argv.length; i++) {
|
||||
shasum.update(process.argv[i]);
|
||||
}
|
||||
|
||||
process.stdout.write(shasum.digest('hex'));
|
||||
@@ -6,6 +6,7 @@
|
||||
###
|
||||
|
||||
export APP_NAME="VSCodium"
|
||||
export BINARY_NAME="codium"
|
||||
export CI_BUILD="no"
|
||||
export SHOULD_BUILD="yes"
|
||||
export SKIP_ASSETS="yes"
|
||||
@@ -13,10 +14,12 @@ export SKIP_BUILD="no"
|
||||
export SKIP_SOURCE="no"
|
||||
export VSCODE_LATEST="no"
|
||||
export VSCODE_QUALITY="stable"
|
||||
export VSCODE_SKIP_NODE_VERSION_CHECK="yes"
|
||||
|
||||
while getopts ":ilops" opt; do
|
||||
case "$opt" in
|
||||
i)
|
||||
export BINARY_NAME="codium-insiders"
|
||||
export VSCODE_QUALITY="insider"
|
||||
;;
|
||||
l)
|
||||
@@ -50,14 +53,18 @@ esac
|
||||
|
||||
UNAME_ARCH=$( uname -m )
|
||||
|
||||
if [[ "${UNAME_ARCH}" == "arm64" ]]; then
|
||||
if [[ "${UNAME_ARCH}" == "aarch64" || "${UNAME_ARCH}" == "arm64" ]]; then
|
||||
export VSCODE_ARCH="arm64"
|
||||
elif [[ "${UNAME_ARCH}" == "ppc64le" ]]; then
|
||||
export VSCODE_ARCH="ppc64le"
|
||||
elif [[ "${UNAME_ARCH}" == "riscv64" ]]; then
|
||||
export VSCODE_ARCH="riscv64"
|
||||
else
|
||||
export VSCODE_ARCH="x64"
|
||||
fi
|
||||
|
||||
export NODE_OPTIONS="--max-old-space-size=8192"
|
||||
|
||||
echo "OS_NAME=\"${OS_NAME}\""
|
||||
echo "SKIP_SOURCE=\"${SKIP_SOURCE}\""
|
||||
echo "SKIP_BUILD=\"${SKIP_BUILD}\""
|
||||
@@ -79,7 +86,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
|
||||
@@ -97,14 +104,16 @@ if [[ "${SKIP_BUILD}" == "no" ]]; then
|
||||
git add .
|
||||
git reset -q --hard HEAD
|
||||
|
||||
rm -rf .build out*
|
||||
|
||||
cd ..
|
||||
fi
|
||||
|
||||
. build.sh
|
||||
|
||||
if [[ "${VSCODE_QUALITY}" == "insider" && "${VSCODE_LATEST}" == "yes" ]]; then
|
||||
jsonTmp=$( jq --arg 'tag' "${MS_TAG/\-insider/}" --arg 'commit' "${MS_COMMIT}" '. "insider.json" | .tag=$tag | .commit=$commit' )
|
||||
echo "${jsonTmp}" > "insider.json" && unset jsonTmp
|
||||
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
|
||||
fi
|
||||
fi
|
||||
|
||||
@@ -113,5 +122,11 @@ if [[ "${SKIP_ASSETS}" == "no" ]]; then
|
||||
rm -rf build/windows/msi/releasedir
|
||||
fi
|
||||
|
||||
if [[ "${OS_NAME}" == "osx" && -f "./macos-codesign.env" ]]; then
|
||||
. macos-codesign.env
|
||||
|
||||
echo "CERTIFICATE_OSX_ID: ${CERTIFICATE_OSX_ID}"
|
||||
fi
|
||||
|
||||
. prepare_assets.sh
|
||||
fi
|
||||
|
||||
@@ -33,6 +33,7 @@ fi
|
||||
APIS=$( jq -r '.extensionEnabledApiProposals' "${DIRECTORY}/resources/app/product.json" )
|
||||
|
||||
APIS=$( echo "${APIS}" | jq '. += {"jeanp413.open-remote-ssh": ["resolvers", "tunnels", "terminalDataWriteEvent", "contribRemoteHelp", "contribViewsRemote"]}' )
|
||||
APIS=$( echo "${APIS}" | jq '. += {"jeanp413.open-remote-wsl": ["resolvers", "contribRemoteHelp", "contribViewsRemote"]}' )
|
||||
|
||||
jsonTmp=$( jq --argjson v "${APIS}" 'setpath(["extensionEnabledApiProposals"]; $v)' product.json )
|
||||
echo "${jsonTmp}" > product.json && unset jsonTmp
|
||||
|
||||
@@ -12,49 +12,47 @@ while getopts ":i" opt; do
|
||||
esac
|
||||
done
|
||||
|
||||
cd vscode || { echo "'vscode' dir not found"; exit 1; }
|
||||
check_file() {
|
||||
if [[ -f "${1}" ]]; then
|
||||
echo applying patch: "${1}"
|
||||
if ! git apply --ignore-whitespace "${1}"; then
|
||||
echo failed to apply patch "${1}"
|
||||
|
||||
git add .
|
||||
git reset -q --hard HEAD
|
||||
|
||||
for FILE in ../patches/*.patch; do
|
||||
if [[ -f "${FILE}" ]]; then
|
||||
echo applying patch: "${FILE}"
|
||||
if ! git apply --ignore-whitespace "${FILE}"; then
|
||||
echo failed to apply patch "${FILE}"
|
||||
|
||||
git apply --reject "${FILE}"
|
||||
git apply --reject "${1}"
|
||||
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 diff --staged -U1 > "${1}"
|
||||
fi
|
||||
git add .
|
||||
git reset -q --hard HEAD
|
||||
fi
|
||||
}
|
||||
|
||||
cd vscode || { echo "'vscode' dir not found"; exit 1; }
|
||||
|
||||
git add .
|
||||
git reset -q --hard HEAD
|
||||
|
||||
for FILE in ../patches/*.patch; do
|
||||
check_file "${FILE}"
|
||||
done
|
||||
|
||||
if [[ "${VSCODE_QUALITY}" == "insider" ]]; then
|
||||
for FILE in ../patches/insider/*.patch; do
|
||||
if [[ -f "${FILE}" ]]; then
|
||||
echo applying patch: "${FILE}"
|
||||
if ! git apply --ignore-whitespace "${FILE}"; then
|
||||
echo failed to apply patch "${FILE}"
|
||||
|
||||
git apply --reject "${FILE}"
|
||||
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}"
|
||||
fi
|
||||
git add .
|
||||
git reset -q --hard HEAD
|
||||
fi
|
||||
check_file "${FILE}"
|
||||
done
|
||||
fi
|
||||
|
||||
for ARCH in alpine linux osx windows; do
|
||||
for FILE in "../patches/${ARCH}/"*.patch; do
|
||||
check_file "${FILE}"
|
||||
done
|
||||
|
||||
for FILE in "../patches/${ARCH}/"*/*.patch; do
|
||||
check_file "${FILE}"
|
||||
done
|
||||
done
|
||||
|
||||
@@ -13,9 +13,9 @@
|
||||
<String Id="FeatureFileTypeAssociationsTitle">File Associations</String>
|
||||
<String Id="FeatureFileTypeAssociationsDescription">Register @@PRODUCT_NAME@@ as an editor for supported file types.</String>
|
||||
<String Id="FeatureAddContextMenuFilesTitle">Files context menu</String>
|
||||
<String Id="FeatureAddContextMenuFilesDescription">Add "Open with @@PRODUCT_NAME@@" action to Windows Explorer file contect menu.</String>
|
||||
<String Id="FeatureAddContextMenuFilesDescription">Add "Open with @@PRODUCT_NAME@@" action to Windows Explorer file context menu.</String>
|
||||
<String Id="FeatureAddContextMenuFoldersTitle">Directory context menu</String>
|
||||
<String Id="FeatureAddContextMenuFoldersDescription">Add "Open with @@PRODUCT_NAME@@" action to Windows Explorer directory contect menu.</String>
|
||||
<String Id="FeatureAddContextMenuFoldersDescription">Add "Open with @@PRODUCT_NAME@@" action to Windows Explorer directory context menu.</String>
|
||||
<String Id="FeatureEnvironmentTitle">Add to PATH</String>
|
||||
<String Id="FeatureEnvironmentDescription">Add @@PRODUCT_NAME@@ to PATH environment variable. Available after restart.</String>
|
||||
<String Id="LaunchApplication">Launch @@PRODUCT_NAME@@</String>
|
||||
|
||||
@@ -6,7 +6,7 @@ set -e
|
||||
if [[ "${GITHUB_EVENT_NAME}" == "pull_request" ]]; then
|
||||
echo "It's a PR"
|
||||
|
||||
export SHOULD_BUILD="yes"
|
||||
export SHOULD_BUILD="yes"
|
||||
export SHOULD_DEPLOY="no"
|
||||
elif [[ "${GITHUB_EVENT_NAME}" == "push" ]]; then
|
||||
echo "It's a Push"
|
||||
@@ -14,8 +14,8 @@ elif [[ "${GITHUB_EVENT_NAME}" == "push" ]]; then
|
||||
export SHOULD_BUILD="yes"
|
||||
export SHOULD_DEPLOY="no"
|
||||
elif [[ "${GITHUB_EVENT_NAME}" == "workflow_dispatch" ]]; then
|
||||
if [[ "${TEST_ASSET_BUILDER}" == "true" ]]; then
|
||||
echo "It's testing the assets builder"
|
||||
if [[ "${GENERATE_ASSETS}" == "true" ]]; then
|
||||
echo "It will generate the assets"
|
||||
|
||||
export SHOULD_BUILD="yes"
|
||||
export SHOULD_DEPLOY="no"
|
||||
|
||||
499
check_tags.sh
499
check_tags.sh
@@ -3,42 +3,60 @@
|
||||
|
||||
set -e
|
||||
|
||||
if [[ -z "${GITHUB_TOKEN}" ]]; then
|
||||
if [[ -z "${GH_TOKEN}" ]] && [[ -z "${GITHUB_TOKEN}" ]] && [[ -z "${GH_ENTERPRISE_TOKEN}" ]] && [[ -z "${GITHUB_ENTERPRISE_TOKEN}" ]]; then
|
||||
echo "Will not build because no GITHUB_TOKEN defined"
|
||||
exit 0
|
||||
else
|
||||
GITHUB_TOKEN="${GH_TOKEN:-${GITHUB_TOKEN:-${GH_ENTERPRISE_TOKEN:-${GITHUB_ENTERPRISE_TOKEN}}}}"
|
||||
fi
|
||||
|
||||
# Support for GitHub Enterprise
|
||||
GH_HOST="${GH_HOST:-github.com}"
|
||||
|
||||
APP_NAME_LC="$( echo "${APP_NAME}" | awk '{print tolower($0)}' )"
|
||||
GITHUB_RESPONSE=$( curl -s -H "Authorization: token ${GITHUB_TOKEN}" "https://api.github.com/repos/${ASSETS_REPOSITORY}/releases/latest" )
|
||||
LATEST_VERSION=$( echo "${GITHUB_RESPONSE}" | jq -c -r '.tag_name' )
|
||||
|
||||
if [[ "${LATEST_VERSION}" =~ ^([0-9]+\.[0-9]+\.[0-9]+) ]]; then
|
||||
if [[ "${MS_TAG}" != "${BASH_REMATCH[1]}" ]]; then
|
||||
echo "New VSCode version, new build"
|
||||
export SHOULD_BUILD="yes"
|
||||
elif [[ "${NEW_RELEASE}" == "true" ]]; then
|
||||
echo "New release build"
|
||||
export SHOULD_BUILD="yes"
|
||||
elif [[ "${VSCODE_QUALITY}" == "insider" ]]; then
|
||||
BODY=$( echo "${GITHUB_RESPONSE}" | jq -c -r '.body' )
|
||||
if [[ "${SHOULD_DEPLOY}" == "no" ]]; then
|
||||
ASSETS="null"
|
||||
else
|
||||
GITHUB_RESPONSE=$( curl -s -H "Authorization: token ${GITHUB_TOKEN}" "https://api.${GH_HOST}/repos/${ASSETS_REPOSITORY}/releases/latest" )
|
||||
LATEST_VERSION=$( echo "${GITHUB_RESPONSE}" | jq -c -r '.tag_name' )
|
||||
RECHECK_ASSETS="${SHOULD_BUILD}"
|
||||
|
||||
if [[ "${BODY}" =~ \[([a-z0-9]+)\] ]]; then
|
||||
if [[ "${MS_COMMIT}" != "${BASH_REMATCH[1]}" ]]; then
|
||||
echo "New VSCode Insiders version, new build"
|
||||
export SHOULD_BUILD="yes"
|
||||
if [[ "${LATEST_VERSION}" =~ ^([0-9]+\.[0-9]+\.[0-9]+) ]]; then
|
||||
if [[ "${MS_TAG}" != "${BASH_REMATCH[1]}" ]]; then
|
||||
echo "New VSCode version, new build"
|
||||
export SHOULD_BUILD="yes"
|
||||
elif [[ "${NEW_RELEASE}" == "true" ]]; then
|
||||
echo "New release build"
|
||||
export SHOULD_BUILD="yes"
|
||||
elif [[ "${VSCODE_QUALITY}" == "insider" ]]; then
|
||||
BODY=$( echo "${GITHUB_RESPONSE}" | jq -c -r '.body' )
|
||||
|
||||
if [[ "${BODY}" =~ \[([a-z0-9]+)\] ]]; then
|
||||
if [[ "${MS_COMMIT}" != "${BASH_REMATCH[1]}" ]]; then
|
||||
echo "New VSCode Insiders version, new build"
|
||||
export SHOULD_BUILD="yes"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ "${SHOULD_BUILD}" != "yes" ]]; then
|
||||
export RELEASE_VERSION="${LATEST_VERSION}"
|
||||
echo "RELEASE_VERSION=${RELEASE_VERSION}" >> "${GITHUB_ENV}"
|
||||
if [[ "${SHOULD_BUILD}" != "yes" ]]; then
|
||||
export RELEASE_VERSION="${LATEST_VERSION}"
|
||||
echo "RELEASE_VERSION=${RELEASE_VERSION}" >> "${GITHUB_ENV}"
|
||||
|
||||
echo "Switch to release version: ${RELEASE_VERSION}"
|
||||
echo "Switch to release version: ${RELEASE_VERSION}"
|
||||
|
||||
ASSETS=$( echo "${GITHUB_RESPONSE}" | jq -c '.assets | map(.name)?' )
|
||||
ASSETS=$( echo "${GITHUB_RESPONSE}" | jq -c '.assets | map(.name)?' )
|
||||
elif [[ "${RECHECK_ASSETS}" == "yes" ]]; then
|
||||
export SHOULD_BUILD="no"
|
||||
|
||||
ASSETS=$( echo "${GITHUB_RESPONSE}" | jq -c '.assets | map(.name)?' )
|
||||
else
|
||||
ASSETS="null"
|
||||
fi
|
||||
else
|
||||
ASSETS="null"
|
||||
echo "can't check assets"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
@@ -47,17 +65,18 @@ contains() {
|
||||
echo "${ASSETS}" | grep "${1}\""
|
||||
}
|
||||
|
||||
if [[ "${ASSETS}" != "null" ]]; then
|
||||
# macos
|
||||
if [[ "${OS_NAME}" == "osx" ]]; then
|
||||
if [[ "${VSCODE_ARCH}" == "arm64" ]]; then
|
||||
if [[ -z $( contains "${APP_NAME}-${RELEASE_VERSION}-src.tar.gz" ) || -z $( contains "${APP_NAME}-${RELEASE_VERSION}-src.zip" ) ]]; then
|
||||
echo "Building on MacOS because we have no SRC"
|
||||
export SHOULD_BUILD="yes"
|
||||
export SHOULD_BUILD_SRC="yes"
|
||||
fi
|
||||
# shellcheck disable=SC2153
|
||||
if [[ "${CHECK_ASSETS}" == "no" ]]; then
|
||||
echo "Don't check assets, yet"
|
||||
elif [[ "${ASSETS}" != "null" ]]; then
|
||||
if [[ "${IS_SPEARHEAD}" == "yes" ]]; then
|
||||
if [[ -z $( contains "${APP_NAME}-${RELEASE_VERSION}-src.tar.gz" ) || -z $( contains "${APP_NAME}-${RELEASE_VERSION}-src.zip" ) ]]; then
|
||||
echo "Building because we have no SRC"
|
||||
export SHOULD_BUILD="yes"
|
||||
export SHOULD_BUILD_SRC="yes"
|
||||
fi
|
||||
|
||||
# macos
|
||||
elif [[ "${OS_NAME}" == "osx" ]]; then
|
||||
if [[ -z $( contains "${APP_NAME}-darwin-${VSCODE_ARCH}-${RELEASE_VERSION}.zip" ) ]]; then
|
||||
echo "Building on MacOS because we have no ZIP"
|
||||
export SHOULD_BUILD="yes"
|
||||
@@ -79,6 +98,13 @@ if [[ "${ASSETS}" != "null" ]]; then
|
||||
export SHOULD_BUILD_REH="no"
|
||||
fi
|
||||
|
||||
if [[ -z $( contains "${APP_NAME_LC}-reh-web-darwin-${VSCODE_ARCH}-${RELEASE_VERSION}.tar.gz" ) ]]; then
|
||||
echo "Building on MacOS 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 MacOS builds"
|
||||
fi
|
||||
@@ -108,6 +134,7 @@ if [[ "${ASSETS}" != "null" ]]; then
|
||||
fi
|
||||
|
||||
export SHOULD_BUILD_REH="no"
|
||||
export SHOULD_BUILD_REH_WEB="no"
|
||||
|
||||
if [[ "${SHOULD_BUILD}" != "yes" ]]; then
|
||||
echo "Already have all the Windows arm64 builds"
|
||||
@@ -136,14 +163,18 @@ if [[ "${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
|
||||
@@ -157,6 +188,13 @@ if [[ "${ASSETS}" != "null" ]]; then
|
||||
export SHOULD_BUILD_REH="no"
|
||||
fi
|
||||
|
||||
if [[ -z $( contains "${APP_NAME_LC}-reh-web-win32-${VSCODE_ARCH}-${RELEASE_VERSION}.tar.gz" ) ]]; then
|
||||
echo "Building on Windows ia32 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 Windows ia32 builds"
|
||||
fi
|
||||
@@ -184,14 +222,18 @@ if [[ "${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
|
||||
@@ -205,161 +247,315 @@ if [[ "${ASSETS}" != "null" ]]; then
|
||||
export SHOULD_BUILD_REH="no"
|
||||
fi
|
||||
|
||||
if [[ -z $( contains "${APP_NAME_LC}-reh-web-win32-${VSCODE_ARCH}-${RELEASE_VERSION}.tar.gz" ) ]]; then
|
||||
echo "Building on Windows x64 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 Windows x64 builds"
|
||||
fi
|
||||
fi
|
||||
elif [[ "${OS_NAME}" == "linux" ]]; then
|
||||
|
||||
# linux-arm64
|
||||
if [[ "${VSCODE_ARCH}" == "arm64" ]]; then
|
||||
if [[ -z $( contains "arm64.deb" ) ]]; then
|
||||
echo "Building on Linux arm64 because we have no DEB"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_DEB="no"
|
||||
fi
|
||||
if [[ "${CHECK_ONLY_REH}" == "yes" ]]; then
|
||||
|
||||
if [[ -z $( contains "aarch64.rpm" ) ]]; then
|
||||
echo "Building on Linux arm64 because we have no RPM"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_RPM="no"
|
||||
fi
|
||||
|
||||
if [[ -z $( contains "${APP_NAME}-linux-arm64-${RELEASE_VERSION}.tar.gz" ) ]]; then
|
||||
echo "Building on Linux arm64 because we have no TAR"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_TAR="no"
|
||||
fi
|
||||
|
||||
if [[ -z $( contains "${APP_NAME_LC}-reh-linux-arm64-${RELEASE_VERSION}.tar.gz" ) ]]; then
|
||||
echo "Building on Linux arm64 because we have no REH archive"
|
||||
if [[ -z $( contains "${APP_NAME_LC}-reh-linux-${VSCODE_ARCH}-${RELEASE_VERSION}.tar.gz" ) ]]; then
|
||||
echo "Building on Linux ${VSCODE_ARCH} because we have no REH archive"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
echo "Already have the Linux REH ${VSCODE_ARCH} archive"
|
||||
export SHOULD_BUILD_REH="no"
|
||||
fi
|
||||
|
||||
export SHOULD_BUILD_APPIMAGE="no"
|
||||
|
||||
if [[ "${SHOULD_BUILD}" != "yes" ]]; then
|
||||
echo "Already have all the Linux arm64 builds"
|
||||
fi
|
||||
|
||||
# linux-armhf
|
||||
elif [[ "${VSCODE_ARCH}" == "armhf" ]]; then
|
||||
if [[ -z $( contains "armhf.deb" ) ]]; then
|
||||
echo "Building on Linux arm because we have no DEB"
|
||||
if [[ -z $( contains "${APP_NAME_LC}-reh-web-linux-${VSCODE_ARCH}-${RELEASE_VERSION}.tar.gz" ) ]]; then
|
||||
echo "Building on Linux ${VSCODE_ARCH} because we have no REH-web archive"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_DEB="no"
|
||||
echo "Already have the Linux REH-web ${VSCODE_ARCH} archive"
|
||||
export SHOULD_BUILD_REH_WEB="no"
|
||||
fi
|
||||
|
||||
if [[ -z $( contains "armv7hl.rpm" ) ]]; then
|
||||
echo "Building on Linux arm because we have no RPM"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_RPM="no"
|
||||
fi
|
||||
|
||||
if [[ -z $( contains "${APP_NAME}-linux-armhf-${RELEASE_VERSION}.tar.gz" ) ]]; then
|
||||
echo "Building on Linux arm because we have no TAR"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_TAR="no"
|
||||
fi
|
||||
|
||||
if [[ -z $( contains "${APP_NAME_LC}-reh-linux-armhf-${RELEASE_VERSION}.tar.gz" ) ]]; then
|
||||
echo "Building on Linux arm because we have no REH archive"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_REH="no"
|
||||
fi
|
||||
|
||||
export SHOULD_BUILD_APPIMAGE="no"
|
||||
|
||||
if [[ "${SHOULD_BUILD}" != "yes" ]]; then
|
||||
echo "Already have all the Linux arm builds"
|
||||
fi
|
||||
|
||||
# linux-ppc64le
|
||||
elif [[ "${VSCODE_ARCH}" == "ppc64le" ]]; then
|
||||
SHOULD_BUILD_DEB="no"
|
||||
SHOULD_BUILD_APPIMAGE="no"
|
||||
SHOULD_BUILD_RPM="no"
|
||||
SHOULD_BUILD_TAR="no"
|
||||
|
||||
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"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_REH="no"
|
||||
fi
|
||||
|
||||
if [[ "${SHOULD_BUILD}" != "yes" ]]; then
|
||||
echo "Already have all the Linux PowerPC64LE builds"
|
||||
fi
|
||||
|
||||
# linux-x64
|
||||
else
|
||||
if [[ -z $( contains "amd64.deb" ) ]]; then
|
||||
echo "Building on Linux x64 because we have no DEB"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_DEB="no"
|
||||
fi
|
||||
|
||||
if [[ -z $( contains "x86_64.rpm" ) ]]; then
|
||||
echo "Building on Linux x64 because we have no RPM"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_RPM="no"
|
||||
fi
|
||||
# linux-arm64
|
||||
if [[ "${VSCODE_ARCH}" == "arm64" || "${CHECK_ALL}" == "yes" ]]; then
|
||||
if [[ -z $( contains "arm64.deb" ) ]]; then
|
||||
echo "Building on Linux arm64 because we have no DEB"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_DEB="no"
|
||||
fi
|
||||
|
||||
if [[ -z $( contains "${APP_NAME}-linux-x64-${RELEASE_VERSION}.tar.gz" ) ]]; then
|
||||
echo "Building on Linux x64 because we have no TAR"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_TAR="no"
|
||||
fi
|
||||
if [[ -z $( contains "aarch64.rpm" ) ]]; then
|
||||
echo "Building on Linux arm64 because we have no RPM"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_RPM="no"
|
||||
fi
|
||||
|
||||
if [[ -z $( contains "${APP_NAME}-linux-arm64-${RELEASE_VERSION}.tar.gz" ) ]]; then
|
||||
echo "Building on Linux arm64 because we have no TAR"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_TAR="no"
|
||||
fi
|
||||
|
||||
if [[ "${CHECK_REH}" != "no" && -z $( contains "${APP_NAME_LC}-reh-linux-arm64-${RELEASE_VERSION}.tar.gz" ) ]]; then
|
||||
echo "Building on Linux arm64 because we have no REH archive"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_REH="no"
|
||||
fi
|
||||
|
||||
if [[ "${CHECK_REH}" != "no" && -z $( contains "${APP_NAME_LC}-reh-web-linux-arm64-${RELEASE_VERSION}.tar.gz" ) ]]; then
|
||||
echo "Building on Linux arm64 because we have no REH-web archive"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_REH_WEB="no"
|
||||
fi
|
||||
|
||||
if [[ -z $( contains "x86_64.AppImage" ) ]]; then
|
||||
echo "Building on Linux x64 because we have no AppImage"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_APPIMAGE="no"
|
||||
|
||||
if [[ "${SHOULD_BUILD}" != "yes" ]]; then
|
||||
echo "Already have all the Linux arm64 builds"
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ -z $( contains "${APP_NAME_LC}-reh-linux-x64-${RELEASE_VERSION}.tar.gz" ) ]]; then
|
||||
echo "Building on Linux x64 because we have no REH archive"
|
||||
# linux-armhf
|
||||
if [[ "${VSCODE_ARCH}" == "armhf" || "${CHECK_ALL}" == "yes" ]]; then
|
||||
if [[ -z $( contains "armhf.deb" ) ]]; then
|
||||
echo "Building on Linux arm because we have no DEB"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_DEB="no"
|
||||
fi
|
||||
|
||||
if [[ -z $( contains "armv7hl.rpm" ) ]]; then
|
||||
echo "Building on Linux arm because we have no RPM"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_RPM="no"
|
||||
fi
|
||||
|
||||
if [[ -z $( contains "${APP_NAME}-linux-armhf-${RELEASE_VERSION}.tar.gz" ) ]]; then
|
||||
echo "Building on Linux arm because we have no TAR"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_TAR="no"
|
||||
fi
|
||||
|
||||
if [[ "${CHECK_REH}" != "no" && -z $( contains "${APP_NAME_LC}-reh-linux-armhf-${RELEASE_VERSION}.tar.gz" ) ]]; then
|
||||
echo "Building on Linux arm because we have no REH archive"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_REH="no"
|
||||
fi
|
||||
|
||||
if [[ "${CHECK_REH}" != "no" && -z $( contains "${APP_NAME_LC}-reh-web-linux-armhf-${RELEASE_VERSION}.tar.gz" ) ]]; then
|
||||
echo "Building on Linux arm because we have no REH-web archive"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_REH_WEB="no"
|
||||
fi
|
||||
|
||||
export SHOULD_BUILD_APPIMAGE="no"
|
||||
|
||||
if [[ "${SHOULD_BUILD}" != "yes" ]]; then
|
||||
echo "Already have all the Linux arm builds"
|
||||
fi
|
||||
fi
|
||||
|
||||
# linux-ppc64le
|
||||
if [[ "${VSCODE_ARCH}" == "ppc64le" || "${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-ppc64le-${RELEASE_VERSION}.tar.gz" ) ]]; then
|
||||
echo "Building on Linux PowerPC64LE 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-ppc64le-${RELEASE_VERSION}.tar.gz" ) ]]; then
|
||||
echo "Building on Linux PowerPC64LE 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 PowerPC64LE builds"
|
||||
fi
|
||||
fi
|
||||
|
||||
# linux-riscv64
|
||||
if [[ "${VSCODE_ARCH}" == "riscv64" || "${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-riscv64-${RELEASE_VERSION}.tar.gz" ) ]]; then
|
||||
echo "Building on Linux RISC-V 64 because we have no TAR"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_TAR="no"
|
||||
fi
|
||||
|
||||
if [[ -z $( contains "${APP_NAME_LC}-reh-linux-riscv64-${RELEASE_VERSION}.tar.gz" ) ]]; then
|
||||
echo "Building on Linux RISC-V 64 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-riscv64-${RELEASE_VERSION}.tar.gz" ) ]]; then
|
||||
echo "Building on Linux RISC-V 64 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 riscv64 builds"
|
||||
fi
|
||||
fi
|
||||
|
||||
# linux-x64
|
||||
if [[ "${VSCODE_ARCH}" == "x64" || "${CHECK_ALL}" == "yes" ]]; then
|
||||
if [[ -z $( contains "amd64.deb" ) ]]; then
|
||||
echo "Building on Linux x64 because we have no DEB"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_DEB="no"
|
||||
fi
|
||||
|
||||
if [[ -z $( contains "x86_64.rpm" ) ]]; then
|
||||
echo "Building on Linux x64 because we have no RPM"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_RPM="no"
|
||||
fi
|
||||
|
||||
if [[ -z $( contains "${APP_NAME}-linux-x64-${RELEASE_VERSION}.tar.gz" ) ]]; then
|
||||
echo "Building on Linux x64 because we have no TAR"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_TAR="no"
|
||||
fi
|
||||
|
||||
if [[ "${DISABLE_APPIMAGE}" == "yes" ]]; then
|
||||
export SHOULD_BUILD_APPIMAGE="no"
|
||||
elif [[ -z $( contains "x86_64.AppImage" ) ]]; then
|
||||
echo "Building on Linux x64 because we have no AppImage"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_APPIMAGE="no"
|
||||
fi
|
||||
|
||||
if [[ "${CHECK_REH}" != "no" && -z $( contains "${APP_NAME_LC}-reh-linux-x64-${RELEASE_VERSION}.tar.gz" ) ]]; then
|
||||
echo "Building on Linux x64 because we have no REH archive"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_REH="no"
|
||||
fi
|
||||
|
||||
if [[ "${CHECK_REH}" != "no" && -z $( contains "${APP_NAME_LC}-reh-web-linux-x64-${RELEASE_VERSION}.tar.gz" ) ]]; then
|
||||
echo "Building on Linux x64 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 x64 builds"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
elif [[ "${OS_NAME}" == "alpine" ]]; then
|
||||
|
||||
if [[ "${CHECK_ONLY_REH}" == "yes" ]]; then
|
||||
if [[ -z $( contains "${APP_NAME_LC}-reh-alpine-${VSCODE_ARCH}-${RELEASE_VERSION}.tar.gz" ) ]]; then
|
||||
echo "Building on Alpine ${VSCODE_ARCH} because we have no REH archive"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
echo "Already have the Alpine REH ${VSCODE_ARCH} archive"
|
||||
export SHOULD_BUILD_REH="no"
|
||||
fi
|
||||
|
||||
if [[ "${SHOULD_BUILD}" != "yes" ]]; then
|
||||
echo "Already have all the Linux x64 builds"
|
||||
if [[ -z $( contains "${APP_NAME_LC}-reh-web-alpine-${VSCODE_ARCH}-${RELEASE_VERSION}.tar.gz" ) ]]; then
|
||||
echo "Building on Alpine ${VSCODE_ARCH} because we have no REH-web archive"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
echo "Already have the Alpine REH-web ${VSCODE_ARCH} archive"
|
||||
export SHOULD_BUILD_REH_WEB="no"
|
||||
fi
|
||||
else
|
||||
|
||||
# alpine-arm64
|
||||
if [[ "${VSCODE_ARCH}" == "arm64" || "${CHECK_ALL}" == "yes" ]]; then
|
||||
if [[ "${CHECK_REH}" != "no" && -z $( contains "${APP_NAME_LC}-reh-alpine-arm64-${RELEASE_VERSION}.tar.gz" ) ]]; then
|
||||
echo "Building on Alpine arm64 because we have no REH archive"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_REH="no"
|
||||
fi
|
||||
|
||||
if [[ "${CHECK_REH}" != "no" && -z $( contains "${APP_NAME_LC}-reh-web-alpine-arm64-${RELEASE_VERSION}.tar.gz" ) ]]; then
|
||||
echo "Building on Alpine arm64 because we have no REH-web archive"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_REH_WEB="no"
|
||||
fi
|
||||
fi
|
||||
|
||||
# alpine-x64
|
||||
if [[ "${VSCODE_ARCH}" == "x64" || "${CHECK_ALL}" == "yes" ]]; then
|
||||
if [[ "${CHECK_REH}" != "no" && -z $( contains "${APP_NAME_LC}-reh-alpine-x64-${RELEASE_VERSION}.tar.gz" ) ]]; then
|
||||
echo "Building on Alpine x64 because we have no REH archive"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_REH="no"
|
||||
fi
|
||||
|
||||
if [[ "${CHECK_REH}" != "no" && -z $( contains "${APP_NAME_LC}-reh-web-alpine-x64-${RELEASE_VERSION}.tar.gz" ) ]]; then
|
||||
echo "Building on Alpine x64 because we have no REH-web archive"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_REH_WEB="no"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
else
|
||||
if [[ "${OS_NAME}" == "linux" ]]; then
|
||||
if [[ "${IS_SPEARHEAD}" == "yes" ]]; then
|
||||
export SHOULD_BUILD_SRC="yes"
|
||||
elif [[ "${OS_NAME}" == "linux" ]]; then
|
||||
if [[ "${VSCODE_ARCH}" == "ppc64le" ]]; then
|
||||
SHOULD_BUILD_DEB="no"
|
||||
SHOULD_BUILD_APPIMAGE="no"
|
||||
SHOULD_BUILD_RPM="no"
|
||||
SHOULD_BUILD_TAR="no"
|
||||
elif [[ "${VSCODE_ARCH}" != "x64" ]]; then
|
||||
export SHOULD_BUILD_APPIMAGE="no"
|
||||
elif [[ "${VSCODE_ARCH}" == "riscv64" ]]; then
|
||||
SHOULD_BUILD_DEB="no"
|
||||
SHOULD_BUILD_RPM="no"
|
||||
fi
|
||||
elif [[ "${OS_NAME}" == "osx" ]]; then
|
||||
if [[ "${VSCODE_ARCH}" == "arm64" ]]; then
|
||||
export SHOULD_BUILD_SRC="yes"
|
||||
if [[ "${VSCODE_ARCH}" != "x64" || "${DISABLE_APPIMAGE}" == "yes" ]]; then
|
||||
export SHOULD_BUILD_APPIMAGE="no"
|
||||
fi
|
||||
elif [[ "${OS_NAME}" == "windows" ]]; then
|
||||
if [[ "${VSCODE_ARCH}" == "arm64" ]]; then
|
||||
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
|
||||
|
||||
@@ -377,6 +573,7 @@ echo "SHOULD_BUILD_EXE_USR=${SHOULD_BUILD_EXE_USR}" >> "${GITHUB_ENV}"
|
||||
echo "SHOULD_BUILD_MSI=${SHOULD_BUILD_MSI}" >> "${GITHUB_ENV}"
|
||||
echo "SHOULD_BUILD_MSI_NOUP=${SHOULD_BUILD_MSI_NOUP}" >> "${GITHUB_ENV}"
|
||||
echo "SHOULD_BUILD_REH=${SHOULD_BUILD_REH}" >> "${GITHUB_ENV}"
|
||||
echo "SHOULD_BUILD_REH_WEB=${SHOULD_BUILD_REH_WEB}" >> "${GITHUB_ENV}"
|
||||
echo "SHOULD_BUILD_RPM=${SHOULD_BUILD_RPM}" >> "${GITHUB_ENV}"
|
||||
echo "SHOULD_BUILD_TAR=${SHOULD_BUILD_TAR}" >> "${GITHUB_ENV}"
|
||||
echo "SHOULD_BUILD_ZIP=${SHOULD_BUILD_ZIP}" >> "${GITHUB_ENV}"
|
||||
|
||||
17
docs/accounts-authentication.md
Normal file
17
docs/accounts-authentication.md
Normal file
@@ -0,0 +1,17 @@
|
||||
# Accounts authentication
|
||||
|
||||
## GitHub
|
||||
|
||||
The GitHub authentication has been patched to use personal access tokens.
|
||||
|
||||
Here is how to create a new personal access token: https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token
|
||||
|
||||
## Microsoft
|
||||
|
||||
The Microsoft authentication hasn't been patched so its status is unknown.
|
||||
|
||||
## When does it happen?
|
||||
|
||||
An account authentication occurs only when an extension is asking for it.
|
||||
|
||||
For `GitLens`, since the `12 non-plus` version, it won't ask for any new authentication.
|
||||
29
docs/extensions-compatibility.md
Normal file
29
docs/extensions-compatibility.md
Normal file
@@ -0,0 +1,29 @@
|
||||
# Extensions compatibility
|
||||
|
||||
## Partial Compatibility
|
||||
|
||||
- [Python](https://marketplace.visualstudio.com/items?itemName=ms-python.python)
|
||||
> [Since May 2021](https://devblogs.microsoft.com/python/python-in-visual-studio-code-may-2021-release/), Python is using a closed source language server ([Pylance](https://marketplace.visualstudio.com/items?itemName=ms-python.vscode-pylance))
|
||||
|
||||
## Incompatibility
|
||||
|
||||
- [LaTeX Workshop](https://marketplace.visualstudio.com/items?itemName=James-Yu.latex-workshop)
|
||||
> It's officially unsupported: https://github.com/James-Yu/LaTeX-Workshop/wiki/FAQ#vscodium-is-not-officially-supported
|
||||
|
||||
## Incompatibility due to licensing
|
||||
|
||||
The following extensions are not compatible with VSCodium due to their licensing:
|
||||
|
||||
- [Live Share](https://marketplace.visualstudio.com/items?itemName=MS-vsliveshare.vsliveshare)
|
||||
- [Remote - Containers](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-containers)
|
||||
- [Remote - SSH](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-ssh)
|
||||
- [Remote - SSH: Editing Configuration Files](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-ssh-edit)
|
||||
- [Remote - WSL](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-wsl)
|
||||
|
||||
## Replacements
|
||||
|
||||
The following extensions are functional replacements for incompatible extensions:
|
||||
|
||||
- [Open Remote - SSH](https://open-vsx.org/extension/jeanp413/open-remote-ssh)
|
||||
- [Open Remote - WSL](https://open-vsx.org/extension/jeanp413/open-remote-wsl)
|
||||
- [BasedPyright](https://open-vsx.org/extension/detachhead/basedpyright) (open-source alternative to Pylance)
|
||||
@@ -1,4 +1,4 @@
|
||||
# Build
|
||||
# How to build VSCodium
|
||||
|
||||
## Table of Contents
|
||||
|
||||
@@ -7,9 +7,6 @@
|
||||
- [MacOS](#dependencies-macos)
|
||||
- [Windows](#dependencies-windows)
|
||||
- [Build Scripts](#build-scripts)
|
||||
- [Build in Docker](#build-docker)
|
||||
- [X64](#build-docker-x64)
|
||||
- [ARM 32bits](#build-docker-arm32)
|
||||
- [Build Snap](#build-snap)
|
||||
- [Patch Update Process](#patch-update-process)
|
||||
- [Semi-Automated](#patch-update-process-semiauto)
|
||||
@@ -17,31 +14,32 @@
|
||||
|
||||
## <a id="dependencies"></a>Dependencies
|
||||
|
||||
- node 16
|
||||
- node 20.14
|
||||
- yarn
|
||||
- jq
|
||||
- git
|
||||
- python3 3.11
|
||||
|
||||
### <a id="dependencies-linux"></a>Linux
|
||||
|
||||
- GCC
|
||||
- gcc
|
||||
- g++
|
||||
- make
|
||||
- pkg-config
|
||||
- libx11-dev
|
||||
- libxkbfile-dev
|
||||
- libsecret-1-dev
|
||||
- libkrb5-dev
|
||||
- fakeroot
|
||||
- rpm
|
||||
- rpmbuild
|
||||
- dpkg
|
||||
- python3
|
||||
- imagemagick (for AppImage)
|
||||
- snapcraft
|
||||
|
||||
### <a id="dependencies-macos"></a>MacOS
|
||||
- imagemagick
|
||||
- png2icns (`npm install png2icns -g`)
|
||||
- librsvg
|
||||
|
||||
see [the common dependencies](#dependencies)
|
||||
|
||||
### <a id="dependencies-windows"></a>Windows
|
||||
|
||||
@@ -49,8 +47,7 @@
|
||||
- sed
|
||||
- 7z
|
||||
- [WiX Toolset](http://wixtoolset.org/releases/)
|
||||
- python3
|
||||
- 'Tools for Native Modules' from official Node.js installer
|
||||
- 'Tools for Native Modules' from the official Node.js installer
|
||||
|
||||
## <a id="build-scripts"></a>Build Scripts
|
||||
|
||||
@@ -64,50 +61,17 @@ A build helper script can be found at `build/build.sh`.
|
||||
|
||||
The `insider` version can be built with `./build/build.sh -i` on the `insider` branch.
|
||||
|
||||
You can try the lastest version with the command `./build/build.sh -il` but the patches might not be up to date.
|
||||
You can try the latest version with the command `./build/build.sh -il` but the patches might not be up to date.
|
||||
|
||||
## <a id="build-docker"></a>Build in Docker
|
||||
### Flags
|
||||
|
||||
To build for Linux, you can alternatively build VSCodium in docker
|
||||
The script `build/build.sh` provides several flags:
|
||||
|
||||
### <a id="build-docker-x64"></a>X64
|
||||
|
||||
Firstly, create the container with:
|
||||
```
|
||||
docker run -ti --volume=<local vscodium source>:/root/vscodium --name=vscodium-build-agent vscodium/vscodium-linux-build-agent:bionic-x64 bash
|
||||
```
|
||||
like
|
||||
```
|
||||
docker run -ti --volume=$(pwd):/root/vscodium --name=vscodium-build-agent vscodium/vscodium-linux-build-agent:bionic-x64 bash
|
||||
```
|
||||
|
||||
When inside the container, you can use the following commands to build:
|
||||
```
|
||||
cd /root/vscodium
|
||||
|
||||
./build/build.sh
|
||||
```
|
||||
|
||||
### <a id="build-docker-arm32"></a>ARM 32bits
|
||||
|
||||
Firstly, create the container with:
|
||||
```
|
||||
docker run -ti --volume=<local vscodium source>:/root/vscodium --name=vscodium-build-agent vscodium/vscodium-linux-build-agent:bionic-armhf bash
|
||||
```
|
||||
like
|
||||
```
|
||||
docker run -ti --volume=$(pwd):/root/vscodium --name=vscodium-build-agent vscodium/vscodium-linux-build-agent:bionic-armhf bash
|
||||
```
|
||||
|
||||
When inside the container, you can use the following commands to build:
|
||||
```
|
||||
curl -fsSL https://deb.nodesource.com/setup_16.x | sudo -E bash -
|
||||
sudo apt-get install -y nodejs desktop-file-utils
|
||||
|
||||
cd /root/vscodium
|
||||
|
||||
./build/build.sh
|
||||
```
|
||||
- `-i`: build the Insiders version
|
||||
- `-l`: build with latest version of Visual Studio Code
|
||||
- `-o`: skip the build step
|
||||
- `-p`: generate the packages/assets/installers
|
||||
- `-s`: do not retrieve the source code of Visual Studio Code, it won't delete the existing build
|
||||
|
||||
## <a id="build-snap"></a>Build Snap
|
||||
|
||||
@@ -131,10 +95,10 @@ review-tools.snap-review --allow-classic codium*.snap
|
||||
|
||||
- run `./build/build_<os>.sh`, if a patch is failing then,
|
||||
- run `./build/update_patches.sh`
|
||||
- when the script pause at `Press any key when the conflict have been resolved...`, open `vscode` directory in **VSCodium**
|
||||
- when the script pauses at `Press any key when the conflict have been resolved...`, open `vscode` directory in **VSCodium**
|
||||
- fix all the `*.rej` files
|
||||
- run `yarn watch`
|
||||
- run `./script/code.sh` until everything ok
|
||||
- run `./script/code.sh` until everything is ok
|
||||
- press any key to continue the script `update_patches.sh`
|
||||
|
||||
## <a id="patch-update-process-manual"></a>Manual
|
||||
@@ -145,5 +109,13 @@ review-tools.snap-review --allow-classic codium*.snap
|
||||
- run `git apply --reject ../patches/<name>.patch`
|
||||
- fix all the `*.rej` files
|
||||
- run `yarn watch`
|
||||
- run `./script/code.sh` until everything ok
|
||||
- run `./script/code.sh` until everything is ok
|
||||
- run `git diff > ../patches/<name>.patch`
|
||||
|
||||
### <a id="icons"></a>icons/build_icons.sh
|
||||
|
||||
To run `icons/build_icons.sh`, you will need:
|
||||
|
||||
- imagemagick
|
||||
- png2icns (`npm install png2icns -g`)
|
||||
- librsvg
|
||||
@@ -10,14 +10,18 @@
|
||||
- [How to self host your own VS Code Marketplace](#howto-selfhost-marketplace)
|
||||
- [Proprietary Debugging Tools](#proprietary-debugging-tools)
|
||||
- [Proprietary Extensions](#proprietary-extensions)
|
||||
- [Extensions compatibility](https://github.com/VSCodium/vscodium/blob/master/docs/extensions-compatibility.md)
|
||||
- [Migrating from Visual Studio Code to VSCodium](#migrating)
|
||||
- [Sign in with GitHub](#signin-github)
|
||||
- [Accounts authentication](https://github.com/VSCodium/vscodium/blob/master/docs/accounts-authentication.md)
|
||||
- [How do I run VSCodium in portable mode?](#portable)
|
||||
- [How do I fix the default file manager?](#file-manager)
|
||||
- [How do I press and hold a key and have it repeat in VSCodium?](#press-and-hold)
|
||||
- [How do I open VSCodium from the terminal?](#terminal-support)
|
||||
- [From Linux .tar.gz](#from-linux-targz)
|
||||
- [How to build VSCodium](https://github.com/VSCodium/vscodium/blob/master/docs/build.md)
|
||||
- [Troubleshooting](https://github.com/VSCodium/vscodium/blob/master/docs/troubleshooting.md)
|
||||
- [Contributing](https://github.com/VSCodium/vscodium/blob/master/CONTRIBUTING.md)
|
||||
- [How to build VSCodium](https://github.com/VSCodium/vscodium/blob/master/docs/howto-build.md)
|
||||
|
||||
## <a id="disable-telemetry"></a>Getting all the Telemetry Out
|
||||
|
||||
@@ -56,7 +60,7 @@ By default, the `product.json` file is set up to use [open-vsx.org](https://open
|
||||
|
||||
### <a id="howto-openvsx-marketplace"></a>How to use the Open VSX Registry
|
||||
|
||||
As noted above, the [Open VSX Registry](https://open-vsx.org/) is the pre-set extension gallery in VSCodium. Using the extension view in VSCodium will therefore by default use it.
|
||||
As noted above, the [Open VSX Registry](https://open-vsx.org/) is the pre-set extension gallery in VSCodium. Using the extension view in VSCodium will therefore by default use it.
|
||||
See [this article](https://www.gitpod.io/blog/open-vsx/) for more information on the motivation behind Open VSX.
|
||||
|
||||
### <a id="howto-switch-marketplace"></a>How to use a different extension gallery
|
||||
@@ -92,11 +96,11 @@ 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. 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.
|
||||
|
||||
There are likely other options, but the following were reported to work:
|
||||
|
||||
* [Open VSX](https://github.com/eclipse/openvsx) eclipse open-source project
|
||||
* [Open VSX](https://github.com/eclipse/openvsx) eclipse open-source project
|
||||
While the public instance which is run by the Eclipse Foundation is the pre-set endpoint in VSCodium, you can host your own instance.
|
||||
|
||||
> Open VSX is a [vendor-neutral](https://projects.eclipse.org/projects/ecd.openvsx) open-source alternative to the [Visual Studio Marketplace](https://marketplace.visualstudio.com/vscode). It provides a server application that manages [VS Code extensions](https://code.visualstudio.com/api) in a database, a web application similar to the VS Code Marketplace, and a command-line tool for publishing extensions similar to [vsce](https://code.visualstudio.com/api/working-with-extensions/publishing-extension#vsce).
|
||||
@@ -107,7 +111,7 @@ There are likely other options, but the following were reported to work:
|
||||
|
||||
### <a id="howto-vscode-marketplace"></a>How to use the VS Code Marketplace
|
||||
|
||||
As with any online service, ensure you've understood [its terms of use](https://aka.ms/vsmarketplace-ToU).
|
||||
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).
|
||||
@@ -160,7 +164,7 @@ To copy your settings manually:
|
||||
|
||||
In VSCodium, `Sign in with GitHub` is using a Personal Access Token.<br />
|
||||
Follow the documentation https://docs.github.com/en/github/authenticating-to-github/creating-a-personal-access-token to create your token.<br />
|
||||
Select the scopes dependending of the extension which need access to GitHub. (GitLens requires the `repo` scope.)
|
||||
Select the scopes dependending on the extension which needs access to GitHub. (GitLens requires the `repo` scope.)
|
||||
|
||||
### Linux
|
||||
|
||||
@@ -173,7 +177,7 @@ You can follow the [Portable Mode instructions](https://code.visualstudio.com/do
|
||||
|
||||
## <a id="file-manager"></a>How do I fix the default file manager (Linux)?
|
||||
|
||||
In some case, VSCodium becomes the file manager used to open directories (instead of apps like Dolphin or Nautilus).<br />
|
||||
In some cases, VSCodium becomes the file manager used to open directories (instead of apps like Dolphin or Nautilus).<br />
|
||||
It's due to that no application was defined as the default file manager and so the system is using the latest capable application.
|
||||
|
||||
To set the default app, create the file `~/.config/mimeapps.list` with the content like:
|
||||
@@ -198,7 +202,7 @@ $ defaults write com.vscodium ApplePressAndHoldEnabled -bool false
|
||||
|
||||
## <a id="terminal-support"></a>How do I open VSCodium from the terminal?
|
||||
|
||||
For MacOS and Windows:
|
||||
For macOS and Windows:
|
||||
- Go to the command palette (View | Command Palette...)
|
||||
- Choose `Shell command: Install 'codium' command in PATH`.
|
||||
|
||||
81
docs/troubleshooting.md
Normal file
81
docs/troubleshooting.md
Normal file
@@ -0,0 +1,81 @@
|
||||
# Troubleshooting
|
||||
|
||||
## Table of Contents
|
||||
|
||||
- [Linux](#linux)
|
||||
- [Fonts showing up as rectangles](#linux-fonts-rectangle)
|
||||
- [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)
|
||||
- [macOS](#macos)
|
||||
- [App can't be opened because Apple cannot check it for malicious software](#macos-unidentified-developer)
|
||||
- ["VSCodium.app" is damaged and can’t be opened. You should move it to the Bin](#macos-quarantine)
|
||||
|
||||
|
||||
## <a id="linux"></a>Linux
|
||||
|
||||
#### <a id="linux-fonts-rectangle"></a>*Fonts showing up as rectangles*
|
||||
|
||||
The following command should help:
|
||||
|
||||
```
|
||||
rm -rf ~/.cache/fontconfig
|
||||
rm -rf ~/snap/codium/common/.cache
|
||||
fc-cache -r
|
||||
```
|
||||
|
||||
#### <a id="linux-kde-global-menu"></a>*Global menu workaround for KDE*
|
||||
|
||||
Install these packages on Fedora:
|
||||
|
||||
* libdbusmenu-devel
|
||||
* dbus-glib-devel
|
||||
* libdbusmenu
|
||||
|
||||
On Ubuntu this package is called `libdbusmenu-glib4`.
|
||||
|
||||
Credits: [Gerson](https://gitlab.com/paulcarroty/vscodium-deb-rpm-repo/-/issues/91)
|
||||
|
||||
#### <a id="linux-flatpak-most-common-issues"></a>*Flatpak most common issues*
|
||||
|
||||
- blurry screen with HiDPI on wayland run:
|
||||
```bash
|
||||
flatpak override --user --nosocket=wayland com.vscodium.codium
|
||||
```
|
||||
- To execute commands on the host system, run inside the sandbox
|
||||
```bash
|
||||
flatpak-spawn --host <COMMAND>
|
||||
# or
|
||||
host-spawn <COMMAND>
|
||||
```
|
||||
- Where is my X extension? AKA modify product.json
|
||||
TL;DR: use https://open-vsx.org/extension/zokugun/vsix-manager
|
||||
|
||||
- SDKs
|
||||
see [this](https://github.com/flathub/com.vscodium.codium?tab=readme-ov-file#sdks)
|
||||
|
||||
- If you have any other problems with the flatpak package try to look on the [FAQ](https://github.com/flathub/com.vscodium.codium?tab=readme-ov-file#faq) maybe the solution is already there or open an [issue](https://github.com/flathub/com.vscodium.codium/issues).
|
||||
|
||||
##### <a id="linux-remote-ssh"></a>*Remote SSH doesn't work*
|
||||
|
||||
Use the VSCodium's compatible extension [Open Remote - SSH](https://open-vsx.org/extension/jeanp413/open-remote-ssh).
|
||||
|
||||
On the server, in the `sshd` config, `AllowTcpForwarding` need to be set to `yes`.
|
||||
|
||||
It might requires additional dependeincies due to the OS/distro (alpine).
|
||||
|
||||
## <a id="macos"></a>macOS
|
||||
|
||||
Since the App is signed with a self-signed certificate, on the first launch, you might see the following messages:
|
||||
|
||||
#### <a id="macos-unidentified-developer"></a>*App can't be opened because Apple cannot check it for malicious software*
|
||||
|
||||
You can right-click the App and choose `Open`.
|
||||
|
||||
#### <a id="macos-quarantine"></a>*"VSCodium.app" is damaged and can’t be opened. You should move it to the Bin.*
|
||||
|
||||
The following command will remove the quarantine attribute.
|
||||
|
||||
```
|
||||
xattr -r -d com.apple.quarantine /Applications/VSCodium.app
|
||||
```
|
||||
8
electron.riscv64.sh
Executable file
8
electron.riscv64.sh
Executable file
@@ -0,0 +1,8 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -ex
|
||||
|
||||
export ELECTRON_VERSION="32.2.1"
|
||||
export VSCODE_ELECTRON_TAG="v${ELECTRON_VERSION}.riscv1"
|
||||
|
||||
echo "03b1b478ab7b9d40da5c47edef0bbeeb528a8bed5335018ff38e513b7df43c7f *electron-v${ELECTRON_VERSION}-linux-riscv64.zip" >> build/checksums/electron.txt
|
||||
19
get_pr.sh
Executable file
19
get_pr.sh
Executable file
@@ -0,0 +1,19 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -e
|
||||
|
||||
# git workaround
|
||||
if [[ "${CI_BUILD}" != "no" ]]; then
|
||||
git config --global --add safe.directory "/__w/$( echo "${GITHUB_REPOSITORY}" | awk '{print tolower($0)}' )"
|
||||
fi
|
||||
|
||||
if [[ -n "${PULL_REQUEST_ID}" ]]; then
|
||||
BRANCH_NAME=$( git rev-parse --abbrev-ref HEAD )
|
||||
|
||||
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 fetch --unshallow
|
||||
git fetch origin "pull/${PULL_REQUEST_ID}/head"
|
||||
git checkout FETCH_HEAD
|
||||
git merge --no-edit "origin/${BRANCH_NAME}"
|
||||
fi
|
||||
36
get_repo.sh
36
get_repo.sh
@@ -9,15 +9,13 @@ if [[ "${CI_BUILD}" != "no" ]]; then
|
||||
fi
|
||||
|
||||
if [[ -z "${RELEASE_VERSION}" ]]; then
|
||||
if [[ "${VSCODE_QUALITY}" == "insider" ]]; then
|
||||
if [[ "${VSCODE_LATEST}" == "yes" ]] || [[ ! -f "insider.json" ]]; then
|
||||
UPDATE_INFO=$( curl --silent --fail https://update.code.visualstudio.com/api/update/darwin/insider/0000000000000000000000000000000000000000 )
|
||||
else
|
||||
MS_COMMIT=$( jq -r '.commit' insider.json )
|
||||
MS_TAG=$( jq -r '.tag' insider.json )
|
||||
fi
|
||||
if [[ "${VSCODE_LATEST}" == "yes" ]] || [[ ! -f "${VSCODE_QUALITY}.json" ]]; then
|
||||
echo "Retrieve lastest version"
|
||||
UPDATE_INFO=$( curl --silent --fail "https://update.code.visualstudio.com/api/update/darwin/${VSCODE_QUALITY}/0000000000000000000000000000000000000000" )
|
||||
else
|
||||
UPDATE_INFO=$( curl --silent --fail https://update.code.visualstudio.com/api/update/darwin/stable/0000000000000000000000000000000000000000 )
|
||||
echo "Get version from ${VSCODE_QUALITY}.json"
|
||||
MS_COMMIT=$( jq -r '.commit' "${VSCODE_QUALITY}.json" )
|
||||
MS_TAG=$( jq -r '.tag' "${VSCODE_QUALITY}.json" )
|
||||
fi
|
||||
|
||||
if [[ -z "${MS_COMMIT}" ]]; then
|
||||
@@ -45,13 +43,6 @@ else
|
||||
echo "Error: Bad RELEASE_VERSION: ${RELEASE_VERSION}"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [[ "${MS_TAG}" == "$( jq -r '.tag' insider.json )" ]]; then
|
||||
MS_COMMIT=$( jq -r '.commit' insider.json )
|
||||
else
|
||||
echo "Error: No MS_COMMIT for ${RELEASE_VERSION}"
|
||||
exit 1
|
||||
fi
|
||||
else
|
||||
if [[ "${RELEASE_VERSION}" =~ ^([0-9]+\.[0-9]+\.[0-9]+)\.[0-9]+$ ]];
|
||||
then
|
||||
@@ -61,6 +52,13 @@ else
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ "${MS_TAG}" == "$( jq -r '.tag' "${VSCODE_QUALITY}".json )" ]]; then
|
||||
MS_COMMIT=$( jq -r '.commit' "${VSCODE_QUALITY}".json )
|
||||
else
|
||||
echo "Error: No MS_COMMIT for ${RELEASE_VERSION}"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
echo "RELEASE_VERSION=\"${RELEASE_VERSION}\""
|
||||
@@ -73,11 +71,7 @@ git remote add origin https://github.com/Microsoft/vscode.git
|
||||
|
||||
# figure out latest tag by calling MS update API
|
||||
if [[ -z "${MS_TAG}" ]]; then
|
||||
if [[ "${VSCODE_QUALITY}" == "insider" ]]; then
|
||||
UPDATE_INFO=$( curl --silent --fail https://update.code.visualstudio.com/api/update/darwin/insider/0000000000000000000000000000000000000000 )
|
||||
else
|
||||
UPDATE_INFO=$( curl --silent --fail https://update.code.visualstudio.com/api/update/darwin/stable/0000000000000000000000000000000000000000 )
|
||||
fi
|
||||
UPDATE_INFO=$( curl --silent --fail "https://update.code.visualstudio.com/api/update/darwin/${VSCODE_QUALITY}/0000000000000000000000000000000000000000" )
|
||||
MS_COMMIT=$( echo "${UPDATE_INFO}" | jq -r '.version' )
|
||||
MS_TAG=$( echo "${UPDATE_INFO}" | jq -r '.name' )
|
||||
elif [[ -z "${MS_COMMIT}" ]]; then
|
||||
@@ -112,4 +106,4 @@ fi
|
||||
|
||||
export MS_TAG
|
||||
export MS_COMMIT
|
||||
export RELEASE_VERSION
|
||||
export RELEASE_VERSION
|
||||
|
||||
@@ -1 +1,4 @@
|
||||
|
||||
{
|
||||
"tag": "1.95.0",
|
||||
"commit": "912bb683695358a54ae0c670461738984cbb5b95"
|
||||
}
|
||||
|
||||
@@ -1,11 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -e
|
||||
|
||||
cd vscode || { echo "'vscode' dir not found"; exit 1; }
|
||||
|
||||
yarn --cwd remote --frozen-lockfile --check-files
|
||||
|
||||
cd ..
|
||||
|
||||
tar -cf remote-dependencies.tar ./vscode/remote/node_modules
|
||||
5
macos-codesign.env.template
Normal file
5
macos-codesign.env.template
Normal file
@@ -0,0 +1,5 @@
|
||||
CERTIFICATE_OSX_APP_PASSWORD=
|
||||
CERTIFICATE_OSX_ID=
|
||||
CERTIFICATE_OSX_P12_DATA=
|
||||
CERTIFICATE_OSX_P12_PASSWORD=
|
||||
CERTIFICATE_OSX_TEAM_ID=
|
||||
84
package_alpine_reh.sh
Executable file
84
package_alpine_reh.sh
Executable file
@@ -0,0 +1,84 @@
|
||||
#!/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; }
|
||||
|
||||
export VSCODE_PLATFORM='alpine'
|
||||
export VSCODE_SKIP_NODE_VERSION_CHECK=1
|
||||
|
||||
VSCODE_HOST_MOUNT="$( pwd )"
|
||||
VSCODE_REMOTE_DEPENDENCIES_CONTAINER_NAME="vscodium/vscodium-linux-build-agent:alpine-${VSCODE_ARCH}"
|
||||
|
||||
export VSCODE_HOST_MOUNT VSCODE_REMOTE_DEPENDENCIES_CONTAINER_NAME
|
||||
|
||||
if [[ -d "../patches/alpine/reh/" ]]; then
|
||||
for file in "../patches/alpine/reh/"*.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
|
||||
|
||||
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..."
|
||||
done
|
||||
|
||||
node build/azure-pipelines/distro/mixin-npm
|
||||
|
||||
yarn gulp minify-vscode-reh
|
||||
|
||||
if [[ "${VSCODE_ARCH}" == "x64" ]]; then
|
||||
PA_NAME="linux-alpine"
|
||||
else
|
||||
PA_NAME="alpine-arm64"
|
||||
fi
|
||||
|
||||
yarn gulp "vscode-reh-${PA_NAME}-min-ci"
|
||||
|
||||
cd ..
|
||||
|
||||
APP_NAME_LC="$( echo "${APP_NAME}" | awk '{print tolower($0)}' )"
|
||||
|
||||
mkdir -p assets
|
||||
|
||||
echo "Building and moving REH"
|
||||
cd "vscode-reh-${PA_NAME}"
|
||||
tar czf "../assets/${APP_NAME_LC}-reh-${VSCODE_PLATFORM}-${VSCODE_ARCH}-${RELEASE_VERSION}.tar.gz" .
|
||||
cd ..
|
||||
|
||||
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 ..
|
||||
82
package_linux_bin.sh
Executable file
82
package_linux_bin.sh
Executable file
@@ -0,0 +1,82 @@
|
||||
#!/usr/bin/env bash
|
||||
# shellcheck disable=SC1091
|
||||
|
||||
set -ex
|
||||
|
||||
if [[ "${CI_BUILD}" == "no" ]]; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
tar -xzf ./vscode.tar.gz
|
||||
|
||||
chown -R root:root vscode
|
||||
|
||||
cd vscode || { echo "'vscode' dir not found"; exit 1; }
|
||||
|
||||
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'
|
||||
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 ELECTRON_SKIP_BINARY_DOWNLOAD=1
|
||||
export PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD=1
|
||||
|
||||
source ../electron.riscv64.sh
|
||||
|
||||
if [[ "${ELECTRON_VERSION}" != "$(yarn config get target)" ]]; then
|
||||
# Fail the pipeline if electron target doesn't match what is used.
|
||||
echo "Electron RISC-V binary version doesn't match target electron version!"
|
||||
echo "Releases available at: https://github.com/${VSCODE_ELECTRON_REPO}/releases"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ -d "../patches/linux/client/" ]]; then
|
||||
for file in "../patches/linux/client/"*.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
|
||||
|
||||
for i in {1..5}; do # try 5 times
|
||||
npm ci --prefix build && break
|
||||
if [[ $i == 3 ]]; then
|
||||
echo "Npm install failed too many times" >&2
|
||||
exit 1
|
||||
fi
|
||||
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
|
||||
fi
|
||||
|
||||
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
|
||||
|
||||
yarn gulp "vscode-linux-${VSCODE_ARCH}-min-ci"
|
||||
|
||||
find "../VSCode-linux-${VSCODE_ARCH}" -print0 | xargs -0 touch -c
|
||||
|
||||
cd ..
|
||||
172
package_linux_reh.sh
Executable file
172
package_linux_reh.sh
Executable file
@@ -0,0 +1,172 @@
|
||||
#!/usr/bin/env bash
|
||||
# shellcheck disable=SC1091
|
||||
|
||||
set -ex
|
||||
|
||||
if [[ "${CI_BUILD}" == "no" ]]; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
APP_NAME_LC="$( echo "${APP_NAME}" | awk '{print tolower($0)}' )"
|
||||
|
||||
mkdir -p assets
|
||||
|
||||
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"
|
||||
|
||||
if [[ "${VSCODE_ARCH}" == "ppc64le" ]]; then
|
||||
GLIBC_VERSION="2.28"
|
||||
elif [[ "${VSCODE_ARCH}" == "riscv64" ]]; then
|
||||
# Unofficial RISC-V nodejs builds doesn't provide v16.x
|
||||
# Node 18 is buggy so use 20 here for now: https://github.com/VSCodium/vscodium/issues/2060
|
||||
NODE_VERSION="20.16.0"
|
||||
fi
|
||||
|
||||
export VSCODE_PLATFORM='linux'
|
||||
export VSCODE_SKIP_NODE_VERSION_CHECK=1
|
||||
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
|
||||
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 [[ "${VSCODE_ARCH}" == "ppc64le" ]]; 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
|
||||
echo "Npm install failed too many times" >&2
|
||||
exit 1
|
||||
fi
|
||||
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
|
||||
fi
|
||||
|
||||
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..."
|
||||
done
|
||||
|
||||
node build/azure-pipelines/distro/mixin-npm
|
||||
|
||||
export VSCODE_NODE_GLIBC="-glibc-${GLIBC_VERSION}"
|
||||
|
||||
if [[ "${SHOULD_BUILD_REH}" != "no" ]]; then
|
||||
echo "Building REH"
|
||||
yarn gulp minify-vscode-reh
|
||||
yarn gulp "vscode-reh-${VSCODE_PLATFORM}-${VSCODE_ARCH}-min-ci"
|
||||
|
||||
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}"
|
||||
tar czf "../assets/${APP_NAME_LC}-reh-${VSCODE_PLATFORM}-${VSCODE_ARCH}-${RELEASE_VERSION}.tar.gz" .
|
||||
popd
|
||||
fi
|
||||
|
||||
if [[ "${SHOULD_BUILD_REH_WEB}" != "no" ]]; then
|
||||
echo "Building REH-web"
|
||||
yarn gulp minify-vscode-reh-web
|
||||
yarn gulp "vscode-reh-web-${VSCODE_PLATFORM}-${VSCODE_ARCH}-min-ci"
|
||||
|
||||
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}"
|
||||
tar czf "../assets/${APP_NAME_LC}-reh-web-${VSCODE_PLATFORM}-${VSCODE_ARCH}-${RELEASE_VERSION}.tar.gz" .
|
||||
popd
|
||||
fi
|
||||
|
||||
cd ..
|
||||
|
||||
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 ..
|
||||
43
package_windows.sh
Executable file
43
package_windows.sh
Executable 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 ..
|
||||
23
patches/alpine/reh/fix-node-docker.patch
Normal file
23
patches/alpine/reh/fix-node-docker.patch
Normal file
@@ -0,0 +1,23 @@
|
||||
diff --git a/build/gulpfile.reh.js b/build/gulpfile.reh.js
|
||||
index e12a33e..9300d62 100644
|
||||
--- a/build/gulpfile.reh.js
|
||||
+++ b/build/gulpfile.reh.js
|
||||
@@ -188,5 +188,16 @@ function getNodeChecksum(expectedName) {
|
||||
function extractAlpinefromDocker(nodeVersion, platform, arch) {
|
||||
- const imageName = arch === 'arm64' ? 'arm64v8/node' : 'node';
|
||||
+ let imageName = 'node';
|
||||
+ let dockerPlatform = '';
|
||||
+
|
||||
+ if (arch === 'arm64') {
|
||||
+ imageName = 'arm64v8/node';
|
||||
+
|
||||
+ const architecture = cp.execSync(`docker info --format '{{json .Architecture}}'`, { encoding: 'utf8' }).trim();
|
||||
+ if (architecture != '"aarch64"') {
|
||||
+ dockerPlatform = '--platform=linux/arm64';
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
log(`Downloading node.js ${nodeVersion} ${platform} ${arch} from docker image ${imageName}`);
|
||||
- const contents = cp.execSync(`docker run --rm ${imageName}:${nodeVersion}-alpine /bin/sh -c 'cat \`which node\`'`, { maxBuffer: 100 * 1024 * 1024, encoding: 'buffer' });
|
||||
+ const contents = cp.execSync(`docker run --rm ${dockerPlatform} ${imageName}:${nodeVersion}-alpine /bin/sh -c 'cat \`which node\`'`, { maxBuffer: 100 * 1024 * 1024, encoding: 'buffer' });
|
||||
return es.readArray([new File({ path: 'node', contents, stat: { mode: parseInt('755', 8) } })]);
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,86 +1,79 @@
|
||||
diff --git a/build/gulpfile.reh.js b/build/gulpfile.reh.js
|
||||
index 2a0c236..9fea722 100644
|
||||
index 53ef6f3..411da6b 100644
|
||||
--- a/build/gulpfile.reh.js
|
||||
+++ b/build/gulpfile.reh.js
|
||||
@@ -250,4 +250,5 @@ 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;
|
||||
|
||||
@@ -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 }));
|
||||
+ .pipe(json({ name, version, release, dependencies: undefined, optionalDependencies: undefined }));
|
||||
|
||||
@@ -256,3 +257,3 @@ function packageTask(type, platform, arch, sourceFolderName, destinationFolderNa
|
||||
- .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) {
|
||||
@@ -318,3 +319,3 @@ function packageTask(type, platform, arch, sourceFolderName, destinationFolderNa
|
||||
const productJsonStream = gulp.src(['product.json'], { base: '.' })
|
||||
- .pipe(json({ commit, date, version }));
|
||||
+ .pipe(json({ commit, date, version, release }));
|
||||
|
||||
- .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 0ca2cfd..3fb21d5 100644
|
||||
index d59b42d..61670c0 100644
|
||||
--- a/build/gulpfile.vscode.js
|
||||
+++ b/build/gulpfile.vscode.js
|
||||
@@ -225,3 +225,3 @@ function packageTask(platform, arch, sourceFolderName, destinationFolderName, op
|
||||
@@ -268,3 +268,3 @@ function packageTask(platform, arch, sourceFolderName, destinationFolderName, op
|
||||
|
||||
- let version = packageJson.version;
|
||||
+ let version = packageJson.version
|
||||
const quality = product.quality;
|
||||
@@ -233,3 +233,4 @@ function packageTask(platform, arch, sourceFolderName, destinationFolderName, op
|
||||
@@ -276,3 +276,4 @@ function packageTask(platform, arch, sourceFolderName, destinationFolderName, op
|
||||
const name = product.nameShort;
|
||||
- const packageJsonUpdates = { name, version };
|
||||
+ const release = packageJson.release;
|
||||
+ const packageJsonUpdates = { name, version, release };
|
||||
|
||||
@@ -244,3 +245,3 @@ function packageTask(platform, arch, sourceFolderName, destinationFolderName, op
|
||||
const date = new Date().toISOString();
|
||||
- const productJsonUpdate = { commit, date, checksums, version };
|
||||
+ const productJsonUpdate = { commit, date, checksums, version, release };
|
||||
|
||||
@@ -293,3 +294,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 90f75cc..275c958 100644
|
||||
index fb0e5a4..170c60b 100644
|
||||
--- a/build/gulpfile.vscode.linux.js
|
||||
+++ b/build/gulpfile.vscode.linux.js
|
||||
@@ -25,4 +25,2 @@ const commit = getVersion(root);
|
||||
@@ -27,4 +27,2 @@ const commit = getVersion(root);
|
||||
|
||||
-const linuxPackageRevision = Math.floor(new Date().getTime() / 1000);
|
||||
-
|
||||
/**
|
||||
@@ -88,3 +86,3 @@ function prepareDebPackage(arch) {
|
||||
@@ -89,3 +87,3 @@ function prepareDebPackage(arch) {
|
||||
.pipe(replace('@@NAME@@', product.applicationName))
|
||||
- .pipe(replace('@@VERSION@@', packageJson.version + '-' + linuxPackageRevision))
|
||||
+ .pipe(replace('@@VERSION@@', `${packageJson.version}.${packageJson.release}`))
|
||||
.pipe(replace('@@ARCHITECTURE@@', debArch))
|
||||
@@ -193,4 +191,3 @@ function prepareRpmPackage(arch) {
|
||||
.pipe(replace('@@ICON@@', product.linuxIconName))
|
||||
- .pipe(replace('@@VERSION@@', packageJson.version))
|
||||
- .pipe(replace('@@RELEASE@@', linuxPackageRevision))
|
||||
+ .pipe(replace('@@VERSION@@', `${packageJson.version}.${packageJson.release}`))
|
||||
.pipe(replace('@@ARCHITECTURE@@', rpmArch))
|
||||
@@ -267,3 +264,3 @@ function prepareSnapPackage(arch) {
|
||||
@@ -204,4 +202,3 @@ function prepareRpmPackage(arch) {
|
||||
.pipe(replace('@@ICON@@', product.linuxIconName))
|
||||
- .pipe(replace('@@VERSION@@', packageJson.version))
|
||||
- .pipe(replace('@@RELEASE@@', linuxPackageRevision))
|
||||
+ .pipe(replace('@@VERSION@@', `${packageJson.version}.${packageJson.release}`))
|
||||
.pipe(replace('@@ARCHITECTURE@@', rpmArch))
|
||||
@@ -281,3 +278,3 @@ function prepareSnapPackage(arch) {
|
||||
.pipe(replace('@@NAME@@', product.applicationName))
|
||||
- .pipe(replace('@@VERSION@@', commit.substr(0, 8)))
|
||||
+ .pipe(replace('@@VERSION@@', `${packageJson.version}.${packageJson.release}`))
|
||||
// Possible run-on values https://snapcraft.io/docs/architectures
|
||||
diff --git a/build/gulpfile.vscode.win32.js b/build/gulpfile.vscode.win32.js
|
||||
index 6e9a6f3..9d80b6b 100644
|
||||
index 98175f5..afacbe3 100644
|
||||
--- a/build/gulpfile.vscode.win32.js
|
||||
+++ b/build/gulpfile.vscode.win32.js
|
||||
@@ -94,4 +94,4 @@ function buildWin32Setup(arch, target) {
|
||||
@@ -89,4 +89,4 @@ function buildWin32Setup(arch, target) {
|
||||
DirName: product.win32DirName,
|
||||
- Version: pkg.version,
|
||||
- RawVersion: pkg.version.replace(/-\w+$/, ''),
|
||||
+ Version: `${pkg.version}.${pkg.release}`,
|
||||
+ RawVersion: `${pkg.version.replace(/-\w+$/, '')}.${pkg.release}`,
|
||||
NameVersion: product.win32NameVersion + (target === 'user' ? ' (User)' : ''),
|
||||
diff --git a/resources/linux/rpm/code.spec.template b/resources/linux/rpm/code.spec.template
|
||||
index 06b8549..3af1f45 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@@.el7
|
||||
+Release: el7
|
||||
Summary: Code editing. Redefined.
|
||||
diff --git a/src/vs/base/common/product.ts b/src/vs/base/common/product.ts
|
||||
index ac9cd5d..87b6105 100644
|
||||
index 1f58ce0..1555ae2 100644
|
||||
--- a/src/vs/base/common/product.ts
|
||||
+++ b/src/vs/base/common/product.ts
|
||||
@@ -58,2 +58,3 @@ export interface IProductConfiguration {
|
||||
@@ -88,16 +81,16 @@ index ac9cd5d..87b6105 100644
|
||||
+ readonly release: string;
|
||||
readonly date?: string;
|
||||
diff --git a/src/vs/platform/diagnostics/node/diagnosticsService.ts b/src/vs/platform/diagnostics/node/diagnosticsService.ts
|
||||
index 0be311f..d6c4a18 100644
|
||||
index 5f6efd5..da3c54d 100644
|
||||
--- a/src/vs/platform/diagnostics/node/diagnosticsService.ts
|
||||
+++ b/src/vs/platform/diagnostics/node/diagnosticsService.ts
|
||||
@@ -224,3 +224,3 @@ export class DiagnosticsService implements IDiagnosticsService {
|
||||
@@ -232,3 +232,3 @@ export class DiagnosticsService implements IDiagnosticsService {
|
||||
const output: string[] = [];
|
||||
- output.push(`Version: ${this.productService.nameShort} ${this.productService.version} (${this.productService.commit || 'Commit unknown'}, ${this.productService.date || 'Date unknown'})`);
|
||||
+ 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 51a55e1..26dfe7b 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) {
|
||||
@@ -111,12 +104,12 @@ index 51a55e1..26dfe7b 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 4b320bb..6619c75 100644
|
||||
index 21f62b6..98edd0e 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 'vs/platform/keybinding/common/keybindingResolver';
|
||||
+import { getReleaseString } from 'vs/workbench/common/release';
|
||||
import { ResultKind } from '../../../../platform/keybinding/common/keybindingResolver.js';
|
||||
+import { getReleaseString } from '../../../../workbench/common/release';
|
||||
|
||||
@@ -79,2 +80,4 @@ export class BrowserDialogHandler extends AbstractDialogHandler {
|
||||
const detailString = (useAgo: boolean): string => {
|
||||
@@ -149,18 +142,18 @@ index 0000000..2a8ea57
|
||||
+ return LABELS[language] ?? DEFAULT_LABEL;
|
||||
+}
|
||||
diff --git a/src/vs/workbench/electron-sandbox/parts/dialogs/dialogHandler.ts b/src/vs/workbench/electron-sandbox/parts/dialogs/dialogHandler.ts
|
||||
index 575bde3..f427833 100644
|
||||
index 6c61a59..e76a188 100644
|
||||
--- a/src/vs/workbench/electron-sandbox/parts/dialogs/dialogHandler.ts
|
||||
+++ b/src/vs/workbench/electron-sandbox/parts/dialogs/dialogHandler.ts
|
||||
@@ -14,2 +14,3 @@ import { IProductService } from 'vs/platform/product/common/productService';
|
||||
import { process } from 'vs/base/parts/sandbox/electron-sandbox/globals';
|
||||
+import { getReleaseString } from 'vs/workbench/common/release';
|
||||
@@ -15,2 +15,3 @@ import { process } from '../../../../base/parts/sandbox/electron-sandbox/globals
|
||||
import { getActiveWindow } from '../../../../base/browser/dom.js';
|
||||
+import { getReleaseString } from '../../../../workbench/common/release';
|
||||
|
||||
@@ -77,2 +78,3 @@ export class NativeDialogHandler extends AbstractDialogHandler {
|
||||
@@ -80,2 +81,3 @@ export class NativeDialogHandler extends AbstractDialogHandler {
|
||||
const osProps = await this.nativeHostService.getOSProperties();
|
||||
+ const releaseString = getReleaseString();
|
||||
|
||||
@@ -89,3 +91,3 @@ export class NativeDialogHandler extends AbstractDialogHandler {
|
||||
@@ -93,3 +95,3 @@ export class NativeDialogHandler extends AbstractDialogHandler {
|
||||
`${osProps.type} ${osProps.arch} ${osProps.release}${isLinuxSnap ? ' snap' : ''}`
|
||||
- );
|
||||
+ ).replace('\n', `\n${releaseString} ${this.productService.release || 'Unknown'}\n`);
|
||||
|
||||
@@ -1,13 +1,14 @@
|
||||
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);
|
||||
diff --git a/src/main.ts b/src/main.ts
|
||||
index ff9a5e8..6fb7fd2 100644
|
||||
--- a/src/main.ts
|
||||
+++ b/src/main.ts
|
||||
@@ -467,6 +467,9 @@ function configureCrashReporter(): void {
|
||||
}
|
||||
}
|
||||
+ } else {
|
||||
+ return;
|
||||
}
|
||||
+ else {
|
||||
+ return;
|
||||
+ }
|
||||
}
|
||||
|
||||
// Start crash reporter for all processes
|
||||
|
||||
58
patches/disable-cloud.patch
Normal file
58
patches/disable-cloud.patch
Normal file
@@ -0,0 +1,58 @@
|
||||
diff --git a/src/vs/workbench/contrib/editSessions/browser/editSessionsStorageService.ts b/src/vs/workbench/contrib/editSessions/browser/editSessionsStorageService.ts
|
||||
index 18b5815..51a5d50 100644
|
||||
--- a/src/vs/workbench/contrib/editSessions/browser/editSessionsStorageService.ts
|
||||
+++ b/src/vs/workbench/contrib/editSessions/browser/editSessionsStorageService.ts
|
||||
@@ -7,3 +7,3 @@ import { Disposable, DisposableStore } from '../../../../base/common/lifecycle.j
|
||||
import { localize } from '../../../../nls.js';
|
||||
-import { Action2, MenuId, MenuRegistry, registerAction2 } from '../../../../platform/actions/common/actions.js';
|
||||
+import { Action2, MenuId, registerAction2 } from '../../../../platform/actions/common/actions.js';
|
||||
import { ContextKeyExpr, IContextKey, IContextKeyService } from '../../../../platform/contextkey/common/contextkey.js';
|
||||
@@ -17,3 +17,3 @@ import { AuthenticationSession, AuthenticationSessionsChangeEvent, IAuthenticati
|
||||
import { IExtensionService } from '../../../services/extensions/common/extensions.js';
|
||||
-import { EDIT_SESSIONS_SIGNED_IN, EditSession, EDIT_SESSION_SYNC_CATEGORY, IEditSessionsStorageService, EDIT_SESSIONS_SIGNED_IN_KEY, IEditSessionsLogService, SyncResource, EDIT_SESSIONS_PENDING_KEY } from '../common/editSessions.js';
|
||||
+import { EDIT_SESSIONS_SIGNED_IN, EditSession, EDIT_SESSION_SYNC_CATEGORY, IEditSessionsStorageService, EDIT_SESSIONS_SIGNED_IN_KEY, IEditSessionsLogService, SyncResource } from '../common/editSessions.js';
|
||||
import { IDialogService } from '../../../../platform/dialogs/common/dialogs.js';
|
||||
@@ -93,3 +93,2 @@ export class EditSessionsWorkbenchService extends Disposable implements IEditSes
|
||||
|
||||
- this.registerSignInAction();
|
||||
this.registerResetAuthenticationAction();
|
||||
@@ -456,39 +455,2 @@ export class EditSessionsWorkbenchService extends Disposable implements IEditSes
|
||||
|
||||
- private registerSignInAction() {
|
||||
- const that = this;
|
||||
- const id = 'workbench.editSessions.actions.signIn';
|
||||
- const when = ContextKeyExpr.and(ContextKeyExpr.equals(EDIT_SESSIONS_PENDING_KEY, false), ContextKeyExpr.equals(EDIT_SESSIONS_SIGNED_IN_KEY, false));
|
||||
- this._register(registerAction2(class ResetEditSessionAuthenticationAction extends Action2 {
|
||||
- constructor() {
|
||||
- super({
|
||||
- id,
|
||||
- title: localize('sign in', 'Turn on Cloud Changes...'),
|
||||
- category: EDIT_SESSION_SYNC_CATEGORY,
|
||||
- precondition: when,
|
||||
- menu: [{
|
||||
- id: MenuId.CommandPalette,
|
||||
- },
|
||||
- {
|
||||
- id: MenuId.AccountsContext,
|
||||
- group: '2_editSessions',
|
||||
- when,
|
||||
- }]
|
||||
- });
|
||||
- }
|
||||
-
|
||||
- async run() {
|
||||
- return await that.initialize('write', false);
|
||||
- }
|
||||
- }));
|
||||
-
|
||||
- this._register(MenuRegistry.appendMenuItem(MenuId.AccountsContext, {
|
||||
- group: '2_editSessions',
|
||||
- command: {
|
||||
- id,
|
||||
- title: localize('sign in badge', 'Turn on Cloud Changes... (1)'),
|
||||
- },
|
||||
- when: ContextKeyExpr.and(ContextKeyExpr.equals(EDIT_SESSIONS_PENDING_KEY, true), ContextKeyExpr.equals(EDIT_SESSIONS_SIGNED_IN_KEY, false))
|
||||
- }));
|
||||
- }
|
||||
-
|
||||
private registerResetAuthenticationAction() {
|
||||
14
patches/disable-signature-verification.patch
Normal file
14
patches/disable-signature-verification.patch
Normal file
@@ -0,0 +1,14 @@
|
||||
diff --git a/src/vs/platform/extensionManagement/node/extensionManagementService.ts b/src/vs/platform/extensionManagement/node/extensionManagementService.ts
|
||||
index 680e0dd..0b04279 100644
|
||||
--- a/src/vs/platform/extensionManagement/node/extensionManagementService.ts
|
||||
+++ b/src/vs/platform/extensionManagement/node/extensionManagementService.ts
|
||||
@@ -86,2 +86,3 @@ export class ExtensionManagementService extends AbstractExtensionManagementServi
|
||||
@IFileService private readonly fileService: IFileService,
|
||||
+ // @ts-expect-error no-unused-variable
|
||||
@IConfigurationService private readonly configurationService: IConfigurationService,
|
||||
@@ -347,4 +348,3 @@ export class ExtensionManagementService extends AbstractExtensionManagementServi
|
||||
if (verifySignature) {
|
||||
- const value = this.configurationService.getValue('extensions.verifySignature');
|
||||
- verifySignature = isBoolean(value) ? value : true;
|
||||
+ verifySignature = false;
|
||||
}
|
||||
22
patches/ext-from-gh.patch
Normal file
22
patches/ext-from-gh.patch
Normal file
@@ -0,0 +1,22 @@
|
||||
diff --git a/build/lib/builtInExtensions.js b/build/lib/builtInExtensions.js
|
||||
index 1b0adc4..b595123 100644
|
||||
--- a/build/lib/builtInExtensions.js
|
||||
+++ b/build/lib/builtInExtensions.js
|
||||
@@ -47,5 +47,3 @@ function isUpToDate(extension) {
|
||||
function getExtensionDownloadStream(extension) {
|
||||
- const galleryServiceUrl = productjson.extensionsGallery?.serviceUrl;
|
||||
- return (galleryServiceUrl ? ext.fromMarketplace(galleryServiceUrl, extension) : ext.fromGithub(extension))
|
||||
- .pipe(rename(p => p.dirname = `${extension.name}/${p.dirname}`));
|
||||
+ return ext.fromGithub(extension).pipe(rename(p => p.dirname = `${extension.name}/${p.dirname}`));
|
||||
}
|
||||
diff --git a/build/lib/builtInExtensions.ts b/build/lib/builtInExtensions.ts
|
||||
index fefed43..4ae553e 100644
|
||||
--- a/build/lib/builtInExtensions.ts
|
||||
+++ b/build/lib/builtInExtensions.ts
|
||||
@@ -72,5 +72,3 @@ function isUpToDate(extension: IExtensionDefinition): boolean {
|
||||
function getExtensionDownloadStream(extension: IExtensionDefinition) {
|
||||
- const galleryServiceUrl = productjson.extensionsGallery?.serviceUrl;
|
||||
- return (galleryServiceUrl ? ext.fromMarketplace(galleryServiceUrl, extension) : ext.fromGithub(extension))
|
||||
- .pipe(rename(p => p.dirname = `${extension.name}/${p.dirname}`));
|
||||
+ return ext.fromGithub(extension).pipe(rename(p => p.dirname = `${extension.name}/${p.dirname}`));
|
||||
}
|
||||
@@ -1,8 +1,8 @@
|
||||
diff --git a/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStarted.contribution.ts b/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStarted.contribution.ts
|
||||
index 8c2aa42..18b0975 100644
|
||||
index c581ac0..f11c0f0 100644
|
||||
--- a/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStarted.contribution.ts
|
||||
+++ b/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStarted.contribution.ts
|
||||
@@ -300,2 +300,8 @@ configurationRegistry.registerConfiguration({
|
||||
@@ -319,2 +319,8 @@ configurationRegistry.registerConfiguration({
|
||||
},
|
||||
+ 'workbench.welcomePage.extraAnnouncements': {
|
||||
+ scope: ConfigurationScope.MACHINE,
|
||||
@@ -12,10 +12,10 @@ index 8c2aa42..18b0975 100644
|
||||
+ },
|
||||
'workbench.startupEditor': {
|
||||
diff --git a/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStarted.ts b/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStarted.ts
|
||||
index 9dd5330..9e2b6a2 100644
|
||||
index 664c55b..43f9e2e 100644
|
||||
--- a/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStarted.ts
|
||||
+++ b/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStarted.ts
|
||||
@@ -117,4 +117,8 @@ type GettingStartedActionEvent = {
|
||||
@@ -113,4 +113,8 @@ type GettingStartedActionEvent = {
|
||||
type RecentEntry = (IRecentFolder | IRecentWorkspace) & { id: string };
|
||||
+type AnnouncementEntry = { id: string, title: string, url: string };
|
||||
|
||||
@@ -24,26 +24,26 @@ index 9dd5330..9e2b6a2 100644
|
||||
+const BUILTIN_ANNOUNCEMENTS: AnnouncementEntry[] = [/* BUILTIN_ANNOUNCEMENTS */];
|
||||
+
|
||||
export class GettingStartedPage extends EditorPane {
|
||||
@@ -153,2 +157,4 @@ export class GettingStartedPage extends EditorPane {
|
||||
@@ -149,2 +153,4 @@ export class GettingStartedPage extends EditorPane {
|
||||
private gettingStartedList?: GettingStartedIndexList<IResolvedWalkthrough>;
|
||||
+ private announcementList?: GettingStartedIndexList<AnnouncementEntry>;
|
||||
+ private announcementData?: AnnouncementEntry[];
|
||||
private featuredExtensionsList?: GettingStartedIndexList<IFeaturedExtension>;
|
||||
@@ -774,2 +780,3 @@ export class GettingStartedPage extends EditorPane {
|
||||
|
||||
@@ -812,2 +818,3 @@ export class GettingStartedPage extends EditorPane {
|
||||
const gettingStartedList = this.buildGettingStartedWalkthroughsList();
|
||||
+ const announcementList = await this.buildAnnouncementList();
|
||||
|
||||
@@ -784,3 +791,3 @@ export class GettingStartedPage extends EditorPane {
|
||||
@@ -822,3 +829,3 @@ export class GettingStartedPage extends EditorPane {
|
||||
this.container.classList.remove('noWalkthroughs');
|
||||
- reset(rightColumn, featuredExtensionList.getDomElement(), gettingStartedList.getDomElement());
|
||||
+ reset(rightColumn, featuredExtensionList.getDomElement(), gettingStartedList.getDomElement(), announcementList.getDomElement());
|
||||
- reset(rightColumn, gettingStartedList.getDomElement());
|
||||
+ reset(rightColumn, gettingStartedList.getDomElement(), announcementList.getDomElement());
|
||||
}
|
||||
@@ -788,3 +795,3 @@ export class GettingStartedPage extends EditorPane {
|
||||
@@ -826,3 +833,3 @@ export class GettingStartedPage extends EditorPane {
|
||||
this.container.classList.add('noWalkthroughs');
|
||||
- reset(rightColumn, featuredExtensionList.getDomElement());
|
||||
+ reset(rightColumn, featuredExtensionList.getDomElement(), announcementList.getDomElement());
|
||||
- reset(rightColumn);
|
||||
+ reset(rightColumn, announcementList.getDomElement());
|
||||
}
|
||||
@@ -946,2 +953,55 @@ export class GettingStartedPage extends EditorPane {
|
||||
@@ -978,2 +985,55 @@ export class GettingStartedPage extends EditorPane {
|
||||
|
||||
+ private async buildAnnouncementList(): Promise<GettingStartedIndexList<AnnouncementEntry>> {
|
||||
+ const renderAnnouncement = (announcement: AnnouncementEntry) => {
|
||||
|
||||
@@ -1,15 +1,15 @@
|
||||
diff --git a/src/vs/workbench/browser/parts/banner/bannerPart.ts b/src/vs/workbench/browser/parts/banner/bannerPart.ts
|
||||
index b120c94..1bb2b88 100644
|
||||
index 1f329c4..3e36bff 100644
|
||||
--- a/src/vs/workbench/browser/parts/banner/bannerPart.ts
|
||||
+++ b/src/vs/workbench/browser/parts/banner/bannerPart.ts
|
||||
@@ -11,3 +11,3 @@ import { InstantiationType, registerSingleton } from 'vs/platform/instantiation/
|
||||
import { IInstantiationService, ServicesAccessor } from 'vs/platform/instantiation/common/instantiation';
|
||||
-import { IStorageService } from 'vs/platform/storage/common/storage';
|
||||
+import { IStorageService, StorageScope } from 'vs/platform/storage/common/storage';
|
||||
import { IThemeService } from 'vs/platform/theme/common/themeService';
|
||||
@@ -30,2 +30,3 @@ import { widgetClose } from 'vs/platform/theme/common/iconRegistry';
|
||||
import { BannerFocused } from 'vs/workbench/common/contextkeys';
|
||||
+import { INeverShowAgainOptions, NeverShowAgainScope } from 'vs/platform/notification/common/notification';
|
||||
@@ -11,3 +11,3 @@ import { InstantiationType, registerSingleton } from '../../../../platform/insta
|
||||
import { IInstantiationService, ServicesAccessor } from '../../../../platform/instantiation/common/instantiation.js';
|
||||
-import { IStorageService } from '../../../../platform/storage/common/storage.js';
|
||||
+import { IStorageService, StorageScope } from '../../../../platform/storage/common/storage.js';
|
||||
import { IThemeService } from '../../../../platform/theme/common/themeService.js';
|
||||
@@ -30,2 +30,3 @@ import { widgetClose } from '../../../../platform/theme/common/iconRegistry.js';
|
||||
import { BannerFocused } from '../../../common/contextkeys.js';
|
||||
+import { INeverShowAgainOptions, NeverShowAgainScope } from '../../../../platform/notification/common/notification';
|
||||
|
||||
@@ -67,3 +68,3 @@ export class BannerPart extends Part implements IBannerService {
|
||||
@IWorkbenchLayoutService layoutService: IWorkbenchLayoutService,
|
||||
@@ -31,7 +31,7 @@ index b120c94..1bb2b88 100644
|
||||
+ }
|
||||
+
|
||||
// Clear previous item
|
||||
@@ -234,2 +247,15 @@ export class BannerPart extends Part implements IBannerService {
|
||||
@@ -235,2 +248,15 @@ export class BannerPart extends Part implements IBannerService {
|
||||
|
||||
+ private toStorageScope(options: INeverShowAgainOptions): StorageScope {
|
||||
+ switch (options.scope) {
|
||||
@@ -47,31 +47,15 @@ index b120c94..1bb2b88 100644
|
||||
+ }
|
||||
+
|
||||
toJSON(): object {
|
||||
diff --git a/src/vs/workbench/electron-sandbox/window.ts b/src/vs/workbench/electron-sandbox/window.ts
|
||||
index cf6af9d..108ce8f 100644
|
||||
--- a/src/vs/workbench/electron-sandbox/window.ts
|
||||
+++ b/src/vs/workbench/electron-sandbox/window.ts
|
||||
@@ -725,3 +725,4 @@ export class NativeWindow extends Disposable {
|
||||
actions,
|
||||
- icon: Codicon.warning
|
||||
+ icon: Codicon.warning,
|
||||
+ neverShowAgain: { id: 'windowseol', isSecondary: true, scope: NeverShowAgainScope.APPLICATION }
|
||||
});
|
||||
@@ -764,3 +765,4 @@ export class NativeWindow extends Disposable {
|
||||
actions,
|
||||
- icon: Codicon.warning
|
||||
+ icon: Codicon.warning,
|
||||
+ neverShowAgain: { id: 'macoseol', isSecondary: true, scope: NeverShowAgainScope.APPLICATION }
|
||||
});
|
||||
diff --git a/src/vs/workbench/services/banner/browser/bannerService.ts b/src/vs/workbench/services/banner/browser/bannerService.ts
|
||||
index 639b1b2..70e8847 100644
|
||||
index 2db0fa4..d179055 100644
|
||||
--- a/src/vs/workbench/services/banner/browser/bannerService.ts
|
||||
+++ b/src/vs/workbench/services/banner/browser/bannerService.ts
|
||||
@@ -10,2 +10,3 @@ import { ILinkDescriptor } from 'vs/platform/opener/browser/link';
|
||||
import { ThemeIcon } from 'vs/base/common/themables';
|
||||
+import { INeverShowAgainOptions } from 'vs/platform/notification/common/notification';
|
||||
@@ -10,2 +10,3 @@ import { ILinkDescriptor } from '../../../../platform/opener/browser/link.js';
|
||||
import { ThemeIcon } from '../../../../base/common/themables.js';
|
||||
+import { INeverShowAgainOptions } from '../../../../platform/notification/common/notification';
|
||||
|
||||
@@ -18,2 +19,3 @@ export interface IBannerItem {
|
||||
readonly onClose?: () => void;
|
||||
+ readonly neverShowAgain?: INeverShowAgainOptions;
|
||||
}
|
||||
readonly closeLabel?: string;
|
||||
|
||||
25
patches/fix-remote-libs.patch
Normal file
25
patches/fix-remote-libs.patch
Normal file
@@ -0,0 +1,25 @@
|
||||
diff --git a/remote/package-lock.json b/remote/package-lock.json
|
||||
index 5872575..8ad0a56 100644
|
||||
--- a/remote/package-lock.json
|
||||
+++ b/remote/package-lock.json
|
||||
@@ -39,2 +39,3 @@
|
||||
"tas-client-umd": "0.2.0",
|
||||
+ "tslib": "^2.6.3",
|
||||
"vscode-oniguruma": "1.7.0",
|
||||
@@ -1030,2 +1031,8 @@
|
||||
},
|
||||
+ "node_modules/tslib": {
|
||||
+ "version": "2.7.0",
|
||||
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz",
|
||||
+ "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==",
|
||||
+ "license": "0BSD"
|
||||
+ },
|
||||
"node_modules/tunnel-agent": {
|
||||
diff --git a/remote/package.json b/remote/package.json
|
||||
index c107b04..a23d058 100644
|
||||
--- a/remote/package.json
|
||||
+++ b/remote/package.json
|
||||
@@ -34,2 +34,3 @@
|
||||
"tas-client-umd": "0.2.0",
|
||||
+ "tslib": "^2.6.3",
|
||||
"vscode-oniguruma": "1.7.0",
|
||||
@@ -1,9 +1,9 @@
|
||||
diff --git a/.vscode/settings.json b/.vscode/settings.json
|
||||
index 7ae8bce..724b9ad 100644
|
||||
index 99e495a..996044a 100644
|
||||
--- a/.vscode/settings.json
|
||||
+++ b/.vscode/settings.json
|
||||
@@ -9,5 +9,5 @@
|
||||
"cli/target": true,
|
||||
@@ -10,5 +10,5 @@
|
||||
"build/**/*.js.map": true,
|
||||
- "build/**/*.js": {
|
||||
- "when": "$(basename).ts"
|
||||
- }
|
||||
@@ -11,14 +11,27 @@ index 7ae8bce..724b9ad 100644
|
||||
+ // "when": "$(basename).ts"
|
||||
+ // }
|
||||
},
|
||||
@@ -81,3 +81,3 @@
|
||||
@@ -59,2 +59,3 @@
|
||||
"build/npm/*.js": true,
|
||||
+ "build/**/*.js": true,
|
||||
"build/*.js": true
|
||||
@@ -108,3 +109,3 @@
|
||||
"gulp.autoDetect": "off",
|
||||
- "files.insertFinalNewline": true,
|
||||
+ // "files.insertFinalNewline": true,
|
||||
"[plaintext]": {
|
||||
@@ -91,4 +91,4 @@
|
||||
"[javascript]": {
|
||||
@@ -114,3 +115,3 @@
|
||||
"editor.defaultFormatter": "vscode.typescript-language-features",
|
||||
- "editor.formatOnSave": true
|
||||
+ // "editor.formatOnSave": true
|
||||
},
|
||||
@@ -118,3 +119,3 @@
|
||||
"editor.defaultFormatter": "vscode.typescript-language-features",
|
||||
- "editor.formatOnSave": true
|
||||
+ // "editor.formatOnSave": true
|
||||
},
|
||||
@@ -122,3 +123,3 @@
|
||||
"editor.defaultFormatter": "rust-lang.rust-analyzer",
|
||||
- "editor.formatOnSave": true,
|
||||
+ // "editor.formatOnSave": true,
|
||||
},
|
||||
|
||||
@@ -1,18 +1,18 @@
|
||||
diff --git a/build/gulpfile.reh.js b/build/gulpfile.reh.js
|
||||
index 2a0c236..0f10f17 100644
|
||||
index 7d58861..cefb8ad 100644
|
||||
--- a/build/gulpfile.reh.js
|
||||
+++ b/build/gulpfile.reh.js
|
||||
@@ -256,3 +256,3 @@ function packageTask(type, platform, arch, sourceFolderName, destinationFolderNa
|
||||
@@ -306,3 +306,3 @@ function packageTask(type, platform, arch, sourceFolderName, destinationFolderNa
|
||||
const productJsonStream = gulp.src(['product.json'], { base: '.' })
|
||||
- .pipe(json({ commit, date, version, release }));
|
||||
+ .pipe(json({ commit, date, version, release, serverDownloadUrlTemplate: 'https://github.com/VSCodium/vscodium-insiders/releases/download/${version}.${release}-insider/vscodium-reh-${os}-${arch}-${version}.${release}-insider.tar.gz' }));
|
||||
|
||||
- .pipe(json({ commit, date: readISODate('out-build'), version, release }))
|
||||
+ .pipe(json({ commit, date: readISODate('out-build'), version, release, serverDownloadUrlTemplate: 'https://github.com/VSCodium/vscodium-insiders/releases/download/${version}.${release}-insider/vscodium-reh-${os}-${arch}-${version}.${release}-insider.tar.gz' }))
|
||||
.pipe(es.through(function (file) {
|
||||
diff --git a/build/gulpfile.vscode.js b/build/gulpfile.vscode.js
|
||||
index 0ca2cfd..9bf83a7 100644
|
||||
index 4af4067..1bac2cc 100644
|
||||
--- a/build/gulpfile.vscode.js
|
||||
+++ b/build/gulpfile.vscode.js
|
||||
@@ -244,3 +244,3 @@ function packageTask(platform, arch, sourceFolderName, destinationFolderName, op
|
||||
const date = new Date().toISOString();
|
||||
- const productJsonUpdate = { commit, date, checksums, version, release };
|
||||
+ const productJsonUpdate = { commit, date, checksums, version, release, serverDownloadUrlTemplate: 'https://github.com/VSCodium/vscodium-insiders/releases/download/${version}.${release}-insider/vscodium-reh-${os}-${arch}-${version}.${release}-insider.tar.gz' };
|
||||
|
||||
@@ -261,3 +261,3 @@ function packageTask(platform, arch, sourceFolderName, destinationFolderName, op
|
||||
const productJsonStream = gulp.src(['product.json'], { base: '.' })
|
||||
- .pipe(json({ commit, date: readISODate('out-build'), checksums, version, release }))
|
||||
+ .pipe(json({ commit, date: readISODate('out-build'), checksums, version, release, serverDownloadUrlTemplate: 'https://github.com/VSCodium/vscodium-insiders/releases/download/${version}.${release}-insider/vscodium-reh-${os}-${arch}-${version}.${release}-insider.tar.gz' }))
|
||||
.pipe(es.through(function (file) {
|
||||
|
||||
@@ -1,15 +1,15 @@
|
||||
diff --git a/build/gulpfile.vscode.win32.js b/build/gulpfile.vscode.win32.js
|
||||
index 0d3abda..9e5143a 100644
|
||||
index 5adfdfb..dfdb2af 100644
|
||||
--- a/build/gulpfile.vscode.win32.js
|
||||
+++ b/build/gulpfile.vscode.win32.js
|
||||
@@ -116,6 +116,6 @@ function buildWin32Setup(arch, target) {
|
||||
@@ -115,6 +115,6 @@ function buildWin32Setup(arch, target) {
|
||||
|
||||
- if (quality === 'insider') {
|
||||
- definitions['AppxPackage'] = `code_insiders_explorer_${arch === 'ia32' ? 'x86' : arch}.appx`;
|
||||
- definitions['AppxPackage'] = `code_insiders_explorer_${arch}.appx`;
|
||||
- definitions['AppxPackageFullname'] = `Microsoft.${product.win32RegValueName}_1.0.0.0_neutral__8wekyb3d8bbwe`;
|
||||
- }
|
||||
+ // if (quality === 'insider') {
|
||||
+ // definitions['AppxPackage'] = `code_insiders_explorer_${arch === 'ia32' ? 'x86' : arch}.appx`;
|
||||
+ // definitions['AppxPackage'] = `code_insiders_explorer_${arch}.appx`;
|
||||
+ // definitions['AppxPackageFullname'] = `Microsoft.${product.win32RegValueName}_1.0.0.0_neutral__8wekyb3d8bbwe`;
|
||||
+ // }
|
||||
|
||||
|
||||
14
patches/linux/client/disable-remote.patch
Normal file
14
patches/linux/client/disable-remote.patch
Normal file
@@ -0,0 +1,14 @@
|
||||
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');
|
||||
}
|
||||
@@ -1,43 +1,49 @@
|
||||
diff --git a/build/gulpfile.vscode.linux.js b/build/gulpfile.vscode.linux.js
|
||||
index 0d7d3c5..90f75cc 100644
|
||||
index fb0e5a4..412a6cc 100644
|
||||
--- a/build/gulpfile.vscode.linux.js
|
||||
+++ b/build/gulpfile.vscode.linux.js
|
||||
@@ -299,4 +299,3 @@ BUILD_TARGETS.forEach(({ arch }) => {
|
||||
const prepareDebTask = task.define(`vscode-linux-${arch}-prepare-deb`, task.series(util.rimraf(`.build/linux/deb/${debArch}`), prepareDebPackage(arch)));
|
||||
@@ -197,2 +197,3 @@ function prepareRpmPackage(arch) {
|
||||
const spec = code.pipe(es.through(
|
||||
+ null,
|
||||
async function () {
|
||||
@@ -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);
|
||||
@@ -305,4 +304,3 @@ BUILD_TARGETS.forEach(({ arch }) => {
|
||||
const prepareRpmTask = task.define(`vscode-linux-${arch}-prepare-rpm`, task.series(util.rimraf(`.build/linux/rpm/${rpmArch}`), prepareRpmPackage(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 0ea6699..c4524de 100644
|
||||
index 80b11b3..0a0ca71 100644
|
||||
--- a/build/linux/dependencies-generator.js
|
||||
+++ b/build/linux/dependencies-generator.js
|
||||
@@ -22,3 +22,3 @@ const types_2 = require("./rpm/types");
|
||||
@@ -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/108.0.5359.215:chrome/installer/linux/BUILD.gn;l=64-80
|
||||
// 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 c0d8112..3bb0366 100644
|
||||
index 3163aee..dca1845 100644
|
||||
--- a/build/linux/dependencies-generator.ts
|
||||
+++ b/build/linux/dependencies-generator.ts
|
||||
@@ -23,3 +23,3 @@ import { isRpmArchString, RpmArchString } from './rpm/types';
|
||||
@@ -25,3 +25,3 @@ import product = require('../../product.json');
|
||||
// are valid, are in dep-lists.ts
|
||||
-const FAIL_BUILD_FOR_NEW_DEPENDENCIES: boolean = true;
|
||||
+const FAIL_BUILD_FOR_NEW_DEPENDENCIES: boolean = false;
|
||||
|
||||
diff --git a/resources/linux/rpm/code.spec.template b/resources/linux/rpm/code.spec.template
|
||||
index 06b8549..a7e3dfb 100644
|
||||
--- a/resources/linux/rpm/code.spec.template
|
||||
+++ b/resources/linux/rpm/code.spec.template
|
||||
@@ -81 +81,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
|
||||
@@ -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.
|
||||
|
||||
27
patches/linux/fix-reh-bootstrap.patch
Normal file
27
patches/linux/fix-reh-bootstrap.patch
Normal file
@@ -0,0 +1,27 @@
|
||||
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';
|
||||
@@ -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);
|
||||
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 = `
|
||||
@@ -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
|
||||
+ Module.register(`data:text/javascript;base64,${Buffer.from(jsCode).toString('base64')}`, import.meta.url);
|
||||
}
|
||||
734
patches/linux/ppc64le-and-riscv64-support.patch
Normal file
734
patches/linux/ppc64le-and-riscv64-support.patch
Normal file
@@ -0,0 +1,734 @@
|
||||
diff --git a/build/azure-pipelines/linux/setup-env.sh b/build/azure-pipelines/linux/setup-env.sh
|
||||
index 949b5f3..30093d6 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
|
||||
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 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
|
||||
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
|
||||
--- 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
|
||||
TRIPLE="arm-rpi-linux-gnueabihf"
|
||||
+elif [ "$VSCODE_ARCH" == "ppc64le" ]; then
|
||||
+ TRIPLE="powerpc64le-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
|
||||
@@ -6 +6,2 @@
|
||||
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
|
||||
--- a/build/gulpfile.reh.js
|
||||
+++ b/build/gulpfile.reh.js
|
||||
@@ -48,2 +48,4 @@ 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
|
||||
--- a/build/gulpfile.scan.js
|
||||
+++ b/build/gulpfile.scan.js
|
||||
@@ -26,2 +26,4 @@ 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
|
||||
--- 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 = [
|
||||
{ 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
|
||||
--- 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];
|
||||
}
|
||||
@@ -141,3 +141,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];
|
||||
}
|
||||
@@ -301,2 +301,4 @@ 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
|
||||
--- a/build/linux/debian/calculate-deps.js
|
||||
+++ b/build/linux/debian/calculate-deps.js
|
||||
@@ -51,2 +51,8 @@ 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
|
||||
--- 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
|
||||
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
|
||||
--- 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)'
|
||||
+ ],
|
||||
+ 'ppc64el': [
|
||||
+ 'ca-certificates',
|
||||
+ '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.9.14)',
|
||||
+ 'libdrm2 (>= 2.4.75)',
|
||||
+ 'libexpat1 (>= 2.1~beta3)',
|
||||
+ 'libgbm1 (>= 17.1.0~rc2)',
|
||||
+ 'libglib2.0-0 (>= 2.37.3)',
|
||||
+ 'libgssapi-krb5-2 (>= 1.17)',
|
||||
+ 'libgtk-3-0 (>= 3.9.10)',
|
||||
+ 'libgtk-3-0 (>= 3.9.10) | libgtk-4-1',
|
||||
+ 'libkrb5-3 (>= 1.6.dfsg.2)',
|
||||
+ 'libnspr4 (>= 2:4.9-2~)',
|
||||
+ 'libnss3 (>= 2:3.30)',
|
||||
+ 'libnss3 (>= 3.26)',
|
||||
+ 'libpango-1.0-0 (>= 1.14.0)',
|
||||
+ '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.5.0)',
|
||||
+ 'libxkbfile1 (>= 1:1.1.0)',
|
||||
+ '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
|
||||
--- 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)'
|
||||
+ ],
|
||||
+ 'ppc64el': [
|
||||
+ 'ca-certificates',
|
||||
+ '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.9.14)',
|
||||
+ 'libdrm2 (>= 2.4.75)',
|
||||
+ 'libexpat1 (>= 2.1~beta3)',
|
||||
+ 'libgbm1 (>= 17.1.0~rc2)',
|
||||
+ 'libglib2.0-0 (>= 2.37.3)',
|
||||
+ 'libgssapi-krb5-2 (>= 1.17)',
|
||||
+ 'libgtk-3-0 (>= 3.9.10)',
|
||||
+ 'libgtk-3-0 (>= 3.9.10) | libgtk-4-1',
|
||||
+ 'libkrb5-3 (>= 1.6.dfsg.2)',
|
||||
+ 'libnspr4 (>= 2:4.9-2~)',
|
||||
+ 'libnss3 (>= 2:3.30)',
|
||||
+ 'libnss3 (>= 3.26)',
|
||||
+ 'libpango-1.0-0 (>= 1.14.0)',
|
||||
+ '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.5.0)',
|
||||
+ 'libxkbfile1 (>= 1:1.1.0)',
|
||||
+ '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
|
||||
--- 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) {
|
||||
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;
|
||||
}
|
||||
diff --git a/build/linux/debian/install-sysroot.ts b/build/linux/debian/install-sysroot.ts
|
||||
index aa417dc..58f0eee 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>
|
||||
break;
|
||||
+ case 'ppc64el':
|
||||
+ 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;
|
||||
}
|
||||
diff --git a/build/linux/debian/types.js b/build/linux/debian/types.js
|
||||
index ce21d50..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'].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 e97485e..24fe452 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 function isDebianArchString(s: string): s is DebianArchString {
|
||||
- return ['amd64', 'armhf', 'arm64'].includes(s);
|
||||
+ return ['amd64', 'armhf', 'arm64', 'ppc64el', 'riscv64'].includes(s);
|
||||
}
|
||||
diff --git a/build/linux/rpm/dep-lists.js b/build/linux/rpm/dep-lists.js
|
||||
index 9798451..bd246e7 100644
|
||||
--- a/build/linux/rpm/dep-lists.js
|
||||
+++ b/build/linux/rpm/dep-lists.js
|
||||
@@ -321,2 +321,102 @@ exports.referenceGeneratedDepsByArch = {
|
||||
'xdg-utils'
|
||||
+ ],
|
||||
+ "ppc64le": [
|
||||
+ '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/dep-lists.ts b/build/linux/rpm/dep-lists.ts
|
||||
index b798127..c3f5308 100644
|
||||
--- a/build/linux/rpm/dep-lists.ts
|
||||
+++ b/build/linux/rpm/dep-lists.ts
|
||||
@@ -320,2 +320,102 @@ export const referenceGeneratedDepsByArch = {
|
||||
'xdg-utils'
|
||||
+ ],
|
||||
+ "ppc64le": [
|
||||
+ '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..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'].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 c6a01da..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';
|
||||
+export type RpmArchString = 'x86_64' | 'armv7hl' | 'aarch64' | 'ppc64le' | 'riscv64';
|
||||
|
||||
export function isRpmArchString(s: string): s is RpmArchString {
|
||||
- return ['x86_64', 'armv7hl', 'aarch64'].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 4bec13d..3debda1 100644
|
||||
--- a/cli/src/update_service.rs
|
||||
+++ b/cli/src/update_service.rs
|
||||
@@ -216,2 +216,5 @@ pub enum Platform {
|
||||
LinuxARM32Legacy,
|
||||
+ LinuxPPC64LE,
|
||||
+ LinuxPPC64LELegacy,
|
||||
+ LinuxRISCV64,
|
||||
DarwinX64,
|
||||
@@ -229,2 +232,4 @@ 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 {
|
||||
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 {
|
||||
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 {
|
||||
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 {
|
||||
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
|
||||
--- a/cli/src/util/prereqs.rs
|
||||
+++ b/cli/src/util/prereqs.rs
|
||||
@@ -86,2 +86,6 @@ 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 {
|
||||
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
|
||||
--- 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
|
||||
;;
|
||||
+ 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
|
||||
--- 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) {
|
||||
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 {
|
||||
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 |
|
||||
}
|
||||
+ 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
|
||||
--- a/src/vs/platform/extensions/common/extensions.ts
|
||||
+++ b/src/vs/platform/extensions/common/extensions.ts
|
||||
@@ -294,2 +294,4 @@ export const enum TargetPlatform {
|
||||
LINUX_ARMHF = 'linux-armhf',
|
||||
+ LINUX_PPC64LE = 'linux-ppc64le',
|
||||
+ LINUX_RISCV64 = 'linux-riscv64',
|
||||
|
||||
62
patches/linux/reh/node16.patch
Normal file
62
patches/linux/reh/node16.patch
Normal file
@@ -0,0 +1,62 @@
|
||||
diff --git a/build/gulpfile.reh.js b/build/gulpfile.reh.js
|
||||
index 53ef6f3..7dedc4b 100644
|
||||
--- a/build/gulpfile.reh.js
|
||||
+++ b/build/gulpfile.reh.js
|
||||
@@ -401,16 +401,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 290e188..fc8fd04 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-beta22",
|
||||
+ "node-pty": "1.1.0-beta4",
|
||||
"tas-client-umd": "0.2.0",
|
||||
@@ -703,2 +703,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": {
|
||||
@@ -745,8 +751,9 @@
|
||||
"node_modules/node-pty": {
|
||||
- "version": "1.1.0-beta22",
|
||||
- "resolved": "https://registry.npmjs.org/node-pty/-/node-pty-1.1.0-beta22.tgz",
|
||||
- "integrity": "sha512-CpT334H2oAIULlENvd9U+VBW4ZL+G3clOnpXYzUIurlPCLnl/9xen/KDHBLRcwhZuWcHxIrsCxR1TDCdVDtr0w==",
|
||||
+ "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"
|
||||
+ "nan": "^2.17.0"
|
||||
}
|
||||
diff --git a/remote/package.json b/remote/package.json
|
||||
index e8ea864..08d756d 100644
|
||||
--- a/remote/package.json
|
||||
+++ b/remote/package.json
|
||||
@@ -32,3 +32,3 @@
|
||||
"native-watchdog": "^1.4.1",
|
||||
- "node-pty": "^1.1.0-beta22",
|
||||
+ "node-pty": "1.1.0-beta4",
|
||||
"tas-client-umd": "0.2.0",
|
||||
14
patches/linux/rpm.patch
Normal file
14
patches/linux/rpm.patch
Normal file
@@ -0,0 +1,14 @@
|
||||
diff --git a/resources/linux/rpm/code.spec.template b/resources/linux/rpm/code.spec.template
|
||||
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: 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
|
||||
22
patches/linux/update-xdg-path.patch
Normal file
22
patches/linux/update-xdg-path.patch
Normal 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']);
|
||||
|
||||
9
patches/linux/yarn-dependencies.patch
Normal file
9
patches/linux/yarn-dependencies.patch
Normal file
@@ -0,0 +1,9 @@
|
||||
diff --git a/build/npm/postinstall.js b/build/npm/postinstall.js
|
||||
index d45d5bc..81a6449 100644
|
||||
--- a/build/npm/postinstall.js
|
||||
+++ b/build/npm/postinstall.js
|
||||
@@ -56,3 +56,3 @@ function yarnInstall(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') {
|
||||
run('sudo', ['docker', 'run', '--rm', '--privileged', 'multiarch/qemu-user-static', '--reset', '-p', 'yes'], opts);
|
||||
@@ -1,32 +1,36 @@
|
||||
diff --git a/src/main.js b/src/main.js
|
||||
index d986fee..1ad0ef0 100644
|
||||
--- a/src/main.js
|
||||
+++ b/src/main.js
|
||||
@@ -18,2 +18,3 @@ perf.mark('code/didStartMain');
|
||||
const path = require('path');
|
||||
+const { fileURLToPath } = require('url');
|
||||
const fs = require('fs');
|
||||
@@ -149,2 +150,14 @@ app.once('ready', function () {
|
||||
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) {
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
/**
|
||||
@@ -160,2 +173,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 51a55e1..e2af375 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) {
|
||||
|
||||
161
patches/optional-tree-sitter.patch
Normal file
161
patches/optional-tree-sitter.patch
Normal 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",
|
||||
28
patches/osx/fix-codesign.patch
Normal file
28
patches/osx/fix-codesign.patch
Normal file
@@ -0,0 +1,28 @@
|
||||
diff --git a/build/darwin/sign.js b/build/darwin/sign.js
|
||||
index f5913b7..100b950 100644
|
||||
--- a/build/darwin/sign.js
|
||||
+++ b/build/darwin/sign.js
|
||||
@@ -53,5 +53,7 @@ async function main(buildDir) {
|
||||
ignore: (filePath) => {
|
||||
+ const ext = path.extname(filePath);
|
||||
return filePath.includes(gpuHelperAppName) ||
|
||||
filePath.includes(rendererHelperAppName) ||
|
||||
- filePath.includes(pluginHelperAppName);
|
||||
+ filePath.includes(pluginHelperAppName) ||
|
||||
+ ext == '.asar' || ext == '.dat' || ext == '.gif' || ext == '.icns' || ext == '.ico' || ext == '.json' || ext == '.mp3' || ext == '.nib' || ext == '.pak' || ext == '.png' || ext == '.scpt' || ext == '.ttf' || ext == '.wasm' || ext == '.woff' || ext == '.woff2';
|
||||
}
|
||||
@@ -83,3 +85,3 @@ async function main(buildDir) {
|
||||
'-string',
|
||||
- 'An application in Visual Studio Code wants to use AppleScript.',
|
||||
+ 'An application in VSCodium wants to use AppleScript.',
|
||||
`${infoPlistPath}`
|
||||
@@ -90,3 +92,3 @@ async function main(buildDir) {
|
||||
'-string',
|
||||
- 'An application in Visual Studio Code wants to use the Microphone.',
|
||||
+ 'An application in VSCodium wants to use the Microphone.',
|
||||
`${infoPlistPath}`
|
||||
@@ -97,3 +99,3 @@ async function main(buildDir) {
|
||||
'-string',
|
||||
- 'An application in Visual Studio Code wants to use the Camera.',
|
||||
+ 'An application in VSCodium wants to use the Camera.',
|
||||
`${infoPlistPath}`
|
||||
@@ -1,264 +0,0 @@
|
||||
diff --git a/build/gulpfile.reh.js b/build/gulpfile.reh.js
|
||||
index 2a0c236eaf0..be2528c5c48 100644
|
||||
--- a/build/gulpfile.reh.js
|
||||
+++ b/build/gulpfile.reh.js
|
||||
@@ -46,6 +46,7 @@ const BUILD_TARGETS = [
|
||||
{ platform: 'linux', arch: 'x64' },
|
||||
{ platform: 'linux', arch: 'armhf' },
|
||||
{ platform: 'linux', arch: 'arm64' },
|
||||
+ { platform: 'linux', arch: 'ppc64le' },
|
||||
{ platform: 'alpine', arch: 'arm64' },
|
||||
// legacy: we use to ship only one alpine so it was put in the arch, but now we ship
|
||||
// multiple alpine images and moved to a better model (alpine as the platform)
|
||||
diff --git a/build/gulpfile.scan.js b/build/gulpfile.scan.js
|
||||
index 62691fcc8cf..dbefb8549f1 100644
|
||||
--- a/build/gulpfile.scan.js
|
||||
+++ b/build/gulpfile.scan.js
|
||||
@@ -24,6 +24,7 @@ const BUILD_TARGETS = [
|
||||
{ platform: 'linux', arch: 'x64' },
|
||||
{ platform: 'linux', arch: 'armhf' },
|
||||
{ platform: 'linux', arch: 'arm64' },
|
||||
+ { platform: 'linux', arch: 'ppc64le' },
|
||||
];
|
||||
|
||||
BUILD_TARGETS.forEach(buildTarget => {
|
||||
diff --git a/build/gulpfile.vscode.js b/build/gulpfile.vscode.js
|
||||
index 0ca2cfd60a9..18a60efc405 100644
|
||||
--- a/build/gulpfile.vscode.js
|
||||
+++ b/build/gulpfile.vscode.js
|
||||
@@ -426,6 +426,7 @@ const BUILD_TARGETS = [
|
||||
{ platform: 'linux', arch: 'x64' },
|
||||
{ platform: 'linux', arch: 'armhf' },
|
||||
{ platform: 'linux', arch: 'arm64' },
|
||||
+ { platform: 'linux', arch: 'ppc64le' },
|
||||
];
|
||||
BUILD_TARGETS.forEach(buildTarget => {
|
||||
const dashed = (str) => (str ? `-${str}` : ``);
|
||||
diff --git a/build/gulpfile.vscode.linux.js b/build/gulpfile.vscode.linux.js
|
||||
index 90f75ccfabd..a9fe7715da9 100644
|
||||
--- a/build/gulpfile.vscode.linux.js
|
||||
+++ b/build/gulpfile.vscode.linux.js
|
||||
@@ -29,7 +29,7 @@ const linuxPackageRevision = Math.floor(new Date().getTime() / 1000);
|
||||
* @param {string} arch
|
||||
*/
|
||||
function getDebPackageArch(arch) {
|
||||
- return { x64: 'amd64', armhf: 'armhf', arm64: 'arm64' }[arch];
|
||||
+ return { x64: 'amd64', armhf: 'armhf', arm64: 'arm64', ppc64le: 'ppc64le' }[arch];
|
||||
}
|
||||
|
||||
function prepareDebPackage(arch) {
|
||||
@@ -136,7 +136,7 @@ function getRpmBuildPath(rpmArch) {
|
||||
* @param {string} arch
|
||||
*/
|
||||
function getRpmPackageArch(arch) {
|
||||
- return { x64: 'x86_64', armhf: 'armv7hl', arm64: 'aarch64' }[arch];
|
||||
+ return { x64: 'x86_64', armhf: 'armv7hl', arm64: 'aarch64', ppc64le: 'ppc64le' }[arch];
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -292,6 +292,7 @@ const BUILD_TARGETS = [
|
||||
{ arch: 'x64' },
|
||||
{ arch: 'armhf' },
|
||||
{ arch: 'arm64' },
|
||||
+ { arch: 'ppc64le' },
|
||||
];
|
||||
|
||||
BUILD_TARGETS.forEach(({ arch }) => {
|
||||
diff --git a/build/linux/debian/calculate-deps.ts b/build/linux/debian/calculate-deps.ts
|
||||
index b13d3cdfaaf..650e4de3894 100644
|
||||
--- a/build/linux/debian/calculate-deps.ts
|
||||
+++ b/build/linux/debian/calculate-deps.ts
|
||||
@@ -52,6 +52,9 @@ function calculatePackageDeps(binaryPath: string, arch: DebianArchString, sysroo
|
||||
case 'arm64':
|
||||
cmd.push(`-l${sysroot}/usr/lib/aarch64-linux-gnu`,
|
||||
`-l${sysroot}/lib/aarch64-linux-gnu`);
|
||||
+ case 'ppc64le':
|
||||
+ cmd.push(`-l${sysroot}/usr/lib/ppc64le-linux-gnu`,
|
||||
+ `-l${sysroot}/lib/ppc64le-linux-gnu`);
|
||||
break;
|
||||
}
|
||||
cmd.push(`-l${sysroot}/usr/lib`);
|
||||
diff --git a/build/linux/debian/dep-lists.ts b/build/linux/debian/dep-lists.ts
|
||||
index 52aa56d960b..857589ec9ff 100644
|
||||
--- a/build/linux/debian/dep-lists.ts
|
||||
+++ b/build/linux/debian/dep-lists.ts
|
||||
@@ -136,5 +136,44 @@ export const referenceGeneratedDepsByArch = {
|
||||
'libxkbfile1',
|
||||
'libxrandr2',
|
||||
'xdg-utils (>= 1.0.2)'
|
||||
+ ],
|
||||
+ 'ppc64le': [
|
||||
+ 'ca-certificates',
|
||||
+ '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/types.ts b/build/linux/debian/types.ts
|
||||
index e97485ef128..356027a648b 100644
|
||||
--- a/build/linux/debian/types.ts
|
||||
+++ b/build/linux/debian/types.ts
|
||||
@@ -3,8 +3,8 @@
|
||||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
-export type DebianArchString = 'amd64' | 'armhf' | 'arm64';
|
||||
+export type DebianArchString = 'amd64' | 'armhf' | 'arm64' | 'ppc64le';
|
||||
|
||||
export function isDebianArchString(s: string): s is DebianArchString {
|
||||
- return ['amd64', 'armhf', 'arm64'].includes(s);
|
||||
+ return ['amd64', 'armhf', 'arm64', 'ppc64le'].includes(s);
|
||||
}
|
||||
diff --git a/cli/src/update_service.rs b/cli/src/update_service.rs
|
||||
index b03d8ea5963..2beceeac640 100644
|
||||
--- a/cli/src/update_service.rs
|
||||
+++ b/cli/src/update_service.rs
|
||||
@@ -209,6 +209,7 @@ pub enum Platform {
|
||||
LinuxX64,
|
||||
LinuxARM64,
|
||||
LinuxARM32,
|
||||
+ LinuxPPC64LE,
|
||||
DarwinX64,
|
||||
DarwinARM64,
|
||||
WindowsX64,
|
||||
@@ -222,6 +223,7 @@ impl Platform {
|
||||
Platform::LinuxX64 => Some("linux-x64".to_owned()),
|
||||
Platform::LinuxARM64 => Some("linux-arm64".to_owned()),
|
||||
Platform::LinuxARM32 => Some("linux-armhf".to_owned()),
|
||||
+ Platform::LinuxPPC64LE => Some("linux-ppc64le".to_owned()),
|
||||
Platform::DarwinX64 => Some("darwin".to_owned()),
|
||||
Platform::DarwinARM64 => Some("darwin-arm64".to_owned()),
|
||||
Platform::WindowsX64 => Some("win32-x64-archive".to_owned()),
|
||||
@@ -237,6 +239,7 @@ impl Platform {
|
||||
Platform::LinuxX64 => "server-linux-x64",
|
||||
Platform::LinuxARM64 => "server-linux-arm64",
|
||||
Platform::LinuxARM32 => "server-linux-armhf",
|
||||
+ Platform::LinuxPPC64LE => "server-linux-ppc64le",
|
||||
Platform::DarwinX64 => "server-darwin",
|
||||
Platform::DarwinARM64 => "server-darwin-arm64",
|
||||
Platform::WindowsX64 => "server-win32-x64",
|
||||
@@ -253,6 +256,7 @@ impl Platform {
|
||||
Platform::LinuxX64 => "cli-linux-x64",
|
||||
Platform::LinuxARM64 => "cli-linux-arm64",
|
||||
Platform::LinuxARM32 => "cli-linux-armhf",
|
||||
+ Platform::LinuxPPC64LE => "cli-linux-ppc64le",
|
||||
Platform::DarwinX64 => "cli-darwin-x64",
|
||||
Platform::DarwinARM64 => "cli-darwin-arm64",
|
||||
Platform::WindowsARM64 => "cli-win32-arm64",
|
||||
@@ -285,6 +289,8 @@ impl Platform {
|
||||
Some(Platform::LinuxARM32)
|
||||
} else if cfg!(all(target_os = "linux", target_arch = "aarch64")) {
|
||||
Some(Platform::LinuxARM64)
|
||||
+ } else if cfg!(all(target_os = "linux", target_arch = "ppc64le")) {
|
||||
+ Some(Platform::LinuxPPC64LE)
|
||||
} else if cfg!(all(target_os = "macos", target_arch = "x86_64")) {
|
||||
Some(Platform::DarwinX64)
|
||||
} else if cfg!(all(target_os = "macos", target_arch = "aarch64")) {
|
||||
@@ -309,6 +315,7 @@ impl fmt::Display for Platform {
|
||||
Platform::LinuxX64 => "LinuxX64",
|
||||
Platform::LinuxARM64 => "LinuxARM64",
|
||||
Platform::LinuxARM32 => "LinuxARM32",
|
||||
+ Platform::LinuxPPC64LE => "LinuxPPC64LE",
|
||||
Platform::DarwinX64 => "DarwinX64",
|
||||
Platform::DarwinARM64 => "DarwinARM64",
|
||||
Platform::WindowsX64 => "WindowsX64",
|
||||
diff --git a/cli/src/util/prereqs.rs b/cli/src/util/prereqs.rs
|
||||
index d8cbd1b91dd..191d312e994 100644
|
||||
--- a/cli/src/util/prereqs.rs
|
||||
+++ b/cli/src/util/prereqs.rs
|
||||
@@ -64,6 +64,8 @@ impl PreReqChecker {
|
||||
Platform::LinuxX64
|
||||
} else if cfg!(target_arch = "arm") {
|
||||
Platform::LinuxARM32
|
||||
+ } else if cfg!(target_arch = "ppc64le") {
|
||||
+ Platform::LinuxPPC64LE
|
||||
} else {
|
||||
Platform::LinuxARM64
|
||||
});
|
||||
diff --git a/src/main.js b/src/main.js
|
||||
index d986fee6f6d..02cd26a4d93 100644
|
||||
--- a/src/main.js
|
||||
+++ b/src/main.js
|
||||
@@ -405,6 +405,7 @@ function configureCrashReporter() {
|
||||
}
|
||||
}
|
||||
} else if (isLinux) {
|
||||
+
|
||||
submitURL = appCenter['linux-x64'];
|
||||
}
|
||||
submitURL = submitURL.concat('&uid=', crashReporterId, '&iid=', crashReporterId, '&sid=', crashReporterId);
|
||||
diff --git a/src/vs/platform/extensionManagement/common/extensionManagement.ts b/src/vs/platform/extensionManagement/common/extensionManagement.ts
|
||||
index d407374f6ee..636da84fd62 100644
|
||||
--- a/src/vs/platform/extensionManagement/common/extensionManagement.ts
|
||||
+++ b/src/vs/platform/extensionManagement/common/extensionManagement.ts
|
||||
@@ -28,6 +28,7 @@ export function TargetPlatformToString(targetPlatform: TargetPlatform) {
|
||||
case TargetPlatform.LINUX_X64: return 'Linux 64 bit';
|
||||
case TargetPlatform.LINUX_ARM64: return 'Linux ARM 64';
|
||||
case TargetPlatform.LINUX_ARMHF: return 'Linux ARM';
|
||||
+ case TargetPlatform.LINUX_PPC64LE: return 'Linux PPC64LE';
|
||||
|
||||
case TargetPlatform.ALPINE_X64: return 'Alpine Linux 64 bit';
|
||||
case TargetPlatform.ALPINE_ARM64: return 'Alpine ARM 64';
|
||||
@@ -52,6 +53,7 @@ export function toTargetPlatform(targetPlatform: string): TargetPlatform {
|
||||
case TargetPlatform.LINUX_X64: return TargetPlatform.LINUX_X64;
|
||||
case TargetPlatform.LINUX_ARM64: return TargetPlatform.LINUX_ARM64;
|
||||
case TargetPlatform.LINUX_ARMHF: return TargetPlatform.LINUX_ARMHF;
|
||||
+ case TargetPlatform.LINUX_PPC64LE: return TargetPlatform.LINUX_PPC64LE;
|
||||
|
||||
case TargetPlatform.ALPINE_X64: return TargetPlatform.ALPINE_X64;
|
||||
case TargetPlatform.ALPINE_ARM64: return TargetPlatform.ALPINE_ARM64;
|
||||
@@ -90,6 +92,9 @@ export function getTargetPlatform(platform: Platform | 'alpine', arch: string |
|
||||
if (arch === 'arm') {
|
||||
return TargetPlatform.LINUX_ARMHF;
|
||||
}
|
||||
+ if (arch === 'ppc64le') {
|
||||
+ return TargetPlatform.LINUX_PPC64LE;
|
||||
+ }
|
||||
return TargetPlatform.UNKNOWN;
|
||||
|
||||
case 'alpine':
|
||||
diff --git a/src/vs/platform/extensions/common/extensions.ts b/src/vs/platform/extensions/common/extensions.ts
|
||||
index cfa0e3296f0..d38a82114e3 100644
|
||||
--- a/src/vs/platform/extensions/common/extensions.ts
|
||||
+++ b/src/vs/platform/extensions/common/extensions.ts
|
||||
@@ -296,6 +296,7 @@ export const enum TargetPlatform {
|
||||
LINUX_X64 = 'linux-x64',
|
||||
LINUX_ARM64 = 'linux-arm64',
|
||||
LINUX_ARMHF = 'linux-armhf',
|
||||
+ LINUX_PPC64LE = 'linux-ppc64le',
|
||||
|
||||
ALPINE_X64 = 'alpine-x64',
|
||||
ALPINE_ARM64 = 'alpine-arm64',
|
||||
@@ -1,16 +1,22 @@
|
||||
diff --git a/src/vs/code/electron-sandbox/issue/issueReporterService.ts b/src/vs/code/electron-sandbox/issue/issueReporterService.ts
|
||||
index d0c4789..9e6bfc5 100644
|
||||
--- a/src/vs/code/electron-sandbox/issue/issueReporterService.ts
|
||||
+++ b/src/vs/code/electron-sandbox/issue/issueReporterService.ts
|
||||
@@ -455,5 +455,5 @@ export class IssueReporter extends Disposable {
|
||||
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
|
||||
--- 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 {
|
||||
- OS Version: \`${osVersion}\`
|
||||
-- VS Code version: \`${this._productService.version}\`\n\n${message}`);
|
||||
+- VSCodium version: \`${this._productService.version}\`\n\n${message}`);
|
||||
|
||||
- private searchVSCodeIssues(title: string, issueDescription?: string): void {
|
||||
+ private searchVSCodeIssues(title: string, _issueDescription?: string): void {
|
||||
diff --git a/src/vs/workbench/contrib/issue/browser/baseIssueReporterService.ts b/src/vs/workbench/contrib/issue/browser/baseIssueReporterService.ts
|
||||
index ec21ac3..89fabe0 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 {
|
||||
if (title) {
|
||||
- this.searchDuplicates(title, issueDescription);
|
||||
+ this.searchGitHub('VSCodium/vscodium', title);
|
||||
} else {
|
||||
@@ -549,33 +549,2 @@ export class IssueReporter extends Disposable {
|
||||
@@ -722,33 +722,2 @@ export class BaseIssueReporterService extends Disposable {
|
||||
|
||||
- @debounce(300)
|
||||
- private searchDuplicates(title: string, body?: string): void {
|
||||
@@ -26,7 +32,7 @@ index d0c4789..9e6bfc5 100644
|
||||
- })
|
||||
- };
|
||||
-
|
||||
- window.fetch(url, init).then((response) => {
|
||||
- fetch(url, init).then((response) => {
|
||||
- response.json().then(result => {
|
||||
- this.clearSearchResults();
|
||||
-
|
||||
@@ -44,40 +50,93 @@ index d0c4789..9e6bfc5 100644
|
||||
- }
|
||||
-
|
||||
private displaySearchResults(results: SearchResult[]) {
|
||||
@@ -667,3 +636,3 @@ export class IssueReporter extends Disposable {
|
||||
@@ -844,4 +813,4 @@ export class BaseIssueReporterService extends Disposable {
|
||||
sourceSelect.append(this.makeOption('', localize('selectSource', "Select source"), true));
|
||||
- sourceSelect.append(this.makeOption('vscode', localize('vscode', "Visual Studio Code"), false));
|
||||
+ sourceSelect.append(this.makeOption('vscode', localize('vscode', "VSCodium"), false));
|
||||
sourceSelect.append(this.makeOption('extension', localize('extension', "An extension"), false));
|
||||
diff --git a/src/vs/code/electron-sandbox/issue/issueReporterModel.ts b/src/vs/code/electron-sandbox/issue/issueReporterModel.ts
|
||||
index 98338df..6d2f581 100644
|
||||
--- a/src/vs/code/electron-sandbox/issue/issueReporterModel.ts
|
||||
+++ b/src/vs/code/electron-sandbox/issue/issueReporterModel.ts
|
||||
@@ -77,3 +77,3 @@ ${this._data.issueDescription}
|
||||
- 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.product.reportMarketplaceIssueUrl) {
|
||||
@@ -905,3 +874,3 @@ export class BaseIssueReporterService 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));
|
||||
diff --git a/src/vs/workbench/contrib/issue/browser/issueReporterModel.ts b/src/vs/workbench/contrib/issue/browser/issueReporterModel.ts
|
||||
index 4394874..a9c3f57 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}
|
||||
${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/code/electron-sandbox/issue/issueReporterPage.ts b/src/vs/code/electron-sandbox/issue/issueReporterPage.ts
|
||||
index 0eedb21..c83e092 100644
|
||||
--- a/src/vs/code/electron-sandbox/issue/issueReporterPage.ts
|
||||
+++ b/src/vs/code/electron-sandbox/issue/issueReporterPage.ts
|
||||
@@ -17,3 +17,3 @@ const reviewGuidanceLabel = localize( // intentionally not escaped because of it
|
||||
diff --git a/src/vs/workbench/contrib/issue/browser/issueReporterPage.ts b/src/vs/workbench/contrib/issue/browser/issueReporterPage.ts
|
||||
index 195857e..68163c0 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
|
||||
comment: [
|
||||
- '{Locked="<a href=\"https://github.com/microsoft/vscode/wiki/Submitting-Bugs-and-Suggestions\" target=\"_blank\">"}',
|
||||
+ '{Locked="<a href=\"https://github.com/VSCodium/vscodium/wiki/Submitting-Bugs-and-Suggestions\" target=\"_blank\">"}',
|
||||
'{Locked="</a>"}'
|
||||
@@ -21,3 +21,3 @@ const reviewGuidanceLabel = localize( // intentionally not escaped because of it
|
||||
@@ -22,3 +22,3 @@ const reviewGuidanceLabel = localize( // intentionally not escaped because of it
|
||||
},
|
||||
- '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/extensions/electron-sandbox/extensionsSlowActions.ts b/src/vs/workbench/contrib/extensions/electron-sandbox/extensionsSlowActions.ts
|
||||
index 87839a6..49727fc 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 {
|
||||
- OS Version: \`${osVersion}\`
|
||||
-- VS Code version: \`${this._productService.version}\`\n\n${message}`);
|
||||
+- VSCodium version: \`${this._productService.version}\`\n\n${message}`);
|
||||
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));
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
diff --git a/src/vs/platform/update/electron-main/updateService.win32.ts b/src/vs/platform/update/electron-main/updateService.win32.ts
|
||||
index d45291e..74d4080 100644
|
||||
index a2561be..a50958e 100644
|
||||
--- a/src/vs/platform/update/electron-main/updateService.win32.ts
|
||||
+++ b/src/vs/platform/update/electron-main/updateService.win32.ts
|
||||
@@ -55,3 +55,3 @@ export class Win32UpdateService extends AbstractUpdateService {
|
||||
@@ -56,3 +56,3 @@ export class Win32UpdateService extends AbstractUpdateService implements IRelaun
|
||||
get cachePath(): Promise<string> {
|
||||
- const result = path.join(tmpdir(), `vscode-${this.productService.quality}-${this.productService.target}-${process.arch}`);
|
||||
+ const result = path.join(tmpdir(), `${this.productService.applicationName}-${this.productService.quality}-${this.productService.target}-${process.arch}`);
|
||||
return pfs.Promises.mkdir(result, { recursive: true }).then(() => result);
|
||||
return fs.promises.mkdir(result, { recursive: true }).then(() => result);
|
||||
|
||||
@@ -33,29 +33,3 @@ index ebc4749..18fd732 100644
|
||||
+export function isHostedGitHubEnterprise(_uri: Uri): boolean {
|
||||
+ return false;
|
||||
}
|
||||
diff --git a/src/vs/workbench/browser/parts/activitybar/activitybarActions.ts b/src/vs/workbench/browser/parts/activitybar/activitybarActions.ts
|
||||
index d09cfa0..dacbde5 100644
|
||||
--- a/src/vs/workbench/browser/parts/activitybar/activitybarActions.ts
|
||||
+++ b/src/vs/workbench/browser/parts/activitybar/activitybarActions.ts
|
||||
@@ -356,3 +356,3 @@ export class AccountsActivityActionViewItem extends MenuActivityActionViewItem {
|
||||
|
||||
- if (providers.length && !menus.length) {
|
||||
+ if (!menus.length) {
|
||||
const noAccountsAvailableAction = disposables.add(new Action('noAccountsAvailable', localize('noAccounts', "You are not signed in to any accounts"), undefined, false));
|
||||
diff --git a/src/vs/workbench/services/authentication/browser/authenticationService.ts b/src/vs/workbench/services/authentication/browser/authenticationService.ts
|
||||
index f6c2f14..aa27b28 100644
|
||||
--- a/src/vs/workbench/services/authentication/browser/authenticationService.ts
|
||||
+++ b/src/vs/workbench/services/authentication/browser/authenticationService.ts
|
||||
@@ -284,12 +284,2 @@ export class AuthenticationService extends Disposable implements IAuthentication
|
||||
}
|
||||
-
|
||||
- if (!this._authenticationProviders.size) {
|
||||
- placeholderMenuItem = MenuRegistry.appendMenuItem(MenuId.AccountsContext, {
|
||||
- command: {
|
||||
- id: 'noAuthenticationProviders',
|
||||
- title: nls.localize('loading', "Loading..."),
|
||||
- precondition: ContextKeyExpr.false()
|
||||
- },
|
||||
- });
|
||||
- }
|
||||
}
|
||||
|
||||
9
patches/windows/update-msi.patch
Normal file
9
patches/windows/update-msi.patch
Normal file
@@ -0,0 +1,9 @@
|
||||
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' };
|
||||
@@ -1,5 +1,5 @@
|
||||
diff --git a/src/vs/platform/update/common/update.ts b/src/vs/platform/update/common/update.ts
|
||||
index 7cd4a84..7cbdf21 100644
|
||||
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 {
|
||||
@@ -9,7 +9,7 @@ index 7cd4a84..7cbdf21 100644
|
||||
+ WindowsInstaller,
|
||||
}
|
||||
diff --git a/src/vs/platform/update/electron-main/updateService.win32.ts b/src/vs/platform/update/electron-main/updateService.win32.ts
|
||||
index d45291e..4d8c5df 100644
|
||||
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 {
|
||||
@@ -25,7 +25,7 @@ index d45291e..4d8c5df 100644
|
||||
+ _updateType = UpdateType.Archive;
|
||||
+ }
|
||||
}
|
||||
@@ -89,6 +93,13 @@ export class Win32UpdateService extends AbstractUpdateService {
|
||||
@@ -103,6 +107,16 @@ export class Win32UpdateService extends AbstractUpdateService implements IRelaun
|
||||
|
||||
- if (getUpdateType() === UpdateType.Archive) {
|
||||
- platform += '-archive';
|
||||
@@ -41,9 +41,12 @@ index d45291e..4d8c5df 100644
|
||||
+ default:
|
||||
+ if (this.productService.target === 'user') {
|
||||
+ platform += '-user';
|
||||
+ }
|
||||
+ else {
|
||||
+ platform += '-system';
|
||||
+ }
|
||||
}
|
||||
@@ -243,6 +254,14 @@ export class Win32UpdateService extends AbstractUpdateService {
|
||||
@@ -257,6 +271,14 @@ export class Win32UpdateService extends AbstractUpdateService implements IRelaun
|
||||
} else {
|
||||
- spawn(this.availableUpdate.packagePath, ['/silent', '/log', '/mergetasks=runcode,!desktopicon,!quicklaunchicon'], {
|
||||
- detached: true,
|
||||
@@ -5,46 +5,61 @@ set -e
|
||||
|
||||
APP_NAME_LC="$( echo "${APP_NAME}" | awk '{print tolower($0)}' )"
|
||||
|
||||
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
|
||||
if [[ "${CI_BUILD}" != "no" ]]; then
|
||||
cd "VSCode-darwin-${VSCODE_ARCH}"
|
||||
if [[ -n "${CERTIFICATE_OSX_P12_DATA}" ]]; then
|
||||
if [[ "${CI_BUILD}" == "no" ]]; then
|
||||
RUNNER_TEMP="${TMPDIR}"
|
||||
fi
|
||||
|
||||
CERTIFICATE_P12="${APP_NAME}.p12"
|
||||
KEYCHAIN="${RUNNER_TEMP}/build.keychain"
|
||||
KEYCHAIN="${RUNNER_TEMP}/buildagent.keychain"
|
||||
AGENT_TEMPDIRECTORY="${RUNNER_TEMP}"
|
||||
# shellcheck disable=SC2006
|
||||
KEYCHAINS=`security list-keychains | xargs`
|
||||
|
||||
echo "${CERTIFICATE_OSX_P12}" | base64 --decode > "${CERTIFICATE_P12}"
|
||||
rm -f "${KEYCHAIN}"
|
||||
|
||||
echo "${CERTIFICATE_OSX_P12_DATA}" | base64 --decode > "${CERTIFICATE_P12}"
|
||||
|
||||
echo "+ create temporary keychain"
|
||||
security create-keychain -p mysecretpassword "${KEYCHAIN}"
|
||||
security create-keychain -p pwd "${KEYCHAIN}"
|
||||
security set-keychain-settings -lut 21600 "${KEYCHAIN}"
|
||||
security unlock-keychain -p mysecretpassword "${KEYCHAIN}"
|
||||
security list-keychains -s "$(security list-keychains | xargs)" "${KEYCHAIN}"
|
||||
# security list-keychains -d user
|
||||
# security show-keychain-info ${KEYCHAIN}
|
||||
security unlock-keychain -p pwd "${KEYCHAIN}"
|
||||
# shellcheck disable=SC2086
|
||||
security list-keychains -s $KEYCHAINS "${KEYCHAIN}"
|
||||
# security show-keychain-info "${KEYCHAIN}"
|
||||
|
||||
echo "+ import certificate to keychain"
|
||||
security import "${CERTIFICATE_P12}" -k "${KEYCHAIN}" -P "${CERTIFICATE_OSX_PASSWORD}" -T /usr/bin/codesign
|
||||
security set-key-partition-list -S apple-tool:,apple:,codesign: -s -k mysecretpassword "${KEYCHAIN}" > /dev/null
|
||||
security import "${CERTIFICATE_P12}" -k "${KEYCHAIN}" -P "${CERTIFICATE_OSX_P12_PASSWORD}" -T /usr/bin/codesign
|
||||
security set-key-partition-list -S apple-tool:,apple:,codesign: -s -k pwd "${KEYCHAIN}" > /dev/null
|
||||
# security find-identity "${KEYCHAIN}"
|
||||
|
||||
CODESIGN_IDENTITY="$( security find-identity -v -p codesigning "${KEYCHAIN}" | grep -oEi "([0-9A-F]{40})" | head -n 1 )"
|
||||
|
||||
echo "+ signing"
|
||||
if [[ "${VSCODE_QUALITY}" == "insider" ]]; then
|
||||
codesign --deep --force --verbose --sign "${CERTIFICATE_OSX_ID}" "${APP_NAME} - Insiders.app"
|
||||
else
|
||||
codesign --deep --force --verbose --sign "${CERTIFICATE_OSX_ID}" "${APP_NAME}.app"
|
||||
fi
|
||||
export CODESIGN_IDENTITY AGENT_TEMPDIRECTORY
|
||||
|
||||
DEBUG="electron-osx-sign*" node vscode/build/darwin/sign.js "$( pwd )"
|
||||
# codesign --display --entitlements :- ""
|
||||
|
||||
echo "+ notarize"
|
||||
|
||||
cd "VSCode-darwin-${VSCODE_ARCH}"
|
||||
ZIP_FILE="./${APP_NAME}-darwin-${VSCODE_ARCH}-${RELEASE_VERSION}.zip"
|
||||
|
||||
zip -r -X -y "${ZIP_FILE}" ./*.app
|
||||
|
||||
xcrun notarytool store-credentials "${APP_NAME}" --apple-id "${CERTIFICATE_OSX_ID}" --team-id "${CERTIFICATE_OSX_TEAM_ID}" --password "${CERTIFICATE_OSX_APP_PASSWORD}" --keychain "${KEYCHAIN}"
|
||||
# xcrun notarytool history --keychain-profile "${APP_NAME}" --keychain "${KEYCHAIN}"
|
||||
xcrun notarytool submit "${ZIP_FILE}" --keychain-profile "${APP_NAME}" --wait --keychain "${KEYCHAIN}"
|
||||
|
||||
echo "+ attach staple"
|
||||
xcrun stapler staple ./*.app
|
||||
# spctl --assess -vv --type install ./*.app
|
||||
|
||||
rm "${ZIP_FILE}"
|
||||
|
||||
cd ..
|
||||
fi
|
||||
@@ -59,8 +74,8 @@ if [[ "${OS_NAME}" == "osx" ]]; then
|
||||
if [[ "${SHOULD_BUILD_DMG}" != "no" ]]; then
|
||||
echo "Building and moving DMG"
|
||||
pushd "VSCode-darwin-${VSCODE_ARCH}"
|
||||
npx create-dmg ./*.app ..
|
||||
mv ../*.dmg "../assets/${APP_NAME}.${VSCODE_ARCH}.${RELEASE_VERSION}.dmg"
|
||||
npx create-dmg ./*.app .
|
||||
mv ./*.dmg "../assets/${APP_NAME}.${VSCODE_ARCH}.${RELEASE_VERSION}.dmg"
|
||||
popd
|
||||
fi
|
||||
|
||||
@@ -69,6 +84,13 @@ if [[ "${OS_NAME}" == "osx" ]]; then
|
||||
git archive --format zip --output="./assets/${APP_NAME}-${RELEASE_VERSION}-src.zip" HEAD
|
||||
fi
|
||||
|
||||
if [[ -n "${CERTIFICATE_OSX_P12_DATA}" ]]; then
|
||||
echo "+ clean"
|
||||
security delete-keychain "${KEYCHAIN}"
|
||||
# shellcheck disable=SC2086
|
||||
security list-keychains -s $KEYCHAINS
|
||||
fi
|
||||
|
||||
VSCODE_PLATFORM="darwin"
|
||||
elif [[ "${OS_NAME}" == "windows" ]]; then
|
||||
cd vscode || { echo "'vscode' dir not found"; exit 1; }
|
||||
@@ -125,6 +147,10 @@ elif [[ "${OS_NAME}" == "windows" ]]; then
|
||||
else
|
||||
cd vscode || { echo "'vscode' dir not found"; exit 1; }
|
||||
|
||||
if [[ "${SHOULD_BUILD_APPIMAGE}" != "no" && "${VSCODE_ARCH}" != "x64" ]]; then
|
||||
SHOULD_BUILD_APPIMAGE="no"
|
||||
fi
|
||||
|
||||
if [[ "${SHOULD_BUILD_DEB}" != "no" || "${SHOULD_BUILD_APPIMAGE}" != "no" ]]; then
|
||||
yarn gulp "vscode-linux-${VSCODE_ARCH}-build-deb"
|
||||
fi
|
||||
@@ -139,6 +165,14 @@ else
|
||||
|
||||
cd ..
|
||||
|
||||
if [[ "${CI_BUILD}" == "no" ]]; then
|
||||
. ./stores/snapcraft/build.sh
|
||||
|
||||
if [[ "${SKIP_ASSETS}" == "no" ]]; then
|
||||
mv stores/snapcraft/build/*.snap assets/
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ "${SHOULD_BUILD_TAR}" != "no" ]]; then
|
||||
echo "Building and moving TAR"
|
||||
cd "VSCode-linux-${VSCODE_ARCH}"
|
||||
@@ -173,12 +207,13 @@ if [[ "${SHOULD_BUILD_REH}" != "no" ]]; then
|
||||
cd ..
|
||||
fi
|
||||
|
||||
cd assets
|
||||
if [[ "${SHOULD_BUILD_REH_WEB}" != "no" ]]; then
|
||||
echo "Building and moving REH-web"
|
||||
cd "vscode-reh-web-${VSCODE_PLATFORM}-${VSCODE_ARCH}"
|
||||
tar czf "../assets/${APP_NAME_LC}-reh-web-${VSCODE_PLATFORM}-${VSCODE_ARCH}-${RELEASE_VERSION}.tar.gz" .
|
||||
cd ..
|
||||
fi
|
||||
|
||||
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
23
prepare_checksums.sh
Executable 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 ..
|
||||
29
prepare_src.sh
Executable file
29
prepare_src.sh
Executable file
@@ -0,0 +1,29 @@
|
||||
#!/usr/bin/env bash
|
||||
# shellcheck disable=SC1091
|
||||
|
||||
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
|
||||
}
|
||||
|
||||
mkdir -p assets
|
||||
|
||||
git archive --format tar.gz --output="./assets/${APP_NAME}-${RELEASE_VERSION}-src.tar.gz" HEAD
|
||||
git archive --format zip --output="./assets/${APP_NAME}-${RELEASE_VERSION}-src.zip" HEAD
|
||||
|
||||
cd assets
|
||||
|
||||
for FILE in *; do
|
||||
if [[ -f "${FILE}" ]]; then
|
||||
sum_file "${FILE}"
|
||||
fi
|
||||
done
|
||||
|
||||
cd ..
|
||||
@@ -24,6 +24,7 @@ cd vscode || { echo "'vscode' dir not found"; exit 1; }
|
||||
for file in ../patches/*.patch; do
|
||||
if [[ -f "${file}" ]]; then
|
||||
echo applying patch: "${file}";
|
||||
# grep '^+++' "${file}" | sed -e 's#+++ [ab]/#./vscode/#' | while read line; do shasum -a 256 "${line}"; done
|
||||
if ! git apply --ignore-whitespace "${file}"; then
|
||||
echo failed to apply patch "${file}" >&2
|
||||
exit 1
|
||||
@@ -53,38 +54,46 @@ for file in ../patches/user/*.patch; do
|
||||
fi
|
||||
done
|
||||
|
||||
if [[ -d "../patches/${OS_NAME}/" ]]; then
|
||||
for file in "../patches/${OS_NAME}/"*.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
|
||||
|
||||
set -x
|
||||
|
||||
export ELECTRON_SKIP_BINARY_DOWNLOAD=1
|
||||
export PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD=1
|
||||
|
||||
if [[ "${OS_NAME}" == "osx" ]]; then
|
||||
CHILD_CONCURRENCY=1 yarn --frozen-lockfile --network-timeout 180000
|
||||
if [[ "${OS_NAME}" == "linux" ]]; then
|
||||
export VSCODE_SKIP_NODE_VERSION_CHECK=1
|
||||
|
||||
yarn postinstall
|
||||
else
|
||||
if [[ "${npm_config_arch}" == "arm" ]]; then
|
||||
export npm_config_arm_version=7
|
||||
fi
|
||||
elif [[ "${OS_NAME}" == "windows" ]]; then
|
||||
if [[ "${npm_config_arch}" == "arm" ]]; then
|
||||
export npm_config_arm_version=7
|
||||
elif [[ "${npm_config_arch}" == "ia32" ]]; 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 clone https://github.com/rzhao271/node-gyp.git .
|
||||
git checkout 102b347da0c92c29f9c67df22e864e70249cf086
|
||||
npm install
|
||||
|
||||
npm_config_node_gyp=$( pwd )
|
||||
export npm_config_node_gyp
|
||||
|
||||
cd ../..
|
||||
fi
|
||||
|
||||
CHILD_CONCURRENCY=1 yarn --frozen-lockfile --network-timeout 180000
|
||||
fi
|
||||
|
||||
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
|
||||
{ set +x; } 2>/dev/null
|
||||
|
||||
132
product.json
132
product.json
@@ -48,7 +48,9 @@
|
||||
],
|
||||
"extensionEnabledApiProposals": {
|
||||
"ms-vscode.vscode-selfhost-test-provider": [
|
||||
"testObserver"
|
||||
"testObserver",
|
||||
"testRelatedCode",
|
||||
"attributableCoverage"
|
||||
],
|
||||
"VisualStudioExptTeam.vscodeintellicode-completions": [
|
||||
"inlineCompletionsAdditions"
|
||||
@@ -77,16 +79,17 @@
|
||||
"resolvers"
|
||||
],
|
||||
"ms-python.python": [
|
||||
"codeActionAI",
|
||||
"contribEditorContentMenu",
|
||||
"quickPickSortByLabel",
|
||||
"portsAttributes",
|
||||
"testObserver",
|
||||
"envShellEvent",
|
||||
"quickPickItemTooltip",
|
||||
"terminalDataWriteEvent",
|
||||
"envCollectionWorkspace",
|
||||
"saveEditor",
|
||||
"envCollectionOptions"
|
||||
"terminalExecuteCommandEvent",
|
||||
"contribIssueReporter",
|
||||
"notebookReplDocument",
|
||||
"notebookVariableProvider"
|
||||
],
|
||||
"ms-dotnettools.dotnet-interactive-vscode": [
|
||||
"notebookMessaging"
|
||||
@@ -144,7 +147,8 @@
|
||||
],
|
||||
"ms-vscode.remote-server": [
|
||||
"resolvers",
|
||||
"tunnels"
|
||||
"tunnels",
|
||||
"contribViewsWelcome"
|
||||
],
|
||||
"ms-vscode.remote-explorer": [
|
||||
"contribRemoteHelp",
|
||||
@@ -154,6 +158,7 @@
|
||||
"ms-vscode-remote.remote-containers": [
|
||||
"contribEditSessions",
|
||||
"resolvers",
|
||||
"portsAttributes",
|
||||
"tunnels",
|
||||
"workspaceTrust",
|
||||
"terminalDimensions",
|
||||
@@ -169,40 +174,71 @@
|
||||
"ms-vscode.lsif-browser": [
|
||||
"documentFiltersExclusive"
|
||||
],
|
||||
"ms-vscode.vscode-speech": [
|
||||
"speech"
|
||||
],
|
||||
"GitHub.vscode-pull-request-github": [
|
||||
"contribCommentThreadAdditionalMenu",
|
||||
"tokenInformation",
|
||||
"contribShareMenu",
|
||||
"fileComments",
|
||||
"contribCommentPeekContext",
|
||||
"activeComment",
|
||||
"codiconDecoration",
|
||||
"diffCommand",
|
||||
"codeActionRanges",
|
||||
"commentingRangeHint",
|
||||
"commentReactor",
|
||||
"commentReveal",
|
||||
"commentThreadApplicability",
|
||||
"contribAccessibilityHelpContent",
|
||||
"contribCommentEditorActionsMenu",
|
||||
"readonlyMessage",
|
||||
"shareProvider",
|
||||
"contribCommentPeekContext",
|
||||
"contribCommentThreadAdditionalMenu",
|
||||
"contribCommentsViewThreadMenus",
|
||||
"contribEditorContentMenu",
|
||||
"contribMultiDiffEditorMenus",
|
||||
"contribShareMenu",
|
||||
"diffCommand",
|
||||
"fileComments",
|
||||
"quickDiffProvider",
|
||||
"quickPickItemIcon"
|
||||
"shareProvider",
|
||||
"tabInputTextMerge",
|
||||
"tokenInformation",
|
||||
"treeViewMarkdownMessage"
|
||||
],
|
||||
"GitHub.copilot": [
|
||||
"inlineCompletionsAdditions",
|
||||
"interactive",
|
||||
"interactiveUserActions",
|
||||
"semanticSimilarity",
|
||||
"terminalDataWriteEvent"
|
||||
"inlineCompletionsAdditions"
|
||||
],
|
||||
"GitHub.copilot-nightly": [
|
||||
"inlineCompletionsAdditions",
|
||||
"interactive",
|
||||
"interactiveUserActions",
|
||||
"semanticSimilarity",
|
||||
"terminalDataWriteEvent"
|
||||
"inlineCompletionsAdditions"
|
||||
],
|
||||
"GitHub.copilot-chat": [
|
||||
"handleIssueUri",
|
||||
"interactive",
|
||||
"interactiveUserActions",
|
||||
"semanticSimilarity",
|
||||
"terminalDataWriteEvent"
|
||||
"terminalDataWriteEvent",
|
||||
"terminalExecuteCommandEvent",
|
||||
"terminalSelection",
|
||||
"terminalQuickFixProvider",
|
||||
"chatParticipantAdditions",
|
||||
"defaultChatParticipant",
|
||||
"embeddings",
|
||||
"chatVariableResolver",
|
||||
"chatProvider",
|
||||
"mappedEditsProvider",
|
||||
"aiRelatedInformation",
|
||||
"codeActionAI",
|
||||
"findTextInFiles",
|
||||
"textSearchProvider",
|
||||
"activeComment",
|
||||
"commentReveal",
|
||||
"contribSourceControlInputBoxMenu",
|
||||
"contribCommentEditorActionsMenu",
|
||||
"contribCommentThreadAdditionalMenu",
|
||||
"contribCommentsViewThreadMenus",
|
||||
"newSymbolNamesProvider",
|
||||
"findFiles2",
|
||||
"extensionsAny",
|
||||
"authLearnMore",
|
||||
"testObserver",
|
||||
"aiTextSearchProvider",
|
||||
"documentFiltersExclusive",
|
||||
"chatParticipantPrivate",
|
||||
"contribDebugCreateConfiguration",
|
||||
"inlineEdit"
|
||||
],
|
||||
"GitHub.remotehub": [
|
||||
"contribRemoteHelp",
|
||||
@@ -225,6 +261,12 @@
|
||||
"ms-python.vscode-pylance": [
|
||||
"notebookCellExecutionState"
|
||||
],
|
||||
"ms-python.debugpy": [
|
||||
"contribIssueReporter",
|
||||
"contribViewsWelcome",
|
||||
"debugVisualization",
|
||||
"portsAttributes"
|
||||
],
|
||||
"ms-toolsai.jupyter-renderers": [
|
||||
"contribNotebookStaticPreloads"
|
||||
],
|
||||
@@ -240,7 +282,10 @@
|
||||
"notebookControllerAffinityHidden",
|
||||
"contribNotebookStaticPreloads",
|
||||
"quickPickItemTooltip",
|
||||
"notebookExecution"
|
||||
"notebookExecution",
|
||||
"notebookCellExecution",
|
||||
"notebookVariableProvider",
|
||||
"notebookReplDocument"
|
||||
],
|
||||
"dbaeumer.vscode-eslint": [
|
||||
"notebookCellExecutionState"
|
||||
@@ -251,9 +296,6 @@
|
||||
"ms-azuretools.vscode-azureappservice": [
|
||||
"terminalDataWriteEvent"
|
||||
],
|
||||
"ms-azuretools.vscode-azureresourcegroups": [
|
||||
"authGetSessions"
|
||||
],
|
||||
"ms-vscode.anycode": [
|
||||
"extensionsAny"
|
||||
],
|
||||
@@ -263,15 +305,13 @@
|
||||
"redhat.java": [
|
||||
"documentPaste"
|
||||
],
|
||||
"vscjava.vscode-java-pack": [],
|
||||
"ms-dotnettools.csdevkit": [
|
||||
"inlineCompletionsAdditions"
|
||||
],
|
||||
"ms-dotnettools.vscodeintellicode-csharp": [
|
||||
"inlineCompletionsAdditions"
|
||||
],
|
||||
"digitarald.chat-plugins": [
|
||||
"interactiveSlashCommands"
|
||||
],
|
||||
"microsoft-IsvExpTools.powerplatform-vscode": [
|
||||
"fileSearchProvider",
|
||||
"textSearchProvider"
|
||||
@@ -280,12 +320,32 @@
|
||||
"fileSearchProvider",
|
||||
"textSearchProvider"
|
||||
],
|
||||
"TeamsDevApp.ms-teams-vscode-extension": [
|
||||
"chatParticipantAdditions",
|
||||
"languageModelSystem"
|
||||
],
|
||||
"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",
|
||||
"tunnels",
|
||||
"terminalDataWriteEvent",
|
||||
"contribRemoteHelp",
|
||||
"contribViewsRemote"
|
||||
],
|
||||
"jeanp413.open-remote-wsl": [
|
||||
"resolvers",
|
||||
"contribRemoteHelp",
|
||||
"contribViewsRemote"
|
||||
]
|
||||
},
|
||||
"extensionKind": {
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
set -e
|
||||
|
||||
if [[ -z "${GITHUB_TOKEN}" ]]; then
|
||||
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"
|
||||
exit
|
||||
fi
|
||||
|
||||
12
src/insider/resources/linux/code-url-handler.desktop
Normal file
12
src/insider/resources/linux/code-url-handler.desktop
Normal file
@@ -0,0 +1,12 @@
|
||||
[Desktop Entry]
|
||||
Name=@@NAME_LONG@@ - URL Handler
|
||||
Comment=Code Editing. Redefined.
|
||||
GenericName=Text Editor
|
||||
Exec=@@EXEC@@ --open-url %U
|
||||
Icon=@@ICON@@
|
||||
Type=Application
|
||||
NoDisplay=true
|
||||
StartupNotify=true
|
||||
Categories=Utility;TextEditor;Development;IDE;
|
||||
MimeType=x-scheme-handler/@@URLPROTOCOL@@;
|
||||
Keywords=vscodium;codium;vscode;
|
||||
18
src/insider/resources/linux/code.appdata.xml
Normal file
18
src/insider/resources/linux/code.appdata.xml
Normal file
@@ -0,0 +1,18 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<component type="desktop">
|
||||
<id>@@NAME@@.desktop</id>
|
||||
<metadata_license>@@LICENSE@@</metadata_license>
|
||||
<project_license>@@LICENSE@@</project_license>
|
||||
<name>@@NAME_LONG@@</name>
|
||||
<url type="homepage">https://www.vscodium.com</url>
|
||||
<summary>VSCodium. Code editing. Redefined.</summary>
|
||||
<description>
|
||||
<p>VSCodium is a community-driven, freely-licensed binary distribution of Microsoft's editor VS Code.</p>
|
||||
</description>
|
||||
<screenshots>
|
||||
<screenshot type="default">
|
||||
<image>https://www.vscodium.com/img/vscodium.png</image>
|
||||
<caption>Editing C</caption>
|
||||
</screenshot>
|
||||
</screenshots>
|
||||
</component>
|
||||
27
src/insider/resources/linux/code.desktop
Executable file
27
src/insider/resources/linux/code.desktop
Executable file
@@ -0,0 +1,27 @@
|
||||
[Desktop Entry]
|
||||
Name=@@NAME_LONG@@
|
||||
Comment=Code Editing. Redefined.
|
||||
GenericName=Text Editor
|
||||
Exec=@@EXEC@@ %F
|
||||
Icon=@@ICON@@
|
||||
Type=Application
|
||||
StartupNotify=false
|
||||
StartupWMClass=@@NAME_SHORT@@
|
||||
Categories=TextEditor;Development;IDE;
|
||||
MimeType=text/plain;inode/directory;application/x-@@NAME@@-workspace;
|
||||
Actions=new-empty-window;
|
||||
Keywords=vscodium;codium;vscode;
|
||||
|
||||
[Desktop Action new-empty-window]
|
||||
Name=New Empty Window
|
||||
Name[de]=Neues leeres Fenster
|
||||
Name[es]=Nueva ventana vacía
|
||||
Name[fr]=Nouvelle fenêtre vide
|
||||
Name[it]=Nuova finestra vuota
|
||||
Name[ja]=新しい空のウィンドウ
|
||||
Name[ko]=새 빈 창
|
||||
Name[ru]=Новое пустое окно
|
||||
Name[zh_CN]=新建空窗口
|
||||
Name[zh_TW]=開新空視窗
|
||||
Exec=@@EXEC@@ --new-window %F
|
||||
Icon=@@ICON@@
|
||||
27
src/insider/resources/linux/code.svg
Normal file
27
src/insider/resources/linux/code.svg
Normal file
@@ -0,0 +1,27 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0" y="0" width="1024" height="1024" viewBox="0, 0, 100, 100">
|
||||
<defs>
|
||||
<linearGradient id="Gradient_1" gradientUnits="userSpaceOnUse" x1="-0.003" y1="1.302" x2="96.665" y2="94.573">
|
||||
<stop offset="0" stop-color="#FFB062"/>
|
||||
<stop offset="1" stop-color="#E04F00"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="Gradient_2" gradientUnits="userSpaceOnUse" x1="55.473" y1="106.34" x2="55.473" y2="82.148" gradientTransform="matrix(3.983, 0, 0, 3.983, -219.133, -327.2)">
|
||||
<stop offset="0" stop-color="#E6E6E6"/>
|
||||
<stop offset="1" stop-color="#FFFFFF"/>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<symbol id="circle">
|
||||
<path d="M50,3.642 L50,3.642 C76.608,3.642 98.179,25.213 98.179,51.821 L98.179,51.821 C98.179,78.43 76.608,100 50,100 L50,100 C23.392,100 1.821,78.43 1.821,51.821 L1.821,51.821 C1.821,25.213 23.392,3.642 50,3.642 z" fill="#808080" id="rect6638" opacity="0.5"/>
|
||||
<path d="M50,0 L50,0 C76.608,0 98.179,21.57 98.179,48.179 L98.179,48.179 C98.179,74.787 76.608,96.358 50,96.358 L50,96.358 C23.392,96.358 1.821,74.787 1.821,48.179 L1.821,48.179 C1.821,21.57 23.392,0 50,0 z" fill="url(#Gradient_2)" id="rect5668" />
|
||||
</symbol>
|
||||
<symbol id="codium">
|
||||
<path d="M48.26,2.274 C45.406,4.105 44.583,7.898 46.422,10.742 C56.531,26.397 58.917,38.205 57.882,48.553 C53.698,68.369 44.603,72.389 36.655,72.389 C28.895,72.389 30.973,59.618 36.806,55.88 C40.288,53.706 44.748,52.293 48.171,52.293 C51.563,52.293 54.313,49.552 54.313,46.17 C54.313,42.787 51.563,40.046 48.171,40.046 C44.173,40.046 40.251,40.886 36.59,42.316 C37.338,38.787 37.614,34.973 36.647,30.919 C35.179,24.763 30.953,18.883 23.615,13.183 C22.33,12.183 20.7,11.734 19.083,11.934 C17.466,12.134 15.995,12.966 14.994,14.248 C12.912,16.918 13.394,20.766 16.072,22.843 C22.05,27.486 24.024,30.923 24.699,33.752 C25.374,36.581 24.831,39.616 23.475,43.786 C21.742,49.406 19.73,54.423 18.848,59.234 C18.414,61.602 18.377,64.179 18.265,66.238 C13.96,62.042 12.275,56.502 12.275,48.407 C12.274,45.025 9.524,42.283 6.133,42.284 C2.744,42.287 -0.002,45.027 -0.003,48.407 C-0.003,59.463 3.23,69.983 11.895,77.001 C19.739,84.474 39.686,81.712 39.686,93.709 C39.686,97.095 44.642,98.743 48.033,98.743 C51.511,98.743 55.888,96.418 55.888,93.709 C55.888,80.097 70.233,71.824 93.848,71.86 C97.24,71.865 99.992,69.126 99.997,65.744 C100.003,62.361 97.259,59.614 93.867,59.608 C92.252,59.606 90.678,59.661 89.126,59.753 C91.766,53.544 92.937,46.708 92.695,39.324 C92.583,35.943 89.745,33.293 86.356,33.403 C82.963,33.513 80.305,36.346 80.416,39.729 C80.736,49.397 80.374,58.03 73.171,62.581 C71.123,63.874 68.742,64.996 66.484,64.996 C68.237,60.228 69.561,55.195 70.103,49.77 C70.449,46.308 70.486,42.195 70.091,39 C69.478,34.05 68.738,28.436 70.617,24.207 C72.305,20.565 76.087,19.04 81.64,19.04 C85.029,19.037 87.775,16.296 87.776,12.917 C87.778,9.534 85.031,6.79 81.64,6.787 C73.388,6.787 67.133,11.13 63.587,16.377 C61.733,12.417 59.475,8.336 56.747,4.112 C55.866,2.747 54.478,1.788 52.887,1.443 C52.099,1.272 51.285,1.257 50.491,1.399 C49.697,1.542 48.939,1.839 48.26,2.274 z" fill="url(#Gradient_1)" id="path6008"/>
|
||||
</symbol>
|
||||
<g id="Layer_1" transform="translate(1.8 1.8),scale(0.965)">
|
||||
<use href="#circle"/>
|
||||
</g>
|
||||
<g id="Layer_2" transform="translate(16.4 14.9),scale(0.67)">
|
||||
<use href="#codium"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 3.5 KiB |
12
src/stable/resources/linux/code-url-handler.desktop
Normal file
12
src/stable/resources/linux/code-url-handler.desktop
Normal file
@@ -0,0 +1,12 @@
|
||||
[Desktop Entry]
|
||||
Name=@@NAME_LONG@@ - URL Handler
|
||||
Comment=Code Editing. Redefined.
|
||||
GenericName=Text Editor
|
||||
Exec=@@EXEC@@ --open-url %U
|
||||
Icon=@@ICON@@
|
||||
Type=Application
|
||||
NoDisplay=true
|
||||
StartupNotify=true
|
||||
Categories=Utility;TextEditor;Development;IDE;
|
||||
MimeType=x-scheme-handler/@@URLPROTOCOL@@;
|
||||
Keywords=vscodium;codium;vscode;
|
||||
18
src/stable/resources/linux/code.appdata.xml
Normal file
18
src/stable/resources/linux/code.appdata.xml
Normal file
@@ -0,0 +1,18 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<component type="desktop">
|
||||
<id>@@NAME@@.desktop</id>
|
||||
<metadata_license>@@LICENSE@@</metadata_license>
|
||||
<project_license>@@LICENSE@@</project_license>
|
||||
<name>@@NAME_LONG@@</name>
|
||||
<url type="homepage">https://www.vscodium.com</url>
|
||||
<summary>VSCodium. Code editing. Redefined.</summary>
|
||||
<description>
|
||||
<p>VSCodium is a community-driven, freely-licensed binary distribution of Microsoft's editor VS Code.</p>
|
||||
</description>
|
||||
<screenshots>
|
||||
<screenshot type="default">
|
||||
<image>https://www.vscodium.com/img/vscodium.png</image>
|
||||
<caption>Editing C</caption>
|
||||
</screenshot>
|
||||
</screenshots>
|
||||
</component>
|
||||
27
src/stable/resources/linux/code.desktop
Executable file
27
src/stable/resources/linux/code.desktop
Executable file
@@ -0,0 +1,27 @@
|
||||
[Desktop Entry]
|
||||
Name=@@NAME_LONG@@
|
||||
Comment=Code Editing. Redefined.
|
||||
GenericName=Text Editor
|
||||
Exec=@@EXEC@@ %F
|
||||
Icon=@@ICON@@
|
||||
Type=Application
|
||||
StartupNotify=false
|
||||
StartupWMClass=@@NAME_SHORT@@
|
||||
Categories=TextEditor;Development;IDE;
|
||||
MimeType=text/plain;inode/directory;application/x-@@NAME@@-workspace;
|
||||
Actions=new-empty-window;
|
||||
Keywords=vscodium;codium;vscode;
|
||||
|
||||
[Desktop Action new-empty-window]
|
||||
Name=New Empty Window
|
||||
Name[de]=Neues leeres Fenster
|
||||
Name[es]=Nueva ventana vacía
|
||||
Name[fr]=Nouvelle fenêtre vide
|
||||
Name[it]=Nuova finestra vuota
|
||||
Name[ja]=新しい空のウィンドウ
|
||||
Name[ko]=새 빈 창
|
||||
Name[ru]=Новое пустое окно
|
||||
Name[zh_CN]=新建空窗口
|
||||
Name[zh_TW]=開新空視窗
|
||||
Exec=@@EXEC@@ --new-window %F
|
||||
Icon=@@ICON@@
|
||||
27
src/stable/resources/linux/code.svg
Normal file
27
src/stable/resources/linux/code.svg
Normal file
@@ -0,0 +1,27 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0" y="0" width="1024" height="1024" viewBox="0, 0, 100, 100">
|
||||
<defs>
|
||||
<linearGradient id="Gradient_1" gradientUnits="userSpaceOnUse" x1="-0.003" y1="1.302" x2="96.665" y2="94.573">
|
||||
<stop offset="0" stop-color="#62A0EA"/>
|
||||
<stop offset="1" stop-color="#1A5FB4"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="Gradient_2" gradientUnits="userSpaceOnUse" x1="55.473" y1="106.34" x2="55.473" y2="82.148" gradientTransform="matrix(3.983, 0, 0, 3.983, -219.133, -327.2)">
|
||||
<stop offset="0" stop-color="#E6E6E6"/>
|
||||
<stop offset="1" stop-color="#FFFFFF"/>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<symbol id="circle">
|
||||
<path d="M50,3.642 L50,3.642 C76.608,3.642 98.179,25.213 98.179,51.821 L98.179,51.821 C98.179,78.43 76.608,100 50,100 L50,100 C23.392,100 1.821,78.43 1.821,51.821 L1.821,51.821 C1.821,25.213 23.392,3.642 50,3.642 z" fill="#808080" id="rect6638" opacity="0.5"/>
|
||||
<path d="M50,0 L50,0 C76.608,0 98.179,21.57 98.179,48.179 L98.179,48.179 C98.179,74.787 76.608,96.358 50,96.358 L50,96.358 C23.392,96.358 1.821,74.787 1.821,48.179 L1.821,48.179 C1.821,21.57 23.392,0 50,0 z" fill="url(#Gradient_2)" id="rect5668" />
|
||||
</symbol>
|
||||
<symbol id="codium">
|
||||
<path d="M48.26,2.274 C45.406,4.105 44.583,7.898 46.422,10.742 C56.531,26.397 58.917,38.205 57.882,48.553 C53.698,68.369 44.603,72.389 36.655,72.389 C28.895,72.389 30.973,59.618 36.806,55.88 C40.288,53.706 44.748,52.293 48.171,52.293 C51.563,52.293 54.313,49.552 54.313,46.17 C54.313,42.787 51.563,40.046 48.171,40.046 C44.173,40.046 40.251,40.886 36.59,42.316 C37.338,38.787 37.614,34.973 36.647,30.919 C35.179,24.763 30.953,18.883 23.615,13.183 C22.33,12.183 20.7,11.734 19.083,11.934 C17.466,12.134 15.995,12.966 14.994,14.248 C12.912,16.918 13.394,20.766 16.072,22.843 C22.05,27.486 24.024,30.923 24.699,33.752 C25.374,36.581 24.831,39.616 23.475,43.786 C21.742,49.406 19.73,54.423 18.848,59.234 C18.414,61.602 18.377,64.179 18.265,66.238 C13.96,62.042 12.275,56.502 12.275,48.407 C12.274,45.025 9.524,42.283 6.133,42.284 C2.744,42.287 -0.002,45.027 -0.003,48.407 C-0.003,59.463 3.23,69.983 11.895,77.001 C19.739,84.474 39.686,81.712 39.686,93.709 C39.686,97.095 44.642,98.743 48.033,98.743 C51.511,98.743 55.888,96.418 55.888,93.709 C55.888,80.097 70.233,71.824 93.848,71.86 C97.24,71.865 99.992,69.126 99.997,65.744 C100.003,62.361 97.259,59.614 93.867,59.608 C92.252,59.606 90.678,59.661 89.126,59.753 C91.766,53.544 92.937,46.708 92.695,39.324 C92.583,35.943 89.745,33.293 86.356,33.403 C82.963,33.513 80.305,36.346 80.416,39.729 C80.736,49.397 80.374,58.03 73.171,62.581 C71.123,63.874 68.742,64.996 66.484,64.996 C68.237,60.228 69.561,55.195 70.103,49.77 C70.449,46.308 70.486,42.195 70.091,39 C69.478,34.05 68.738,28.436 70.617,24.207 C72.305,20.565 76.087,19.04 81.64,19.04 C85.029,19.037 87.775,16.296 87.776,12.917 C87.778,9.534 85.031,6.79 81.64,6.787 C73.388,6.787 67.133,11.13 63.587,16.377 C61.733,12.417 59.475,8.336 56.747,4.112 C55.866,2.747 54.478,1.788 52.887,1.443 C52.099,1.272 51.285,1.257 50.491,1.399 C49.697,1.542 48.939,1.839 48.26,2.274 z" fill="url(#Gradient_1)" id="path6008"/>
|
||||
</symbol>
|
||||
<g id="Layer_1" transform="translate(1.8 1.8),scale(0.965)">
|
||||
<use href="#circle"/>
|
||||
</g>
|
||||
<g id="Layer_2" transform="translate(16.4 14.9),scale(0.67)">
|
||||
<use href="#codium"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 3.5 KiB |
4
stable.json
Normal file
4
stable.json
Normal file
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"tag": "1.95.1",
|
||||
"commit": "65edc4939843c90c34d61f4ce11704f09d3e5cb6"
|
||||
}
|
||||
@@ -1,35 +1,46 @@
|
||||
#!/usr/bin/env bash
|
||||
# shellcheck disable=SC2129
|
||||
|
||||
set -e
|
||||
|
||||
if [[ "${VSCODE_QUALITY}" == "insider" ]]; then
|
||||
SNAP_NAME="${APP_NAME}-insiders"
|
||||
export SHOULD_BUILD="no"
|
||||
export SHOULD_DEPLOY_TO_RELEASE="no"
|
||||
export SHOULD_DEPLOY_TO_STORE="no"
|
||||
|
||||
# Support for GitHub Enterprise
|
||||
GH_HOST="${GH_HOST:-github.com}"
|
||||
|
||||
if [[ "${GENERATE_ASSETS}" == "true" ]]; then
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
SNAP_NAME="${APP_NAME}"
|
||||
fi
|
||||
wget --quiet "https://api.${GH_HOST}/repos/${ASSETS_REPOSITORY}/releases" -O gh_latest.json
|
||||
SNAP_URL=$( jq -r 'map(select(.tag_name == "'"${RELEASE_VERSION}"'"))|first.assets[].browser_download_url|select(endswith("'"_${ARCHITECTURE}.snap"'"))' gh_latest.json )
|
||||
|
||||
sudo snap install --channel stable --classic snapcraft
|
||||
if [[ -z "${SNAP_URL}" ]]; then
|
||||
export SHOULD_BUILD="yes"
|
||||
export SHOULD_DEPLOY_TO_RELEASE="yes"
|
||||
fi
|
||||
|
||||
echo "Architecture: ${ARCHITECTURE}"
|
||||
if [[ "${VSCODE_QUALITY}" == "stable" ]]; then
|
||||
sudo snap install --channel stable --classic snapcraft
|
||||
|
||||
SNAP_VERSION=$( snapcraft list-revisions "${SNAP_NAME}" | grep -F "stable*" | grep "${ARCHITECTURE}" | tr -s ' ' | cut -d ' ' -f 4 )
|
||||
echo "Snap version: ${SNAP_VERSION}"
|
||||
echo "Architecture: ${ARCHITECTURE}"
|
||||
|
||||
wget --quiet "https://api.github.com/repos/${ASSETS_REPOSITORY}/releases" -O gh_latest.json
|
||||
GH_VERSION=$( jq -r 'sort_by(.tag_name)|last.tag_name' gh_latest.json )
|
||||
echo "GH version: ${GH_VERSION}"
|
||||
SNAP_VERSION=$( snapcraft list-revisions "${SNAP_NAME}" | grep -F "stable*" | grep "${ARCHITECTURE}" | tr -s ' ' | cut -d ' ' -f 4 )
|
||||
echo "Snap version: ${SNAP_VERSION}"
|
||||
|
||||
rm -f gh_latest.json
|
||||
if [[ -n "${SNAP_VERSION}" && "${SNAP_VERSION}" != "${RELEASE_VERSION}" ]]; then
|
||||
export SHOULD_BUILD="yes"
|
||||
export SHOULD_DEPLOY_TO_STORE="yes"
|
||||
|
||||
if [[ "${SNAP_VERSION}" == "${GH_VERSION}" ]]; then
|
||||
export SHOULD_DEPLOY="no"
|
||||
else
|
||||
export SHOULD_DEPLOY="yes"
|
||||
|
||||
snap version
|
||||
snap info "${SNAP_NAME}" || true
|
||||
snap version
|
||||
snap info "${SNAP_NAME}" || true
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ "${GITHUB_ENV}" ]]; then
|
||||
echo "SHOULD_DEPLOY=${SHOULD_DEPLOY}" >> "${GITHUB_ENV}"
|
||||
echo "SHOULD_BUILD=${SHOULD_BUILD}" >> "${GITHUB_ENV}"
|
||||
echo "SHOULD_DEPLOY_TO_RELEASE=${SHOULD_DEPLOY_TO_RELEASE}" >> "${GITHUB_ENV}"
|
||||
echo "SHOULD_DEPLOY_TO_STORE=${SHOULD_DEPLOY_TO_STORE}" >> "${GITHUB_ENV}"
|
||||
fi
|
||||
|
||||
@@ -4,6 +4,73 @@
|
||||
# We need to handle that case and reset $SNAP
|
||||
SNAP=$(echo "$SNAP" | sed -e "s|/var/lib/snapd||g")
|
||||
|
||||
#
|
||||
# Exports are based on https://github.com/snapcore/snapcraft/blob/master/extensions/desktop/common/desktop-exports
|
||||
#
|
||||
|
||||
# ensure_dir_exists calls `mkdir -p` if the given path is not a directory.
|
||||
# This speeds up execution time by avoiding unnecessary calls to mkdir.
|
||||
#
|
||||
# Usage: ensure_dir_exists <path> [<mkdir-options>]...
|
||||
#
|
||||
function ensure_dir_exists() {
|
||||
[ -d "$1" ] || mkdir -p "$@"
|
||||
}
|
||||
|
||||
declare -A PIDS
|
||||
function async_exec() {
|
||||
"$@" &
|
||||
PIDS[$!]=$*
|
||||
}
|
||||
function wait_for_async_execs() {
|
||||
for pid in "${!PIDS[@]}"
|
||||
do
|
||||
wait "$pid" && continue || echo "ERROR: ${PIDS[$pid]} exited abnormally with status $?"
|
||||
done
|
||||
}
|
||||
|
||||
function prepend_dir() {
|
||||
local -n var="$1"
|
||||
local dir="$2"
|
||||
# We can't check if the dir exists when the dir contains variables
|
||||
if [[ "$dir" == *"\$"* || -d "$dir" ]]; then
|
||||
export "${!var}=${dir}${var:+:$var}"
|
||||
fi
|
||||
}
|
||||
|
||||
function append_dir() {
|
||||
local -n var="$1"
|
||||
local dir="$2"
|
||||
# We can't check if the dir exists when the dir contains variables
|
||||
if [[ "$dir" == *"\$"* || -d "$dir" ]]; then
|
||||
export "${!var}=${var:+$var:}${dir}"
|
||||
fi
|
||||
}
|
||||
|
||||
function copy_env_variable() {
|
||||
local -n var="$1"
|
||||
if [[ "+$var" ]]; then
|
||||
export "${!var}_VSCODE_SNAP_ORIG=${var}"
|
||||
else
|
||||
export "${!var}_VSCODE_SNAP_ORIG=''"
|
||||
fi
|
||||
}
|
||||
|
||||
# shellcheck source=/dev/null
|
||||
source "$SNAP_USER_DATA/.last_revision" 2>/dev/null || true
|
||||
if [ "$SNAP_DESKTOP_LAST_REVISION" = "$SNAP_VERSION" ]; then
|
||||
needs_update=false
|
||||
else
|
||||
needs_update=true
|
||||
fi
|
||||
|
||||
# Set $REALHOME to the users real home directory
|
||||
REALHOME=$(getent passwd $UID | cut -d ':' -f 6)
|
||||
|
||||
# Set config folder to local path
|
||||
ensure_dir_exists "$SNAP_USER_DATA/.config"
|
||||
chmod 700 "$SNAP_USER_DATA/.config"
|
||||
|
||||
if [ "$SNAP_ARCH" == "amd64" ]; then
|
||||
ARCH="x86_64-linux-gnu"
|
||||
elif [ "$SNAP_ARCH" == "armhf" ]; then
|
||||
@@ -14,21 +81,184 @@ else
|
||||
ARCH="$SNAP_ARCH-linux-gnu"
|
||||
fi
|
||||
|
||||
GDK_CACHE_DIR="$SNAP_USER_COMMON/.cache"
|
||||
if [[ -d "$SNAP_USER_DATA/.cache" && ! -e "$GDK_CACHE_DIR" ]]; then
|
||||
export SNAP_LAUNCHER_ARCH_TRIPLET="$ARCH"
|
||||
|
||||
function is_subpath() {
|
||||
dir="$(realpath "$1")"
|
||||
parent="$(realpath "$2")"
|
||||
[ "${dir##"${parent}"/}" != "${dir}" ] && return 0 || return 1
|
||||
}
|
||||
|
||||
function can_open_file() {
|
||||
[ -f "$1" ] && [ -r "$1" ]
|
||||
}
|
||||
|
||||
# Preserve system variables that get modified below
|
||||
copy_env_variable XDG_CONFIG_DIRS
|
||||
copy_env_variable XDG_DATA_DIRS
|
||||
copy_env_variable LOCPATH
|
||||
copy_env_variable GIO_MODULE_DIR
|
||||
copy_env_variable GSETTINGS_SCHEMA_DIR
|
||||
copy_env_variable GDK_PIXBUF_MODULE_FILE
|
||||
copy_env_variable GDK_PIXBUF_MODULEDIR
|
||||
copy_env_variable GDK_BACKEND
|
||||
copy_env_variable GTK_PATH
|
||||
copy_env_variable GTK_EXE_PREFIX
|
||||
copy_env_variable GTK_IM_MODULE_FILE
|
||||
|
||||
# XDG Config
|
||||
prepend_dir XDG_CONFIG_DIRS "$SNAP/etc/xdg"
|
||||
|
||||
# Define snaps' own data dir
|
||||
prepend_dir XDG_DATA_DIRS "$SNAP/usr/share"
|
||||
prepend_dir XDG_DATA_DIRS "$SNAP/share"
|
||||
prepend_dir XDG_DATA_DIRS "$SNAP/data-dir"
|
||||
prepend_dir XDG_DATA_DIRS "$SNAP_USER_DATA"
|
||||
|
||||
# Set XDG_DATA_HOME to local path
|
||||
ensure_dir_exists "$SNAP_USER_DATA/.local/share"
|
||||
|
||||
# Workaround for GLib < 2.53.2 not searching for schemas in $XDG_DATA_HOME:
|
||||
# https://bugzilla.gnome.org/show_bug.cgi?id=741335
|
||||
prepend_dir XDG_DATA_DIRS "$SNAP_USER_DATA/.local/share"
|
||||
|
||||
# Set cache folder to local path
|
||||
if [[ -d "$SNAP_USER_DATA/.cache" && ! -e "$SNAP_USER_COMMON/.cache" ]]; then
|
||||
# the .cache directory used to be stored under $SNAP_USER_DATA, migrate it
|
||||
mv "$SNAP_USER_DATA/.cache" "$SNAP_USER_COMMON/"
|
||||
fi
|
||||
[ ! -d "$GDK_CACHE_DIR" ] && mkdir -p "$GDK_CACHE_DIR"
|
||||
ensure_dir_exists "$SNAP_USER_COMMON/.cache"
|
||||
|
||||
# Gdk-pixbuf loaders
|
||||
export GDK_PIXBUF_MODULE_FILE="$GDK_CACHE_DIR/gdk-pixbuf-loaders.cache"
|
||||
export GDK_PIXBUF_MODULEDIR="$SNAP/usr/lib/$ARCH/gdk-pixbuf-2.0/2.10.0/loaders"
|
||||
if [ -f "$SNAP/usr/lib/$ARCH/gdk-pixbuf-2.0/gdk-pixbuf-query-loaders" ]; then
|
||||
"$SNAP/usr/lib/$ARCH/gdk-pixbuf-2.0/gdk-pixbuf-query-loaders" > "$GDK_PIXBUF_MODULE_FILE"
|
||||
# Create $XDG_RUNTIME_DIR if not exists (to be removed when LP: #1656340 is fixed)
|
||||
# shellcheck disable=SC2174
|
||||
ensure_dir_exists "$XDG_RUNTIME_DIR" -m 700
|
||||
|
||||
# Ensure the app finds locale definitions (requires locales-all to be installed)
|
||||
append_dir LOCPATH "$SNAP/usr/lib/locale"
|
||||
|
||||
# If detect wayland server socket, then set environment so applications prefer
|
||||
# wayland, and setup compat symlink (until we use user mounts. Remember,
|
||||
# XDG_RUNTIME_DIR is /run/user/<uid>/snap.$SNAP so look in the parent directory
|
||||
# for the socket. For details:
|
||||
# https://forum.snapcraft.io/t/wayland-dconf-and-xdg-runtime-dir/186/10
|
||||
# Applications that don't support wayland natively may define DISABLE_WAYLAND
|
||||
# (to any non-empty value) to skip that logic entirely.
|
||||
wayland_available=false
|
||||
if [[ -n "$XDG_RUNTIME_DIR" && -z "$DISABLE_WAYLAND" ]]; then
|
||||
wdisplay="wayland-0"
|
||||
if [ -n "$WAYLAND_DISPLAY" ]; then
|
||||
wdisplay="$WAYLAND_DISPLAY"
|
||||
fi
|
||||
wayland_sockpath="$XDG_RUNTIME_DIR/../$wdisplay"
|
||||
wayland_snappath="$XDG_RUNTIME_DIR/$wdisplay"
|
||||
if [ -S "$wayland_sockpath" ]; then
|
||||
# if running under wayland, use it
|
||||
#export WAYLAND_DEBUG=1
|
||||
# shellcheck disable=SC2034
|
||||
wayland_available=true
|
||||
# create the compat symlink for now
|
||||
if [ ! -e "$wayland_snappath" ]; then
|
||||
ln -s "$wayland_sockpath" "$wayland_snappath"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
# Create $XDG_RUNTIME_DIR if not exists (to be removed when https://pad.lv/1656340 is fixed)
|
||||
[ -n "$XDG_RUNTIME_DIR" ] && mkdir -p "$XDG_RUNTIME_DIR" -m 700
|
||||
# Keep an array of data dirs, for looping through them
|
||||
IFS=':' read -r -a data_dirs_array <<< "$XDG_DATA_DIRS"
|
||||
|
||||
# Build mime.cache
|
||||
# needed for gtk and qt icon
|
||||
if [ "$needs_update" = true ]; then
|
||||
rm -rf "$SNAP_USER_DATA/.local/share/mime"
|
||||
if [ ! -f "$SNAP/usr/share/mime/mime.cache" ]; then
|
||||
if command -v update-mime-database >/dev/null; then
|
||||
cp --preserve=timestamps -dR "$SNAP/usr/share/mime" "$SNAP_USER_DATA/.local/share"
|
||||
async_exec update-mime-database "$SNAP_USER_DATA/.local/share/mime"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
# Gio modules and cache (including gsettings module)
|
||||
export GIO_MODULE_DIR="$SNAP_USER_COMMON/.cache/gio-modules"
|
||||
function compile_giomodules {
|
||||
if [ -f "$1/glib-2.0/gio-querymodules" ]; then
|
||||
rm -rf "$GIO_MODULE_DIR"
|
||||
ensure_dir_exists "$GIO_MODULE_DIR"
|
||||
ln -s "$SNAP"/usr/lib/"$ARCH"/gio/modules/*.so "$GIO_MODULE_DIR"
|
||||
"$1/glib-2.0/gio-querymodules" "$GIO_MODULE_DIR"
|
||||
fi
|
||||
}
|
||||
if [ "$needs_update" = true ]; then
|
||||
async_exec compile_giomodules "/snap/core20/current/usr/lib/$ARCH"
|
||||
fi
|
||||
|
||||
# Setup compiled gsettings schema
|
||||
export GSETTINGS_SCHEMA_DIR="$SNAP_USER_DATA/.local/share/glib-2.0/schemas"
|
||||
function compile_schemas {
|
||||
if [ -f "$1" ]; then
|
||||
rm -rf "$GSETTINGS_SCHEMA_DIR"
|
||||
ensure_dir_exists "$GSETTINGS_SCHEMA_DIR"
|
||||
for ((i = 0; i < ${#data_dirs_array[@]}; i++)); do
|
||||
schema_dir="${data_dirs_array[$i]}/glib-2.0/schemas"
|
||||
if [ -f "$schema_dir/gschemas.compiled" ]; then
|
||||
# This directory already has compiled schemas
|
||||
continue
|
||||
fi
|
||||
if [ -n "$(ls -A "$schema_dir"/*.xml 2>/dev/null)" ]; then
|
||||
ln -s "$schema_dir"/*.xml "$GSETTINGS_SCHEMA_DIR"
|
||||
fi
|
||||
if [ -n "$(ls -A "$schema_dir"/*.override 2>/dev/null)" ]; then
|
||||
ln -s "$schema_dir"/*.override "$GSETTINGS_SCHEMA_DIR"
|
||||
fi
|
||||
done
|
||||
# Only compile schemas if we copied anything
|
||||
if [ -n "$(ls -A "$GSETTINGS_SCHEMA_DIR"/*.xml "$GSETTINGS_SCHEMA_DIR"/*.override 2>/dev/null)" ]; then
|
||||
"$1" "$GSETTINGS_SCHEMA_DIR"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
if [ "$needs_update" = true ]; then
|
||||
async_exec compile_schemas "/snap/core20/current/usr/lib/$ARCH/glib-2.0/glib-compile-schemas"
|
||||
fi
|
||||
|
||||
# Gdk-pixbuf loaders
|
||||
export GDK_PIXBUF_MODULE_FILE="$SNAP_USER_COMMON/.cache/gdk-pixbuf-loaders.cache"
|
||||
export GDK_PIXBUF_MODULEDIR="$SNAP/usr/lib/$ARCH/gdk-pixbuf-2.0/2.10.0/loaders"
|
||||
if [ "$needs_update" = true ] || [ ! -f "$GDK_PIXBUF_MODULE_FILE" ]; then
|
||||
rm -f "$GDK_PIXBUF_MODULE_FILE"
|
||||
if [ -f "$SNAP/usr/lib/$ARCH/gdk-pixbuf-2.0/gdk-pixbuf-query-loaders" ]; then
|
||||
async_exec "$SNAP/usr/lib/$ARCH/gdk-pixbuf-2.0/gdk-pixbuf-query-loaders" > "$GDK_PIXBUF_MODULE_FILE"
|
||||
fi
|
||||
fi
|
||||
|
||||
# shellcheck disable=SC2154
|
||||
if [ "$wayland_available" = true ]; then
|
||||
export GDK_BACKEND="wayland"
|
||||
fi
|
||||
|
||||
append_dir GTK_PATH "$SNAP/usr/lib/$ARCH/gtk-3.0"
|
||||
append_dir GTK_PATH "$SNAP/usr/lib/gtk-3.0"
|
||||
# We don't have gtk libraries in this path but
|
||||
# enforcing this environment variable will disallow
|
||||
# gtk binaries like `gtk-query-immodules` to not search
|
||||
# in system default library paths.
|
||||
# Based on https://gitlab.gnome.org/GNOME/gtk/-/blob/main/gtk/gtkmodules.c#L104-136
|
||||
export GTK_EXE_PREFIX="$SNAP/usr"
|
||||
|
||||
# ibus and fcitx integration
|
||||
GTK_IM_MODULE_DIR="$SNAP_USER_COMMON/.cache/immodules"
|
||||
export GTK_IM_MODULE_FILE="$GTK_IM_MODULE_DIR/immodules.cache"
|
||||
# shellcheck disable=SC2154
|
||||
if [ "$needs_update" = true ]; then
|
||||
rm -rf "$GTK_IM_MODULE_DIR"
|
||||
ensure_dir_exists "$GTK_IM_MODULE_DIR"
|
||||
ln -s "$SNAP"/usr/lib/"$ARCH"/gtk-3.0/3.0.0/immodules/*.so "$GTK_IM_MODULE_DIR"
|
||||
async_exec "$SNAP/usr/lib/$ARCH/libgtk-3-0/gtk-query-immodules-3.0" > "$GTK_IM_MODULE_FILE"
|
||||
fi
|
||||
|
||||
# shellcheck disable=SC2154
|
||||
[ "$needs_update" = true ] && echo "SNAP_DESKTOP_LAST_REVISION=$SNAP_VERSION" > "$SNAP_USER_DATA/.last_revision"
|
||||
|
||||
wait_for_async_execs
|
||||
|
||||
exec "$@"
|
||||
|
||||
@@ -2,9 +2,9 @@ name: codium-insiders
|
||||
adopt-info: codium-insiders
|
||||
summary: Code editing. Redefined.
|
||||
description: |
|
||||
Binary releases of Code Insiders without branding/telemetry/licensing
|
||||
Binary releases of Visual Studio Code - Insiders without branding/telemetry/licensing
|
||||
|
||||
base: core18
|
||||
base: core20
|
||||
grade: stable
|
||||
confinement: classic
|
||||
compression: lzo
|
||||
@@ -14,50 +14,61 @@ parts:
|
||||
plugin: nil
|
||||
override-build: |
|
||||
set -eu
|
||||
ARCHITECTURE=$(dpkg --print-architecture)
|
||||
# Get GitHub releases
|
||||
# Get .deb url
|
||||
wget --quiet https://api.github.com/repos/VSCodium/vscodium-insiders/releases -O latest.json
|
||||
VERSION=$(jq -r 'sort_by(.tag_name)|last.tag_name' latest.json)
|
||||
DEB_URL=$(jq -r 'map(select(.tag_name == "'"$VERSION"'"))|first.assets[].browser_download_url|select(endswith("'"_$ARCHITECTURE.deb"'"))' latest.json)
|
||||
DEB=$(basename "${DEB_URL}")
|
||||
# Downloading .deb"
|
||||
wget "${DEB_URL}" -O "${SNAPCRAFT_PART_INSTALL}/${DEB}"
|
||||
# Unpacking .deb"
|
||||
dpkg -x "${SNAPCRAFT_PART_INSTALL}/${DEB}" ${SNAPCRAFT_PART_INSTALL}
|
||||
VERSION=$( jq -r 'sort_by(.tag_name)|last.tag_name' latest.json )
|
||||
DEB_URL=$( jq -r 'map(select(.tag_name == "'"${VERSION}"'"))|first.assets[].browser_download_url|select(endswith("'"_${SNAPCRAFT_TARGET_ARCH}.deb"'"))' latest.json )
|
||||
DEB_NAME=$( basename "${DEB_URL}" )
|
||||
# Downloading .deb
|
||||
wget "${DEB_URL}" -O "${SNAPCRAFT_PART_INSTALL}/${DEB_NAME}"
|
||||
# Unpacking .deb
|
||||
dpkg -x "${SNAPCRAFT_PART_INSTALL}/${DEB_NAME}" "${SNAPCRAFT_PART_INSTALL}"
|
||||
# Clean up
|
||||
rm -f latest.json
|
||||
rm -f "${SNAPCRAFT_PART_INSTALL}/${DEB}"
|
||||
rm -f "${SNAPCRAFT_PART_INSTALL}/${DEB_NAME}"
|
||||
# Set version
|
||||
snapcraftctl set-version "$(echo "${VERSION}" | sed 's|\-insider||')"
|
||||
# Correct path to icon.
|
||||
sed -i 's|Icon=vscodium-insiders|Icon=${SNAP}/usr/share/pixmaps/vscodium-insiders.png|g' ${SNAPCRAFT_PART_INSTALL}/usr/share/applications/codium-insiders.desktop
|
||||
sed -i 's|Exec=/usr/share/codium-insiders/codium-insiders|Exec=codium-insiders|g' ${SNAPCRAFT_PART_INSTALL}/usr/share/applications/codium-insiders.desktop
|
||||
sed -i 's|Icon=vscodium-insiders|Icon=${SNAP}/usr/share/pixmaps/vscodium-insiders.png|g' ${SNAPCRAFT_PART_INSTALL}/usr/share/applications/codium-insiders-url-handler.desktop
|
||||
snapcraftctl set-version "${VERSION/-*/}"
|
||||
# Prepare GUI
|
||||
mkdir -p "${SNAPCRAFT_PART_INSTALL}/meta/gui"
|
||||
cp "${SNAPCRAFT_PART_INSTALL}/usr/share/codium-insiders/resources/app/resources/linux/code.png" "${SNAPCRAFT_PART_INSTALL}/meta/gui/codium-insiders.png"
|
||||
# Update paths
|
||||
sed -i 's|Exec=/usr/share/codium/codium-insiders|Exec=codium-insiders --force-user-env|g' "${SNAPCRAFT_PART_INSTALL}/usr/share/applications/codium-insiders.desktop"
|
||||
sed -i 's|Exec=/usr/share/codium/codium-insiders|Exec=codium-insiders --force-user-env|g' "${SNAPCRAFT_PART_INSTALL}/usr/share/applications/codium-insiders-url-handler.desktop"
|
||||
sed -i 's|Icon=vscodium-insiders|Icon=${SNAP}/meta/gui/codium-insiders.png|g' "${SNAPCRAFT_PART_INSTALL}/usr/share/applications/codium-insiders.desktop"
|
||||
sed -i 's|Icon=vscodium-insiders|Icon=${SNAP}/meta/gui/codium-insiders.png|g' "${SNAPCRAFT_PART_INSTALL}/usr/share/applications/codium-insiders-url-handler.desktop"
|
||||
build-packages:
|
||||
- wget
|
||||
- jq
|
||||
stage-packages:
|
||||
- fcitx-frontend-gtk3
|
||||
- gvfs-libs
|
||||
- ca-certificates
|
||||
- libasound2
|
||||
- libgconf-2-4
|
||||
- libglib2.0-bin
|
||||
- libgnome-keyring0
|
||||
- libgtk-3-0
|
||||
- libnotify4
|
||||
- libnspr4
|
||||
- libnss3
|
||||
- libpcre3
|
||||
- libpulse0
|
||||
- libsecret-1-0
|
||||
- libxshmfence1
|
||||
- libxss1
|
||||
- libxtst6
|
||||
- zlib1g
|
||||
- libx11-xcb1
|
||||
- libxkbfile1
|
||||
- libatk-bridge2.0-0
|
||||
- libatk1.0-0
|
||||
- libatspi2.0-0
|
||||
- libcairo2
|
||||
- libcanberra-gtk3-module
|
||||
- libcurl3-gnutls
|
||||
- libcurl3-nss
|
||||
- libcurl4
|
||||
- libdrm2
|
||||
- libgbm1
|
||||
- libxcb-dri3-0
|
||||
- libgl1
|
||||
- libglib2.0-0
|
||||
- libgtk-3-0
|
||||
- libibus-1.0-5
|
||||
- libnss3
|
||||
- libpango-1.0-0
|
||||
- libsecret-1-0
|
||||
- libxcomposite1
|
||||
- libxdamage1
|
||||
- libxfixes3
|
||||
- libxkbcommon0
|
||||
- libxkbfile1
|
||||
- libxrandr2
|
||||
- libxss1
|
||||
- locales-all
|
||||
- packagekit-gtk3-module
|
||||
- xdg-utils
|
||||
prime:
|
||||
- -usr/share/doc
|
||||
- -usr/share/fonts
|
||||
@@ -65,22 +76,50 @@ parts:
|
||||
- -usr/share/lintian
|
||||
- -usr/share/man
|
||||
- -usr/share/codium/chrome-sandbox
|
||||
build-attributes:
|
||||
- enable-patchelf
|
||||
override-prime: |
|
||||
set -eux
|
||||
snapcraftctl prime
|
||||
for snap in "core20"; do
|
||||
cd "/snap/${snap}/current/usr/lib/${SNAPCRAFT_ARCH_TRIPLET}"
|
||||
find . -type f,l -name "*.so*" -exec bash -c "rm -f ${SNAPCRAFT_PRIME}/{}*" \;
|
||||
done
|
||||
|
||||
electron-launch:
|
||||
after:
|
||||
- codium-insiders
|
||||
plugin: dump
|
||||
source: snap/local
|
||||
source: snap/local/bin
|
||||
|
||||
mesa-patchelf:
|
||||
after:
|
||||
- electron-launch
|
||||
plugin: nil
|
||||
stage-packages:
|
||||
- libgl1-mesa-dri
|
||||
stage:
|
||||
- -usr/lib/${SNAPCRAFT_ARCH_TRIPLET}/dri
|
||||
|
||||
mesa-no-patchelf:
|
||||
after:
|
||||
- electron-launch
|
||||
plugin: nil
|
||||
stage-packages:
|
||||
- libgl1-mesa-dri
|
||||
build-attributes:
|
||||
- no-patchelf
|
||||
stage:
|
||||
- usr/lib/${SNAPCRAFT_ARCH_TRIPLET}/dri
|
||||
|
||||
apps:
|
||||
codium-insiders:
|
||||
codium:
|
||||
command: electron-launch $SNAP/usr/share/codium-insiders/bin/codium-insiders --no-sandbox
|
||||
desktop: usr/share/applications/codium-insiders.desktop
|
||||
common-id: codium-insiders.desktop
|
||||
environment:
|
||||
GSETTINGS_SCHEMA_DIR: $SNAP/usr/share/glib-2.0/schemas
|
||||
LIBGL_DRIVERS_PATH: $SNAP/usr/lib/${SNAPCRAFT_ARCH_TRIPLET}/dri
|
||||
|
||||
url-handler:
|
||||
command: electron-launch $SNAP/usr/share/codium-insiders/bin/codium-insiders --open-url --no-sandbox
|
||||
desktop: usr/share/applications/codium-insiders-url-handler.desktop
|
||||
environment:
|
||||
GSETTINGS_SCHEMA_DIR: $SNAP/usr/share/glib-2.0/schemas
|
||||
|
||||
@@ -4,6 +4,73 @@
|
||||
# We need to handle that case and reset $SNAP
|
||||
SNAP=$(echo "$SNAP" | sed -e "s|/var/lib/snapd||g")
|
||||
|
||||
#
|
||||
# Exports are based on https://github.com/snapcore/snapcraft/blob/master/extensions/desktop/common/desktop-exports
|
||||
#
|
||||
|
||||
# ensure_dir_exists calls `mkdir -p` if the given path is not a directory.
|
||||
# This speeds up execution time by avoiding unnecessary calls to mkdir.
|
||||
#
|
||||
# Usage: ensure_dir_exists <path> [<mkdir-options>]...
|
||||
#
|
||||
function ensure_dir_exists() {
|
||||
[ -d "$1" ] || mkdir -p "$@"
|
||||
}
|
||||
|
||||
declare -A PIDS
|
||||
function async_exec() {
|
||||
"$@" &
|
||||
PIDS[$!]=$*
|
||||
}
|
||||
function wait_for_async_execs() {
|
||||
for pid in "${!PIDS[@]}"
|
||||
do
|
||||
wait "$pid" && continue || echo "ERROR: ${PIDS[$pid]} exited abnormally with status $?"
|
||||
done
|
||||
}
|
||||
|
||||
function prepend_dir() {
|
||||
local -n var="$1"
|
||||
local dir="$2"
|
||||
# We can't check if the dir exists when the dir contains variables
|
||||
if [[ "$dir" == *"\$"* || -d "$dir" ]]; then
|
||||
export "${!var}=${dir}${var:+:$var}"
|
||||
fi
|
||||
}
|
||||
|
||||
function append_dir() {
|
||||
local -n var="$1"
|
||||
local dir="$2"
|
||||
# We can't check if the dir exists when the dir contains variables
|
||||
if [[ "$dir" == *"\$"* || -d "$dir" ]]; then
|
||||
export "${!var}=${var:+$var:}${dir}"
|
||||
fi
|
||||
}
|
||||
|
||||
function copy_env_variable() {
|
||||
local -n var="$1"
|
||||
if [[ "+$var" ]]; then
|
||||
export "${!var}_VSCODE_SNAP_ORIG=${var}"
|
||||
else
|
||||
export "${!var}_VSCODE_SNAP_ORIG=''"
|
||||
fi
|
||||
}
|
||||
|
||||
# shellcheck source=/dev/null
|
||||
source "$SNAP_USER_DATA/.last_revision" 2>/dev/null || true
|
||||
if [ "$SNAP_DESKTOP_LAST_REVISION" = "$SNAP_VERSION" ]; then
|
||||
needs_update=false
|
||||
else
|
||||
needs_update=true
|
||||
fi
|
||||
|
||||
# Set $REALHOME to the users real home directory
|
||||
REALHOME=$(getent passwd $UID | cut -d ':' -f 6)
|
||||
|
||||
# Set config folder to local path
|
||||
ensure_dir_exists "$SNAP_USER_DATA/.config"
|
||||
chmod 700 "$SNAP_USER_DATA/.config"
|
||||
|
||||
if [ "$SNAP_ARCH" == "amd64" ]; then
|
||||
ARCH="x86_64-linux-gnu"
|
||||
elif [ "$SNAP_ARCH" == "armhf" ]; then
|
||||
@@ -14,21 +81,184 @@ else
|
||||
ARCH="$SNAP_ARCH-linux-gnu"
|
||||
fi
|
||||
|
||||
GDK_CACHE_DIR="$SNAP_USER_COMMON/.cache"
|
||||
if [[ -d "$SNAP_USER_DATA/.cache" && ! -e "$GDK_CACHE_DIR" ]]; then
|
||||
export SNAP_LAUNCHER_ARCH_TRIPLET="$ARCH"
|
||||
|
||||
function is_subpath() {
|
||||
dir="$(realpath "$1")"
|
||||
parent="$(realpath "$2")"
|
||||
[ "${dir##"${parent}"/}" != "${dir}" ] && return 0 || return 1
|
||||
}
|
||||
|
||||
function can_open_file() {
|
||||
[ -f "$1" ] && [ -r "$1" ]
|
||||
}
|
||||
|
||||
# Preserve system variables that get modified below
|
||||
copy_env_variable XDG_CONFIG_DIRS
|
||||
copy_env_variable XDG_DATA_DIRS
|
||||
copy_env_variable LOCPATH
|
||||
copy_env_variable GIO_MODULE_DIR
|
||||
copy_env_variable GSETTINGS_SCHEMA_DIR
|
||||
copy_env_variable GDK_PIXBUF_MODULE_FILE
|
||||
copy_env_variable GDK_PIXBUF_MODULEDIR
|
||||
copy_env_variable GDK_BACKEND
|
||||
copy_env_variable GTK_PATH
|
||||
copy_env_variable GTK_EXE_PREFIX
|
||||
copy_env_variable GTK_IM_MODULE_FILE
|
||||
|
||||
# XDG Config
|
||||
prepend_dir XDG_CONFIG_DIRS "$SNAP/etc/xdg"
|
||||
|
||||
# Define snaps' own data dir
|
||||
prepend_dir XDG_DATA_DIRS "$SNAP/usr/share"
|
||||
prepend_dir XDG_DATA_DIRS "$SNAP/share"
|
||||
prepend_dir XDG_DATA_DIRS "$SNAP/data-dir"
|
||||
prepend_dir XDG_DATA_DIRS "$SNAP_USER_DATA"
|
||||
|
||||
# Set XDG_DATA_HOME to local path
|
||||
ensure_dir_exists "$SNAP_USER_DATA/.local/share"
|
||||
|
||||
# Workaround for GLib < 2.53.2 not searching for schemas in $XDG_DATA_HOME:
|
||||
# https://bugzilla.gnome.org/show_bug.cgi?id=741335
|
||||
prepend_dir XDG_DATA_DIRS "$SNAP_USER_DATA/.local/share"
|
||||
|
||||
# Set cache folder to local path
|
||||
if [[ -d "$SNAP_USER_DATA/.cache" && ! -e "$SNAP_USER_COMMON/.cache" ]]; then
|
||||
# the .cache directory used to be stored under $SNAP_USER_DATA, migrate it
|
||||
mv "$SNAP_USER_DATA/.cache" "$SNAP_USER_COMMON/"
|
||||
fi
|
||||
[ ! -d "$GDK_CACHE_DIR" ] && mkdir -p "$GDK_CACHE_DIR"
|
||||
ensure_dir_exists "$SNAP_USER_COMMON/.cache"
|
||||
|
||||
# Gdk-pixbuf loaders
|
||||
export GDK_PIXBUF_MODULE_FILE="$GDK_CACHE_DIR/gdk-pixbuf-loaders.cache"
|
||||
export GDK_PIXBUF_MODULEDIR="$SNAP/usr/lib/$ARCH/gdk-pixbuf-2.0/2.10.0/loaders"
|
||||
if [ -f "$SNAP/usr/lib/$ARCH/gdk-pixbuf-2.0/gdk-pixbuf-query-loaders" ]; then
|
||||
"$SNAP/usr/lib/$ARCH/gdk-pixbuf-2.0/gdk-pixbuf-query-loaders" > "$GDK_PIXBUF_MODULE_FILE"
|
||||
# Create $XDG_RUNTIME_DIR if not exists (to be removed when LP: #1656340 is fixed)
|
||||
# shellcheck disable=SC2174
|
||||
ensure_dir_exists "$XDG_RUNTIME_DIR" -m 700
|
||||
|
||||
# Ensure the app finds locale definitions (requires locales-all to be installed)
|
||||
append_dir LOCPATH "$SNAP/usr/lib/locale"
|
||||
|
||||
# If detect wayland server socket, then set environment so applications prefer
|
||||
# wayland, and setup compat symlink (until we use user mounts. Remember,
|
||||
# XDG_RUNTIME_DIR is /run/user/<uid>/snap.$SNAP so look in the parent directory
|
||||
# for the socket. For details:
|
||||
# https://forum.snapcraft.io/t/wayland-dconf-and-xdg-runtime-dir/186/10
|
||||
# Applications that don't support wayland natively may define DISABLE_WAYLAND
|
||||
# (to any non-empty value) to skip that logic entirely.
|
||||
wayland_available=false
|
||||
if [[ -n "$XDG_RUNTIME_DIR" && -z "$DISABLE_WAYLAND" ]]; then
|
||||
wdisplay="wayland-0"
|
||||
if [ -n "$WAYLAND_DISPLAY" ]; then
|
||||
wdisplay="$WAYLAND_DISPLAY"
|
||||
fi
|
||||
wayland_sockpath="$XDG_RUNTIME_DIR/../$wdisplay"
|
||||
wayland_snappath="$XDG_RUNTIME_DIR/$wdisplay"
|
||||
if [ -S "$wayland_sockpath" ]; then
|
||||
# if running under wayland, use it
|
||||
#export WAYLAND_DEBUG=1
|
||||
# shellcheck disable=SC2034
|
||||
wayland_available=true
|
||||
# create the compat symlink for now
|
||||
if [ ! -e "$wayland_snappath" ]; then
|
||||
ln -s "$wayland_sockpath" "$wayland_snappath"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
# Create $XDG_RUNTIME_DIR if not exists (to be removed when https://pad.lv/1656340 is fixed)
|
||||
[ -n "$XDG_RUNTIME_DIR" ] && mkdir -p "$XDG_RUNTIME_DIR" -m 700
|
||||
# Keep an array of data dirs, for looping through them
|
||||
IFS=':' read -r -a data_dirs_array <<< "$XDG_DATA_DIRS"
|
||||
|
||||
# Build mime.cache
|
||||
# needed for gtk and qt icon
|
||||
if [ "$needs_update" = true ]; then
|
||||
rm -rf "$SNAP_USER_DATA/.local/share/mime"
|
||||
if [ ! -f "$SNAP/usr/share/mime/mime.cache" ]; then
|
||||
if command -v update-mime-database >/dev/null; then
|
||||
cp --preserve=timestamps -dR "$SNAP/usr/share/mime" "$SNAP_USER_DATA/.local/share"
|
||||
async_exec update-mime-database "$SNAP_USER_DATA/.local/share/mime"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
# Gio modules and cache (including gsettings module)
|
||||
export GIO_MODULE_DIR="$SNAP_USER_COMMON/.cache/gio-modules"
|
||||
function compile_giomodules {
|
||||
if [ -f "$1/glib-2.0/gio-querymodules" ]; then
|
||||
rm -rf "$GIO_MODULE_DIR"
|
||||
ensure_dir_exists "$GIO_MODULE_DIR"
|
||||
ln -s "$SNAP"/usr/lib/"$ARCH"/gio/modules/*.so "$GIO_MODULE_DIR"
|
||||
"$1/glib-2.0/gio-querymodules" "$GIO_MODULE_DIR"
|
||||
fi
|
||||
}
|
||||
if [ "$needs_update" = true ]; then
|
||||
async_exec compile_giomodules "/snap/core20/current/usr/lib/$ARCH"
|
||||
fi
|
||||
|
||||
# Setup compiled gsettings schema
|
||||
export GSETTINGS_SCHEMA_DIR="$SNAP_USER_DATA/.local/share/glib-2.0/schemas"
|
||||
function compile_schemas {
|
||||
if [ -f "$1" ]; then
|
||||
rm -rf "$GSETTINGS_SCHEMA_DIR"
|
||||
ensure_dir_exists "$GSETTINGS_SCHEMA_DIR"
|
||||
for ((i = 0; i < ${#data_dirs_array[@]}; i++)); do
|
||||
schema_dir="${data_dirs_array[$i]}/glib-2.0/schemas"
|
||||
if [ -f "$schema_dir/gschemas.compiled" ]; then
|
||||
# This directory already has compiled schemas
|
||||
continue
|
||||
fi
|
||||
if [ -n "$(ls -A "$schema_dir"/*.xml 2>/dev/null)" ]; then
|
||||
ln -s "$schema_dir"/*.xml "$GSETTINGS_SCHEMA_DIR"
|
||||
fi
|
||||
if [ -n "$(ls -A "$schema_dir"/*.override 2>/dev/null)" ]; then
|
||||
ln -s "$schema_dir"/*.override "$GSETTINGS_SCHEMA_DIR"
|
||||
fi
|
||||
done
|
||||
# Only compile schemas if we copied anything
|
||||
if [ -n "$(ls -A "$GSETTINGS_SCHEMA_DIR"/*.xml "$GSETTINGS_SCHEMA_DIR"/*.override 2>/dev/null)" ]; then
|
||||
"$1" "$GSETTINGS_SCHEMA_DIR"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
if [ "$needs_update" = true ]; then
|
||||
async_exec compile_schemas "/snap/core20/current/usr/lib/$ARCH/glib-2.0/glib-compile-schemas"
|
||||
fi
|
||||
|
||||
# Gdk-pixbuf loaders
|
||||
export GDK_PIXBUF_MODULE_FILE="$SNAP_USER_COMMON/.cache/gdk-pixbuf-loaders.cache"
|
||||
export GDK_PIXBUF_MODULEDIR="$SNAP/usr/lib/$ARCH/gdk-pixbuf-2.0/2.10.0/loaders"
|
||||
if [ "$needs_update" = true ] || [ ! -f "$GDK_PIXBUF_MODULE_FILE" ]; then
|
||||
rm -f "$GDK_PIXBUF_MODULE_FILE"
|
||||
if [ -f "$SNAP/usr/lib/$ARCH/gdk-pixbuf-2.0/gdk-pixbuf-query-loaders" ]; then
|
||||
async_exec "$SNAP/usr/lib/$ARCH/gdk-pixbuf-2.0/gdk-pixbuf-query-loaders" > "$GDK_PIXBUF_MODULE_FILE"
|
||||
fi
|
||||
fi
|
||||
|
||||
# shellcheck disable=SC2154
|
||||
if [ "$wayland_available" = true ]; then
|
||||
export GDK_BACKEND="wayland"
|
||||
fi
|
||||
|
||||
append_dir GTK_PATH "$SNAP/usr/lib/$ARCH/gtk-3.0"
|
||||
append_dir GTK_PATH "$SNAP/usr/lib/gtk-3.0"
|
||||
# We don't have gtk libraries in this path but
|
||||
# enforcing this environment variable will disallow
|
||||
# gtk binaries like `gtk-query-immodules` to not search
|
||||
# in system default library paths.
|
||||
# Based on https://gitlab.gnome.org/GNOME/gtk/-/blob/main/gtk/gtkmodules.c#L104-136
|
||||
export GTK_EXE_PREFIX="$SNAP/usr"
|
||||
|
||||
# ibus and fcitx integration
|
||||
GTK_IM_MODULE_DIR="$SNAP_USER_COMMON/.cache/immodules"
|
||||
export GTK_IM_MODULE_FILE="$GTK_IM_MODULE_DIR/immodules.cache"
|
||||
# shellcheck disable=SC2154
|
||||
if [ "$needs_update" = true ]; then
|
||||
rm -rf "$GTK_IM_MODULE_DIR"
|
||||
ensure_dir_exists "$GTK_IM_MODULE_DIR"
|
||||
ln -s "$SNAP"/usr/lib/"$ARCH"/gtk-3.0/3.0.0/immodules/*.so "$GTK_IM_MODULE_DIR"
|
||||
async_exec "$SNAP/usr/lib/$ARCH/libgtk-3-0/gtk-query-immodules-3.0" > "$GTK_IM_MODULE_FILE"
|
||||
fi
|
||||
|
||||
# shellcheck disable=SC2154
|
||||
[ "$needs_update" = true ] && echo "SNAP_DESKTOP_LAST_REVISION=$SNAP_VERSION" > "$SNAP_USER_DATA/.last_revision"
|
||||
|
||||
wait_for_async_execs
|
||||
|
||||
exec "$@"
|
||||
|
||||
@@ -2,9 +2,9 @@ name: codium
|
||||
adopt-info: codium
|
||||
summary: Code editing. Redefined.
|
||||
description: |
|
||||
Binary releases of Code without branding/telemetry/licensing
|
||||
Binary releases of Visual Studio Code without branding/telemetry/licensing
|
||||
|
||||
base: core18
|
||||
base: core20
|
||||
grade: stable
|
||||
confinement: classic
|
||||
compression: lzo
|
||||
@@ -14,50 +14,61 @@ parts:
|
||||
plugin: nil
|
||||
override-build: |
|
||||
set -eu
|
||||
ARCHITECTURE=$(dpkg --print-architecture)
|
||||
# Get GitHub releases
|
||||
# Get .deb url
|
||||
wget --quiet https://api.github.com/repos/VSCodium/vscodium/releases -O latest.json
|
||||
VERSION=$(jq -r 'sort_by(.tag_name)|last.tag_name' latest.json)
|
||||
DEB_URL=$(jq -r 'map(select(.tag_name == "'"$VERSION"'"))|first.assets[].browser_download_url|select(endswith("'"_$ARCHITECTURE.deb"'"))' latest.json)
|
||||
DEB=$(basename "${DEB_URL}")
|
||||
# Downloading .deb"
|
||||
wget "${DEB_URL}" -O "${SNAPCRAFT_PART_INSTALL}/${DEB}"
|
||||
# Unpacking .deb"
|
||||
dpkg -x "${SNAPCRAFT_PART_INSTALL}/${DEB}" ${SNAPCRAFT_PART_INSTALL}
|
||||
VERSION=$( jq -r 'sort_by(.tag_name)|last.tag_name' latest.json )
|
||||
DEB_URL=$( jq -r 'map(select(.tag_name == "'"${VERSION}"'"))|first.assets[].browser_download_url|select(endswith("'"_${SNAPCRAFT_TARGET_ARCH}.deb"'"))' latest.json )
|
||||
DEB_NAME=$( basename "${DEB_URL}" )
|
||||
# Downloading .deb
|
||||
wget "${DEB_URL}" -O "${SNAPCRAFT_PART_INSTALL}/${DEB_NAME}"
|
||||
# Unpacking .deb
|
||||
dpkg -x "${SNAPCRAFT_PART_INSTALL}/${DEB_NAME}" "${SNAPCRAFT_PART_INSTALL}"
|
||||
# Clean up
|
||||
rm -f latest.json
|
||||
rm -f "${SNAPCRAFT_PART_INSTALL}/${DEB}"
|
||||
rm -f "${SNAPCRAFT_PART_INSTALL}/${DEB_NAME}"
|
||||
# Set version
|
||||
snapcraftctl set-version "$VERSION"
|
||||
# Correct path to icon.
|
||||
sed -i 's|Icon=vscodium|Icon=${SNAP}/usr/share/pixmaps/vscodium.png|g' ${SNAPCRAFT_PART_INSTALL}/usr/share/applications/codium.desktop
|
||||
sed -i 's|Exec=/usr/share/codium/codium|Exec=codium|g' ${SNAPCRAFT_PART_INSTALL}/usr/share/applications/codium.desktop
|
||||
sed -i 's|Icon=vscodium|Icon=/usr/share/pixmaps/vscodium.png|g' ${SNAPCRAFT_PART_INSTALL}/usr/share/applications/codium-url-handler.desktop
|
||||
snapcraftctl set-version "${VERSION}"
|
||||
# Prepare GUI
|
||||
mkdir -p "${SNAPCRAFT_PART_INSTALL}/meta/gui"
|
||||
cp "${SNAPCRAFT_PART_INSTALL}/usr/share/codium/resources/app/resources/linux/code.png" "${SNAPCRAFT_PART_INSTALL}/meta/gui/codium.png"
|
||||
# Update paths
|
||||
sed -i 's|Exec=/usr/share/codium/codium|Exec=codium --force-user-env|g' "${SNAPCRAFT_PART_INSTALL}/usr/share/applications/codium.desktop"
|
||||
sed -i 's|Exec=/usr/share/codium/codium|Exec=codium --force-user-env|g' "${SNAPCRAFT_PART_INSTALL}/usr/share/applications/codium-url-handler.desktop"
|
||||
sed -i 's|Icon=vscodium|Icon=${SNAP}/meta/gui/codium.png|g' "${SNAPCRAFT_PART_INSTALL}/usr/share/applications/codium.desktop"
|
||||
sed -i 's|Icon=vscodium|Icon=${SNAP}/meta/gui/codium.png|g' "${SNAPCRAFT_PART_INSTALL}/usr/share/applications/codium-url-handler.desktop"
|
||||
build-packages:
|
||||
- wget
|
||||
- jq
|
||||
stage-packages:
|
||||
- fcitx-frontend-gtk3
|
||||
- gvfs-libs
|
||||
- ca-certificates
|
||||
- libasound2
|
||||
- libgconf-2-4
|
||||
- libglib2.0-bin
|
||||
- libgnome-keyring0
|
||||
- libgtk-3-0
|
||||
- libnotify4
|
||||
- libnspr4
|
||||
- libnss3
|
||||
- libpcre3
|
||||
- libpulse0
|
||||
- libsecret-1-0
|
||||
- libxshmfence1
|
||||
- libxss1
|
||||
- libxtst6
|
||||
- zlib1g
|
||||
- libx11-xcb1
|
||||
- libxkbfile1
|
||||
- libatk-bridge2.0-0
|
||||
- libatk1.0-0
|
||||
- libatspi2.0-0
|
||||
- libcairo2
|
||||
- libcanberra-gtk3-module
|
||||
- libcurl3-gnutls
|
||||
- libcurl3-nss
|
||||
- libcurl4
|
||||
- libdrm2
|
||||
- libgbm1
|
||||
- libxcb-dri3-0
|
||||
- libgl1
|
||||
- libglib2.0-0
|
||||
- libgtk-3-0
|
||||
- libibus-1.0-5
|
||||
- libnss3
|
||||
- libpango-1.0-0
|
||||
- libsecret-1-0
|
||||
- libxcomposite1
|
||||
- libxdamage1
|
||||
- libxfixes3
|
||||
- libxkbcommon0
|
||||
- libxkbfile1
|
||||
- libxrandr2
|
||||
- libxss1
|
||||
- locales-all
|
||||
- packagekit-gtk3-module
|
||||
- xdg-utils
|
||||
prime:
|
||||
- -usr/share/doc
|
||||
- -usr/share/fonts
|
||||
@@ -65,22 +76,28 @@ parts:
|
||||
- -usr/share/lintian
|
||||
- -usr/share/man
|
||||
- -usr/share/codium/chrome-sandbox
|
||||
build-attributes:
|
||||
- enable-patchelf
|
||||
override-prime: |
|
||||
set -eux
|
||||
snapcraftctl prime
|
||||
for snap in "core20"; do
|
||||
cd "/snap/${snap}/current/usr/lib/${SNAPCRAFT_ARCH_TRIPLET}"
|
||||
find . -type f,l -name "*.so*" -exec bash -c "rm -f ${SNAPCRAFT_PRIME}/{}*" \;
|
||||
done
|
||||
|
||||
electron-launch:
|
||||
after:
|
||||
- codium
|
||||
plugin: dump
|
||||
source: snap/local
|
||||
source: snap/local/bin
|
||||
|
||||
apps:
|
||||
codium:
|
||||
command: electron-launch $SNAP/usr/share/codium/bin/codium --no-sandbox
|
||||
desktop: usr/share/applications/codium.desktop
|
||||
environment:
|
||||
GSETTINGS_SCHEMA_DIR: $SNAP/usr/share/glib-2.0/schemas
|
||||
common-id: codium.desktop
|
||||
|
||||
url-handler:
|
||||
command: electron-launch $SNAP/usr/share/codium/bin/codium --open-url --no-sandbox
|
||||
desktop: usr/share/applications/codium-url-handler.desktop
|
||||
environment:
|
||||
GSETTINGS_SCHEMA_DIR: $SNAP/usr/share/glib-2.0/schemas
|
||||
|
||||
@@ -1,31 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -e
|
||||
|
||||
if [[ "${SHOULD_BUILD}" != "yes" ]]; then
|
||||
echo "Will not update version JSON because we did not build"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
if [[ -z "${GITHUB_TOKEN}" ]]; then
|
||||
echo "Will not update insider.json because no GITHUB_TOKEN defined"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
jsonTmp=$( jq --arg 'tag' "${MS_TAG/\-insider/}" --arg 'commit' "${MS_COMMIT}" '. "insider.json" | .tag=$tag | .commit=$commit' )
|
||||
echo "${jsonTmp}" > "insider.json" && unset jsonTmp
|
||||
|
||||
git config user.email "$( echo "${GITHUB_USERNAME}" | awk '{print tolower($0)}' )-ci@not-real.com"
|
||||
git config user.name "${GITHUB_USERNAME} CI"
|
||||
git add .
|
||||
|
||||
CHANGES=$( git status --porcelain )
|
||||
|
||||
if [[ -n "${CHANGES}" ]]; then
|
||||
git commit -m "build(insider): update to commit ${MS_COMMIT:0:7}"
|
||||
|
||||
if ! git push origin insider --quiet; then
|
||||
git pull origin insider
|
||||
git push origin insider --quiet
|
||||
fi
|
||||
fi
|
||||
33
update_qualityjson.sh
Executable file
33
update_qualityjson.sh
Executable file
@@ -0,0 +1,33 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -e
|
||||
|
||||
if [[ "${SHOULD_BUILD}" != "yes" ]]; then
|
||||
echo "Will not update version JSON because we did not build"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
if [[ -z "${GH_TOKEN}" ]] && [[ -z "${GITHUB_TOKEN}" ]] && [[ -z "${GH_ENTERPRISE_TOKEN}" ]] && [[ -z "${GITHUB_ENTERPRISE_TOKEN}" ]]; then
|
||||
echo "Will not update ${VSCODE_QUALITY}.json because no GITHUB_TOKEN defined"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
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
|
||||
|
||||
git config user.email "$( echo "${GITHUB_USERNAME}" | awk '{print tolower($0)}' )-ci@not-real.com"
|
||||
git config user.name "${GITHUB_USERNAME} CI"
|
||||
git add .
|
||||
|
||||
CHANGES=$( git status --porcelain )
|
||||
|
||||
if [[ -n "${CHANGES}" ]]; then
|
||||
git commit -m "build(${VSCODE_QUALITY}): update to commit ${MS_COMMIT:0:7}"
|
||||
|
||||
BRANCH_NAME=$( git rev-parse --abbrev-ref HEAD )
|
||||
|
||||
if ! git push origin "${BRANCH_NAME}" --quiet; then
|
||||
git pull origin "${BRANCH_NAME}"
|
||||
git push origin "${BRANCH_NAME}" --quiet
|
||||
fi
|
||||
fi
|
||||
@@ -8,11 +8,16 @@ if [[ "${SHOULD_BUILD}" != "yes" && "${FORCE_UPDATE}" != "true" ]]; then
|
||||
exit 0
|
||||
fi
|
||||
|
||||
if [[ -z "${GITHUB_TOKEN}" ]]; then
|
||||
if [[ -z "${GH_TOKEN}" ]] && [[ -z "${GITHUB_TOKEN}" ]] && [[ -z "${GH_ENTERPRISE_TOKEN}" ]] && [[ -z "${GITHUB_ENTERPRISE_TOKEN}" ]]; then
|
||||
echo "Will not update version JSON because no GITHUB_TOKEN defined"
|
||||
exit 0
|
||||
else
|
||||
GITHUB_TOKEN="${GH_TOKEN:-${GITHUB_TOKEN:-${GH_ENTERPRISE_TOKEN:-${GITHUB_ENTERPRISE_TOKEN}}}}"
|
||||
fi
|
||||
|
||||
# Support for GitHub Enterprise
|
||||
GH_HOST="${GH_HOST:-github.com}"
|
||||
|
||||
if [[ "${FORCE_UPDATE}" == "true" ]]; then
|
||||
. version.sh
|
||||
fi
|
||||
@@ -22,8 +27,8 @@ if [[ -z "${BUILD_SOURCEVERSION}" ]]; then
|
||||
exit 0
|
||||
fi
|
||||
|
||||
if [[ "${VSCODE_ARCH}" == "ppc64le" ]]; then
|
||||
echo "Skip ppc64le since only reh is published"
|
||||
if [[ "${VSCODE_ARCH}" == "ppc64le" ]] || [[ "${VSCODE_ARCH}" == "riscv64" ]] ; then
|
||||
echo "Skip PPC64LE since only reh is published"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
@@ -47,7 +52,7 @@ fi
|
||||
# `sha256hash` in <filename>.sha256
|
||||
|
||||
REPOSITORY_NAME="${VERSIONS_REPOSITORY/*\//}"
|
||||
URL_BASE="https://github.com/${ASSETS_REPOSITORY}/releases/download/${RELEASE_VERSION}"
|
||||
URL_BASE="https://${GH_HOST}/${ASSETS_REPOSITORY}/releases/download/${RELEASE_VERSION}"
|
||||
|
||||
generateJson() {
|
||||
local url name version productVersion sha1hash sha256hash timestamp
|
||||
@@ -115,12 +120,12 @@ updateLatestVersion() {
|
||||
|
||||
# init versions repo for later commiting + pushing the json file to it
|
||||
# thank you https://www.vinaygopinath.me/blog/tech/commit-to-master-branch-on-github-using-travis-ci/
|
||||
git clone "https://github.com/${VERSIONS_REPOSITORY}.git"
|
||||
git clone "https://${GH_HOST}/${VERSIONS_REPOSITORY}.git"
|
||||
cd "${REPOSITORY_NAME}" || { echo "'${REPOSITORY_NAME}' dir not found"; exit 1; }
|
||||
git config user.email "$( echo "${GITHUB_USERNAME}" | awk '{print tolower($0)}' )-ci@not-real.com"
|
||||
git config user.name "${GITHUB_USERNAME} CI"
|
||||
git remote rm origin
|
||||
git remote add origin "https://${GITHUB_USERNAME}:${GITHUB_TOKEN}@github.com/${VERSIONS_REPOSITORY}.git" &> /dev/null
|
||||
git remote add origin "https://${GITHUB_USERNAME}:${GITHUB_TOKEN}@${GH_HOST}/${VERSIONS_REPOSITORY}.git" &> /dev/null
|
||||
cd ..
|
||||
|
||||
if [[ "${OS_NAME}" == "osx" ]]; then
|
||||
|
||||
Reference in New Issue
Block a user