Compare commits
401 Commits
1.74.1.223
...
1.92.1.242
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
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 | ||
|
|
9468e97c13 | ||
|
|
a631bc594c | ||
|
|
13a608979c | ||
|
|
025a078b3b | ||
|
|
f51c90526f | ||
|
|
61e44afbc4 | ||
|
|
63dc9d739b | ||
|
|
1e41cef8a6 | ||
|
|
b9cfdf370d | ||
|
|
a8262e5152 | ||
|
|
d468b7a1e0 | ||
|
|
0b2fc64a3b | ||
|
|
8dcc87596b | ||
|
|
0810ba2404 | ||
|
|
79baded01d | ||
|
|
17f154098d | ||
|
|
1c0c30e6d6 | ||
|
|
06e05f233a | ||
|
|
b4318d78a0 | ||
|
|
3e1420722c | ||
|
|
9a210dc964 | ||
|
|
11083b9a1b | ||
|
|
d6b7880a05 | ||
|
|
3fa7f2179b | ||
|
|
d06d8127d5 | ||
|
|
02d21f5264 | ||
|
|
7710a09830 | ||
|
|
599eb2adc9 | ||
|
|
e8161f6e4f | ||
|
|
31b5e5b919 | ||
|
|
ff05d093c9 | ||
|
|
08114ab943 | ||
|
|
a17ae154cc | ||
|
|
272566cc25 | ||
|
|
d3db3c1f52 | ||
|
|
bd8b0d5920 | ||
|
|
aac82d75f4 | ||
|
|
c66d9b7edc | ||
|
|
73f7d062da | ||
|
|
c9b8e2f5a5 | ||
|
|
6f03ab0ba1 | ||
|
|
fad378871b | ||
|
|
3050fad108 | ||
|
|
f7fc439526 | ||
|
|
7c294be474 | ||
|
|
dfa2100471 | ||
|
|
443107bfa5 | ||
|
|
2af05c9f5b | ||
|
|
4b237cbd3c | ||
|
|
b11613470e | ||
|
|
b019f9c25a | ||
|
|
e2bf570707 | ||
|
|
a2aed6a9e7 | ||
|
|
dc1e3961c3 | ||
|
|
272f67d95b | ||
|
|
7afbfe03ad | ||
|
|
94ab319d86 | ||
|
|
6137a9fcc5 | ||
|
|
8661322052 | ||
|
|
84aabe12e3 | ||
|
|
99da974ce5 | ||
|
|
c3e35a9e82 | ||
|
|
bfdd19ccf2 | ||
|
|
033a6bdf30 | ||
|
|
9dbdd411a0 | ||
|
|
31a42d485b | ||
|
|
89d3113d66 | ||
|
|
5e26c4a9c4 | ||
|
|
38ba585382 | ||
|
|
974619f5d8 | ||
|
|
f985c78aaa | ||
|
|
d9368b3668 | ||
|
|
de60efb3ea | ||
|
|
b94741d88d | ||
|
|
afc33000a6 | ||
|
|
5dc393d199 | ||
|
|
a4a0d37b5f | ||
|
|
cd3b6e425a | ||
|
|
4e373455f2 | ||
|
|
1c582203e5 | ||
|
|
55377464bb | ||
|
|
a1d08f4273 | ||
|
|
7c2088709b | ||
|
|
44a49cde49 | ||
|
|
56bfd87ca9 | ||
|
|
adf3181b0d | ||
|
|
f479f2aeff | ||
|
|
f2f78ed89f | ||
|
|
7a5936976f | ||
|
|
b113c874f2 | ||
|
|
83b39e549b | ||
|
|
141716f439 | ||
|
|
7c0f7c3576 | ||
|
|
b53d9177f7 | ||
|
|
8999b26b10 | ||
|
|
a27b5b2466 | ||
|
|
13df952922 | ||
|
|
3d745a9a37 | ||
|
|
41b949f19e | ||
|
|
69261e134e | ||
|
|
3771db7395 | ||
|
|
b405f160de | ||
|
|
d6e7ae1f6f | ||
|
|
9ad93a467b | ||
|
|
e0ce361df9 | ||
|
|
2b463cd728 | ||
|
|
fc77078868 | ||
|
|
4ccfb857a4 | ||
|
|
4b4cfe4f74 | ||
|
|
4afe89a9ce | ||
|
|
2d254e9368 | ||
|
|
553b29623c | ||
|
|
73f8d5cc86 | ||
|
|
a409e6a7ec | ||
|
|
11f4749bdb | ||
|
|
f701fd714b | ||
|
|
ad388af833 | ||
|
|
617cc85c43 | ||
|
|
6fdca57be5 | ||
|
|
7fffa6bcf1 | ||
|
|
b98ae5fe32 | ||
|
|
519d9d1e30 | ||
|
|
e82cd45830 | ||
|
|
30fea6fcbd | ||
|
|
32637c09c8 | ||
|
|
9618e11b99 | ||
|
|
43f11068ce | ||
|
|
8474e2eec6 | ||
|
|
ceaf9ce37b | ||
|
|
57507e0abf | ||
|
|
15addf4476 | ||
|
|
df7ed19561 | ||
|
|
35b7b32db0 | ||
|
|
26f90e6511 | ||
|
|
3a9c276c70 | ||
|
|
1753520ee0 | ||
|
|
2d51987163 | ||
|
|
f73d7b632b | ||
|
|
369ff79b9f | ||
|
|
a4b47f50a4 | ||
|
|
557fc06d55 | ||
|
|
14ca97b75c |
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:
|
||||
|
||||
11
.github/dependabot.yml
vendored
Normal file
@@ -0,0 +1,11 @@
|
||||
# To get started with Dependabot version updates, you'll need to specify which
|
||||
# package ecosystems to update and where the package manifests are located.
|
||||
# Please see the documentation for all configuration options:
|
||||
# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
|
||||
|
||||
version: 2
|
||||
updates:
|
||||
- package-ecosystem: "github-actions"
|
||||
directory: "/"
|
||||
schedule:
|
||||
interval: "weekly"
|
||||
374
.github/workflows/insider-linux.yml
vendored
@@ -3,14 +3,17 @@ name: insider-linux
|
||||
on:
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
release_version:
|
||||
type: string
|
||||
description: Forced release version
|
||||
new_release:
|
||||
force_version:
|
||||
type: boolean
|
||||
description: Force new Release
|
||||
schedule:
|
||||
- cron: '0 8 * * *'
|
||||
description: Force update version
|
||||
generate_assets:
|
||||
type: boolean
|
||||
description: Generate assets
|
||||
checkout_pr:
|
||||
type: string
|
||||
description: Checkout PR
|
||||
repository_dispatch:
|
||||
types: [insider]
|
||||
push:
|
||||
branches: [ insider ]
|
||||
paths-ignore:
|
||||
@@ -21,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
|
||||
@@ -31,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 }}
|
||||
@@ -41,87 +45,98 @@ jobs:
|
||||
SHOULD_DEPLOY: ${{ env.SHOULD_DEPLOY }}
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
ref: ${{ env.GITHUB_BRANCH }}
|
||||
|
||||
- name: Clone VSCode repo
|
||||
env:
|
||||
RELEASE_VERSION: ${{ github.event.inputs.release_version }}
|
||||
PULL_REQUEST_ID: ${{ github.event.inputs.checkout_pr }}
|
||||
run: ./get_repo.sh
|
||||
|
||||
- name: Check PR or cron
|
||||
env:
|
||||
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:bionic-x64
|
||||
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 }}
|
||||
|
||||
- name: Clone VSCode repo
|
||||
run: ./get_repo.sh
|
||||
|
||||
- uses: docker/setup-qemu-action@v2
|
||||
if: matrix.vscode_arch == 'arm64'
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
|
||||
- name: Setup Node.js environment
|
||||
uses: actions/setup-node@v3
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: 16
|
||||
node-version: '18.17'
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
|
||||
- name: Install Yarn
|
||||
run: npm install -g yarn
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
|
||||
- name: Install remote dependencies (x64)
|
||||
- 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
|
||||
env:
|
||||
npm_config_arch: x64
|
||||
run: ./install_remote_dependencies.sh
|
||||
if: matrix.vscode_arch == 'x64'
|
||||
PULL_REQUEST_ID: ${{ github.event.inputs.checkout_pr }}
|
||||
run: ./get_repo.sh
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
|
||||
# - name: Install remote dependencies (arm64)
|
||||
# run: |
|
||||
# set -e
|
||||
# docker run -e VSCODE_QUALITY -e GITHUB_TOKEN -v $(pwd):/root/vscodium vscodium/vscodium-linux-build-agent:centos7-devtoolset8-arm64 /root/vscodium/install_remote_dependencies.sh
|
||||
# if: matrix.vscode_arch == 'arm64'
|
||||
- name: Build
|
||||
env:
|
||||
SHOULD_BUILD_REH: 'no'
|
||||
run: ./build.sh
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
|
||||
- name: Save remote dependencies
|
||||
- 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@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:
|
||||
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:
|
||||
@@ -131,62 +146,67 @@ jobs:
|
||||
image: vscodium/vscodium-linux-build-agent:bionic-x64
|
||||
- vscode_arch: arm64
|
||||
npm_arch: arm64
|
||||
image: vscodium/vscodium-linux-build-agent:stretch-arm64
|
||||
image: vscodium/vscodium-linux-build-agent:bionic-arm64
|
||||
- vscode_arch: armhf
|
||||
npm_arch: armv7l
|
||||
image: vscodium/vscodium-linux-build-agent:stretch-armhf
|
||||
npm_arch: arm
|
||||
image: vscodium/vscodium-linux-build-agent:bionic-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 }}
|
||||
|
||||
- name: Clone VSCode repo
|
||||
run: ./get_repo.sh
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
|
||||
- name: Install GH
|
||||
run: ./install_gh.sh
|
||||
|
||||
- name: Setup Node.js environment
|
||||
uses: actions/setup-node@v3
|
||||
with:
|
||||
node-version: 16
|
||||
|
||||
- name: Install Yarn
|
||||
run: npm install -g yarn
|
||||
if: env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes'
|
||||
|
||||
- name: Check existing VSCodium tags/releases
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
NEW_RELEASE: ${{ github.event.inputs.new_release }}
|
||||
CHECK_REH: 'no'
|
||||
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'
|
||||
run: ./prepare_assets.sh
|
||||
if: env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes'
|
||||
if: env.SHOULD_BUILD == 'yes' && (env.SHOULD_DEPLOY == 'yes' || github.event.inputs.generate_assets == 'true')
|
||||
|
||||
- name: Release
|
||||
env:
|
||||
@@ -197,13 +217,178 @@ 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:
|
||||
- vscode_arch: x64
|
||||
npm_arch: x64
|
||||
- vscode_arch: arm64
|
||||
npm_arch: arm64
|
||||
- vscode_arch: armhf
|
||||
npm_arch: arm
|
||||
- vscode_arch: ppc64le
|
||||
npm_arch: ppc64
|
||||
- vscode_arch: riscv64
|
||||
npm_arch: riscv64
|
||||
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 }}
|
||||
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: Setup Node.js environment
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: '18.17'
|
||||
|
||||
- name: Setup Python 3
|
||||
uses: actions/setup-python@v5
|
||||
with:
|
||||
python-version: '3.11'
|
||||
|
||||
- name: Install libkrb5-dev
|
||||
run: sudo apt-get update -y && sudo apt-get install -y libkrb5-dev
|
||||
|
||||
- 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: 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_linux_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-linux-${{ matrix.vscode_arch }}
|
||||
path: assets/
|
||||
retention-days: 3
|
||||
if: 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 }}
|
||||
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: 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:
|
||||
@@ -212,12 +397,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 }}
|
||||
@@ -231,50 +416,39 @@ 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_SNAP != 'yes'
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
with:
|
||||
ref: insider
|
||||
|
||||
- name: Check version
|
||||
env:
|
||||
ARCHITECTURE: ${{ matrix.platform }}
|
||||
SNAPCRAFT_STORE_CREDENTIALS: ${{ secrets.SNAP_STORE_LOGIN }}
|
||||
run: ./stores/snapcraft/check_version.sh
|
||||
|
||||
- uses: docker/setup-qemu-action@v1
|
||||
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 }}
|
||||
|
||||
58
.github/workflows/insider-macos.yml
vendored
@@ -3,14 +3,17 @@ name: insider-macos
|
||||
on:
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
release_version:
|
||||
type: string
|
||||
description: Forced release version
|
||||
new_release:
|
||||
force_version:
|
||||
type: boolean
|
||||
description: Force new Release
|
||||
schedule:
|
||||
- cron: '0 8 * * *'
|
||||
description: Force update version
|
||||
generate_assets:
|
||||
type: boolean
|
||||
description: Generate assets
|
||||
checkout_pr:
|
||||
type: string
|
||||
description: Checkout PR
|
||||
repository_dispatch:
|
||||
types: [insider]
|
||||
push:
|
||||
branches: [ insider ]
|
||||
paths-ignore:
|
||||
@@ -23,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
|
||||
@@ -39,31 +42,37 @@ jobs:
|
||||
include:
|
||||
- runner: macos-12
|
||||
vscode_arch: x64
|
||||
- runner: [self-hosted, macOS, ARM64]
|
||||
- runner: macos-14
|
||||
vscode_arch: arm64
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
ref: insider
|
||||
ref: ${{ env.GITHUB_BRANCH }}
|
||||
|
||||
- name: Setup Node.js environment
|
||||
uses: actions/setup-node@v3
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: 16
|
||||
node-version: '20.12'
|
||||
|
||||
- name: Setup Python 3
|
||||
uses: actions/setup-python@v5
|
||||
with:
|
||||
python-version: '3.11'
|
||||
|
||||
- name: Clone VSCode repo
|
||||
env:
|
||||
RELEASE_VERSION: ${{ github.event.inputs.release_version }}
|
||||
PULL_REQUEST_ID: ${{ github.event.inputs.checkout_pr }}
|
||||
run: . get_repo.sh
|
||||
|
||||
- name: Check PR or cron
|
||||
env:
|
||||
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 +84,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'
|
||||
if: env.SHOULD_BUILD == 'yes' && (env.SHOULD_DEPLOY == 'yes' || github.event.inputs.generate_assets == 'true')
|
||||
|
||||
- name: Release
|
||||
env:
|
||||
@@ -90,11 +101,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
@@ -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.12'
|
||||
|
||||
- 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')
|
||||
|
||||
53
.github/workflows/insider-windows.yml
vendored
@@ -3,14 +3,17 @@ name: insider-windows
|
||||
on:
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
release_version:
|
||||
type: string
|
||||
description: Forced release version
|
||||
new_release:
|
||||
force_version:
|
||||
type: boolean
|
||||
description: Force new Release
|
||||
schedule:
|
||||
- cron: '0 8 * * *'
|
||||
description: Force update version
|
||||
generate_assets:
|
||||
type: boolean
|
||||
description: Generate assets
|
||||
checkout_pr:
|
||||
type: string
|
||||
description: Checkout PR
|
||||
repository_dispatch:
|
||||
types: [insider]
|
||||
push:
|
||||
branches: [ insider ]
|
||||
paths-ignore:
|
||||
@@ -23,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: windows
|
||||
VERSIONS_REPOSITORY: ${{ github.repository_owner }}/versions
|
||||
VSCODE_QUALITY: insider
|
||||
@@ -41,44 +44,45 @@ jobs:
|
||||
matrix:
|
||||
vscode_arch:
|
||||
- x64
|
||||
- ia32
|
||||
# - ia32
|
||||
- arm64
|
||||
outputs:
|
||||
RELEASE_VERSION: ${{ env.RELEASE_VERSION }}
|
||||
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
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: 16
|
||||
node-version: '20.12'
|
||||
|
||||
- name: Install Yarn
|
||||
run: npm install -g yarn
|
||||
|
||||
- name: Setup Python 3
|
||||
uses: actions/setup-python@v3
|
||||
uses: actions/setup-python@v5
|
||||
with:
|
||||
python-version: '3.x'
|
||||
python-version: '3.11'
|
||||
|
||||
- name: Clone VSCode repo
|
||||
env:
|
||||
RELEASE_VERSION: ${{ github.event.inputs.release_version }}
|
||||
PULL_REQUEST_ID: ${{ github.event.inputs.checkout_pr }}
|
||||
run: ./get_repo.sh
|
||||
|
||||
- name: Check PR or cron
|
||||
env:
|
||||
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'
|
||||
if: env.SHOULD_DEPLOY == 'yes' || github.event.inputs.generate_assets == 'true'
|
||||
|
||||
- name: Build
|
||||
env:
|
||||
@@ -90,7 +94,7 @@ jobs:
|
||||
|
||||
- name: Prepare assets
|
||||
run: ./prepare_assets.sh
|
||||
if: env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes'
|
||||
if: env.SHOULD_BUILD == 'yes' && (env.SHOULD_DEPLOY == 'yes' || github.event.inputs.generate_assets == 'true')
|
||||
|
||||
- name: Release
|
||||
env:
|
||||
@@ -101,11 +105,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
|
||||
@@ -118,7 +131,7 @@ jobs:
|
||||
if: needs.build.outputs.SHOULD_DEPLOY == 'yes'
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
ref: ${{ env.GITHUB_BRANCH }}
|
||||
|
||||
@@ -128,7 +141,7 @@ jobs:
|
||||
RELEASE_VERSION: ${{ needs.build.outputs.RELEASE_VERSION }}
|
||||
|
||||
- name: Release to WinGet
|
||||
uses: vedantmgoyal2009/winget-releaser@v1
|
||||
uses: vedantmgoyal2009/winget-releaser@v2
|
||||
with:
|
||||
identifier: ${{ env.APP_IDENTIFIER }}
|
||||
version: ${{ env.RELEASE_VERSION }}
|
||||
|
||||
2
.github/workflows/lock.yml
vendored
@@ -8,7 +8,7 @@ jobs:
|
||||
lock:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: dessant/lock-threads@v3
|
||||
- uses: dessant/lock-threads@v5
|
||||
with:
|
||||
github-token: ${{ github.token }}
|
||||
issue-inactive-days: '90'
|
||||
|
||||
371
.github/workflows/stable-linux.yml
vendored
@@ -3,11 +3,17 @@ name: stable-linux
|
||||
on:
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
new_release:
|
||||
force_version:
|
||||
type: boolean
|
||||
description: Force new Release
|
||||
schedule:
|
||||
- cron: '0 18 * * *'
|
||||
description: Force update version
|
||||
generate_assets:
|
||||
type: boolean
|
||||
description: Generate assets
|
||||
checkout_pr:
|
||||
type: string
|
||||
description: Checkout PR
|
||||
repository_dispatch:
|
||||
types: [stable]
|
||||
push:
|
||||
branches: [ master ]
|
||||
paths-ignore:
|
||||
@@ -18,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
|
||||
@@ -27,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 }}
|
||||
@@ -37,85 +44,98 @@ jobs:
|
||||
SHOULD_DEPLOY: ${{ env.SHOULD_DEPLOY }}
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
ref: ${{ env.GITHUB_BRANCH }}
|
||||
|
||||
- name: Clone VSCode repo
|
||||
env:
|
||||
PULL_REQUEST_ID: ${{ github.event.inputs.checkout_pr }}
|
||||
run: ./get_repo.sh
|
||||
|
||||
- name: Check PR or cron
|
||||
env:
|
||||
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:bionic-x64
|
||||
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 }}
|
||||
|
||||
- name: Clone VSCode repo
|
||||
run: ./get_repo.sh
|
||||
|
||||
- uses: docker/setup-qemu-action@v2
|
||||
if: matrix.vscode_arch == 'arm64'
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
|
||||
- name: Setup Node.js environment
|
||||
uses: actions/setup-node@v3
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: 16
|
||||
node-version: '18.17'
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
|
||||
- name: Install Yarn
|
||||
run: npm install -g yarn
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
|
||||
- name: Install remote dependencies (x64)
|
||||
- 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
|
||||
env:
|
||||
npm_config_arch: x64
|
||||
run: ./install_remote_dependencies.sh
|
||||
if: matrix.vscode_arch == 'x64'
|
||||
PULL_REQUEST_ID: ${{ github.event.inputs.checkout_pr }}
|
||||
run: ./get_repo.sh
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
|
||||
# - name: Install remote dependencies (arm64)
|
||||
# run: |
|
||||
# set -e
|
||||
# docker run -e VSCODE_QUALITY -e GITHUB_TOKEN -v $(pwd):/root/vscodium vscodium/vscodium-linux-build-agent:centos7-devtoolset8-arm64 /root/vscodium/install_remote_dependencies.sh
|
||||
# if: matrix.vscode_arch == 'arm64'
|
||||
- name: Build
|
||||
env:
|
||||
SHOULD_BUILD_REH: 'no'
|
||||
run: ./build.sh
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
|
||||
- name: Save remote dependencies
|
||||
- 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@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:
|
||||
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:
|
||||
@@ -125,76 +145,249 @@ jobs:
|
||||
image: vscodium/vscodium-linux-build-agent:bionic-x64
|
||||
- vscode_arch: arm64
|
||||
npm_arch: arm64
|
||||
image: vscodium/vscodium-linux-build-agent:stretch-arm64
|
||||
image: vscodium/vscodium-linux-build-agent:bionic-arm64
|
||||
- vscode_arch: armhf
|
||||
npm_arch: armv7l
|
||||
image: vscodium/vscodium-linux-build-agent:stretch-armhf
|
||||
npm_arch: arm
|
||||
image: vscodium/vscodium-linux-build-agent:bionic-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
|
||||
|
||||
- name: Clone VSCode repo
|
||||
run: ./get_repo.sh
|
||||
with:
|
||||
ref: ${{ env.GITHUB_BRANCH }}
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
|
||||
- name: Install GH
|
||||
run: ./install_gh.sh
|
||||
|
||||
- name: Setup Node.js environment
|
||||
uses: actions/setup-node@v3
|
||||
with:
|
||||
node-version: 16
|
||||
|
||||
- name: Install Yarn
|
||||
run: npm install -g yarn
|
||||
if: env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes'
|
||||
|
||||
- name: Check existing VSCodium tags/releases
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
NEW_RELEASE: ${{ github.event.inputs.new_release }}
|
||||
CHECK_REH: 'no'
|
||||
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'
|
||||
run: ./prepare_assets.sh
|
||||
if: env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes'
|
||||
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'
|
||||
|
||||
- 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:
|
||||
- vscode_arch: x64
|
||||
npm_arch: x64
|
||||
- vscode_arch: arm64
|
||||
npm_arch: arm64
|
||||
- vscode_arch: armhf
|
||||
npm_arch: arm
|
||||
- vscode_arch: ppc64le
|
||||
npm_arch: ppc64
|
||||
- vscode_arch: riscv64
|
||||
npm_arch: riscv64
|
||||
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 }}
|
||||
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: Setup Node.js environment
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: '18.17'
|
||||
|
||||
- name: Setup Python 3
|
||||
uses: actions/setup-python@v5
|
||||
with:
|
||||
python-version: '3.11'
|
||||
|
||||
- name: Install libkrb5-dev
|
||||
run: sudo apt-get update -y && sudo apt-get install -y libkrb5-dev
|
||||
|
||||
- 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: 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_linux_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-linux-${{ matrix.vscode_arch }}
|
||||
path: assets/
|
||||
retention-days: 3
|
||||
if: 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 }}
|
||||
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: 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:
|
||||
@@ -205,7 +398,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 }}
|
||||
@@ -219,17 +412,19 @@ 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_SNAP != 'yes'
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
@@ -237,38 +432,48 @@ jobs:
|
||||
- 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@v1
|
||||
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
|
||||
|
||||
53
.github/workflows/stable-macos.yml
vendored
@@ -3,11 +3,17 @@ name: stable-macos
|
||||
on:
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
new_release:
|
||||
force_version:
|
||||
type: boolean
|
||||
description: Force new Release
|
||||
schedule:
|
||||
- cron: '0 18 * * *'
|
||||
description: Force update version
|
||||
generate_assets:
|
||||
type: boolean
|
||||
description: Generate assets
|
||||
checkout_pr:
|
||||
type: string
|
||||
description: Checkout PR
|
||||
repository_dispatch:
|
||||
types: [stable]
|
||||
push:
|
||||
branches: [ master ]
|
||||
paths-ignore:
|
||||
@@ -35,27 +41,37 @@ 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
|
||||
|
||||
- name: Setup Node.js environment
|
||||
uses: actions/setup-node@v3
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: 16
|
||||
node-version: '20.12'
|
||||
|
||||
- name: Setup Python 3
|
||||
uses: actions/setup-python@v5
|
||||
with:
|
||||
python-version: '3.11'
|
||||
if: env.VSCODE_ARCH == 'x64'
|
||||
|
||||
- name: Clone VSCode repo
|
||||
env:
|
||||
PULL_REQUEST_ID: ${{ github.event.inputs.checkout_pr }}
|
||||
run: . get_repo.sh
|
||||
|
||||
- name: Check PR or cron
|
||||
env:
|
||||
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'
|
||||
|
||||
@@ -67,11 +83,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'
|
||||
if: env.SHOULD_BUILD == 'yes' && (env.SHOULD_DEPLOY == 'yes' || github.event.inputs.generate_assets == 'true')
|
||||
|
||||
- name: Release
|
||||
env:
|
||||
@@ -81,10 +99,19 @@ 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'
|
||||
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()
|
||||
|
||||
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.12'
|
||||
|
||||
- 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'
|
||||
51
.github/workflows/stable-windows.yml
vendored
@@ -3,11 +3,17 @@ name: stable-windows
|
||||
on:
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
new_release:
|
||||
force_version:
|
||||
type: boolean
|
||||
description: Force new Release
|
||||
schedule:
|
||||
- cron: '0 18 * * *'
|
||||
description: Force update version
|
||||
generate_assets:
|
||||
type: boolean
|
||||
description: Generate assets
|
||||
checkout_pr:
|
||||
type: string
|
||||
description: Checkout PR
|
||||
repository_dispatch:
|
||||
types: [stable]
|
||||
push:
|
||||
branches: [ master ]
|
||||
paths-ignore:
|
||||
@@ -38,44 +44,48 @@ jobs:
|
||||
matrix:
|
||||
vscode_arch:
|
||||
- x64
|
||||
- ia32
|
||||
# - ia32
|
||||
- arm64
|
||||
outputs:
|
||||
RELEASE_VERSION: ${{ env.RELEASE_VERSION }}
|
||||
SHOULD_DEPLOY: ${{ env.SHOULD_DEPLOY }}
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: Setup Node.js environment
|
||||
uses: actions/setup-node@v3
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: 16
|
||||
node-version: '20.12'
|
||||
|
||||
- name: Install Yarn
|
||||
run: npm install -g yarn
|
||||
|
||||
- name: Setup Python 3
|
||||
uses: actions/setup-python@v3
|
||||
uses: actions/setup-python@v5
|
||||
with:
|
||||
python-version: '3.x'
|
||||
python-version: '3.11'
|
||||
|
||||
- name: Clone VSCode repo
|
||||
env:
|
||||
PULL_REQUEST_ID: ${{ github.event.inputs.checkout_pr }}
|
||||
run: ./get_repo.sh
|
||||
|
||||
- name: Check PR or cron
|
||||
env:
|
||||
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'
|
||||
if: env.SHOULD_DEPLOY == 'yes' || github.event.inputs.generate_assets == 'true'
|
||||
|
||||
- name: Build
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
GITHUB_USERNAME: ${{ github.repository_owner }}
|
||||
npm_config_arch: ${{ matrix.vscode_arch }}
|
||||
npm_config_target_arch: ${{ matrix.vscode_arch }}
|
||||
run: ./build.sh
|
||||
@@ -83,7 +93,7 @@ jobs:
|
||||
|
||||
- name: Prepare assets
|
||||
run: ./prepare_assets.sh
|
||||
if: env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes'
|
||||
if: env.SHOULD_BUILD == 'yes' && (env.SHOULD_DEPLOY == 'yes' || github.event.inputs.generate_assets == 'true')
|
||||
|
||||
- name: Release
|
||||
env:
|
||||
@@ -93,10 +103,19 @@ 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'
|
||||
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'
|
||||
|
||||
winget:
|
||||
needs: build
|
||||
@@ -109,7 +128,7 @@ jobs:
|
||||
if: needs.build.outputs.SHOULD_DEPLOY == 'yes'
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: Check version
|
||||
run: ./stores/winget/check_version.sh
|
||||
@@ -117,7 +136,7 @@ jobs:
|
||||
RELEASE_VERSION: ${{ needs.build.outputs.RELEASE_VERSION }}
|
||||
|
||||
- name: Release to WinGet
|
||||
uses: vedantmgoyal2009/winget-releaser@v1
|
||||
uses: vedantmgoyal2009/winget-releaser@v2
|
||||
with:
|
||||
identifier: ${{ env.APP_IDENTIFIER }}
|
||||
version: ${{ env.RELEASE_VERSION }}
|
||||
|
||||
2
.github/workflows/stale.yml
vendored
@@ -11,7 +11,7 @@ jobs:
|
||||
stale:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/stale@v6
|
||||
- uses: actions/stale@v9
|
||||
with:
|
||||
days-before-stale: 180
|
||||
days-before-close: 30
|
||||
|
||||
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
@@ -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
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"drips": {
|
||||
"ethereum": {
|
||||
"ownedBy": "0x7806393Cb27692C6A52eE3D5338A75cECD168219"
|
||||
}
|
||||
}
|
||||
}
|
||||
99
README.md
@@ -1,6 +1,6 @@
|
||||
<div id="vscodium-logo" align="center">
|
||||
<br />
|
||||
<img src="./src/stable/resources/linux/code.png" alt="VSCodium Logo" width="200"/>
|
||||
<img src="./icons/stable/codium_cnl.svg" alt="VSCodium Logo" width="200"/>
|
||||
<h1>VSCodium</h1>
|
||||
<h3>Free/Libre Open Source Software Binaries of VS Code</h3>
|
||||
</div>
|
||||
@@ -13,13 +13,13 @@
|
||||
[](https://snapcraft.io/codium)
|
||||
[](https://snapcraft.io/codium)
|
||||
|
||||
[](https://github.com/VSCodium/vscodium/actions/workflows/linux.yml?query=branch%3Amaster)
|
||||
[](https://github.com/VSCodium/vscodium/actions/workflows/macos.yml?query=branch%3Amaster)
|
||||
[](https://github.com/VSCodium/vscodium/actions/workflows/windows.yml?query=branch%3Amaster)
|
||||
[](https://github.com/VSCodium/vscodium/actions/workflows/stable-linux.yml?query=branch%3Amaster)
|
||||
[](https://github.com/VSCodium/vscodium/actions/workflows/stable-macos.yml?query=branch%3Amaster)
|
||||
[](https://github.com/VSCodium/vscodium/actions/workflows/stable-windows.yml?query=branch%3Amaster)
|
||||
|
||||
</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,31 +181,21 @@ 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>
|
||||
<td>@estatra</td>
|
||||
<td>for the latest logo</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="https://github.com/jaredreich" target="_blank">@jaredreich</a></td>
|
||||
<td>for the previous logo</td>
|
||||
<td>for the logo</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="https://github.com/PalinuroSec" target="_blank">@PalinuroSec</a></td>
|
||||
@@ -182,6 +205,10 @@ 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>
|
||||
</table>
|
||||
|
||||
## <a id="license"></a>License
|
||||
|
||||
@@ -1,7 +1,2 @@
|
||||
[
|
||||
{
|
||||
"id": "#1218",
|
||||
"title": "💡 Discussion: New icon",
|
||||
"url": "https://github.com/VSCodium/vscodium/discussions/1218"
|
||||
}
|
||||
]
|
||||
|
||||
@@ -1,12 +1,7 @@
|
||||
[
|
||||
{
|
||||
{
|
||||
"id": "#1227",
|
||||
"title": "🐛 Issue: Update to `1.71.0`",
|
||||
"url": "https://github.com/VSCodium/vscodium/issues/1227"
|
||||
"title": "Issue(macOS): manual update to `1.90.x`",
|
||||
"url": "https://github.com/VSCodium/vscodium/issues/1917"
|
||||
},
|
||||
{
|
||||
"id": "#1264",
|
||||
"title": "🐛 Issue: Support for Windows 7",
|
||||
"url": "https://github.com/VSCodium/vscodium/issues/1264"
|
||||
}
|
||||
]
|
||||
|
||||
25
build.sh
@@ -1,23 +1,19 @@
|
||||
#!/bin/bash
|
||||
#!/usr/bin/env bash
|
||||
# shellcheck disable=SC1091
|
||||
|
||||
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
|
||||
npm config set scripts-prepend-node-path true
|
||||
npm config set node_gyp
|
||||
|
||||
echo "MS_COMMIT=\"${MS_COMMIT}\""
|
||||
|
||||
. prepare_vscode.sh
|
||||
|
||||
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
|
||||
|
||||
@@ -29,7 +25,7 @@ if [[ "${SHOULD_BUILD}" == "yes" ]]; then
|
||||
if [[ "${OS_NAME}" == "osx" ]]; then
|
||||
yarn gulp "vscode-darwin-${VSCODE_ARCH}-min-ci"
|
||||
|
||||
find "../VSCode-darwin-${VSCODE_ARCH}" -exec touch {} \;
|
||||
find "../VSCode-darwin-${VSCODE_ARCH}" -print0 | xargs -0 touch -c
|
||||
|
||||
VSCODE_PLATFORM="darwin"
|
||||
elif [[ "${OS_NAME}" == "windows" ]]; then
|
||||
@@ -43,14 +39,21 @@ if [[ "${SHOULD_BUILD}" == "yes" ]]; then
|
||||
|
||||
VSCODE_PLATFORM="win32"
|
||||
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}" -exec touch {} \;
|
||||
find "../VSCode-linux-${VSCODE_ARCH}" -print0 | xargs -0 touch -c
|
||||
fi
|
||||
|
||||
VSCODE_PLATFORM="linux"
|
||||
fi
|
||||
|
||||
if [[ "${SHOULD_BUILD_REH}" != "no" ]]; then
|
||||
if [[ "${OS_NAME}" == "linux" ]]; then
|
||||
export VSCODE_NODE_GLIBC='-glibc-2.17'
|
||||
fi
|
||||
|
||||
yarn gulp minify-vscode-reh
|
||||
yarn gulp "vscode-reh-${VSCODE_PLATFORM}-${VSCODE_ARCH}-min-ci"
|
||||
fi
|
||||
|
||||
@@ -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'));
|
||||
@@ -1,20 +1,25 @@
|
||||
#!/bin/bash
|
||||
#!/usr/bin/env bash
|
||||
# shellcheck disable=SC1091,SC2129
|
||||
|
||||
### Windows
|
||||
# to run with Bash: "C:\Program Files\Git\bin\bash.exe" ./build/build.sh
|
||||
###
|
||||
|
||||
export APP_NAME="VSCodium"
|
||||
export BINARY_NAME="codium"
|
||||
export CI_BUILD="no"
|
||||
export SHOULD_BUILD="yes"
|
||||
export SKIP_BUILD="no"
|
||||
export SKIP_ASSETS="yes"
|
||||
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 ":ilop" opt; do
|
||||
while getopts ":ilops" opt; do
|
||||
case "$opt" in
|
||||
i)
|
||||
export BINARY_NAME="codium-insiders"
|
||||
export VSCODE_QUALITY="insider"
|
||||
;;
|
||||
l)
|
||||
@@ -26,6 +31,11 @@ while getopts ":ilop" opt; do
|
||||
p)
|
||||
export SKIP_ASSETS="no"
|
||||
;;
|
||||
s)
|
||||
export SKIP_SOURCE="yes"
|
||||
;;
|
||||
*)
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
@@ -45,18 +55,25 @@ UNAME_ARCH=$( uname -m )
|
||||
|
||||
if [[ "${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}\""
|
||||
echo "SKIP_ASSETS=\"${SKIP_ASSETS}\""
|
||||
echo "VSCODE_ARCH=\"${VSCODE_ARCH}\""
|
||||
echo "VSCODE_LATEST=\"${VSCODE_LATEST}\""
|
||||
echo "VSCODE_QUALITY=\"${VSCODE_QUALITY}\""
|
||||
|
||||
if [[ "${SKIP_BUILD}" == "no" ]]; then
|
||||
if [[ "${SKIP_SOURCE}" == "no" ]]; then
|
||||
rm -rf vscode* VSCode*
|
||||
|
||||
. get_repo.sh
|
||||
@@ -67,13 +84,11 @@ if [[ "${SKIP_BUILD}" == "no" ]]; then
|
||||
echo "MS_COMMIT=\"${MS_COMMIT}\"" >> build.env
|
||||
echo "RELEASE_VERSION=\"${RELEASE_VERSION}\"" >> build.env
|
||||
echo "BUILD_SOURCEVERSION=\"${BUILD_SOURCEVERSION}\"" >> build.env
|
||||
|
||||
. build.sh
|
||||
|
||||
if [[ "${VSCODE_QUALITY}" == "insider" && "${VSCODE_LATEST}" == "yes" ]]; then
|
||||
echo "$( cat "insider.json" | jq --arg 'tag' "${MS_TAG/\-insider/}" --arg 'commit' "${MS_COMMIT}" '. | .tag=$tag | .commit=$commit' )" > "insider.json"
|
||||
fi
|
||||
else
|
||||
if [[ "${SKIP_ASSETS}" != "no" ]]; then
|
||||
rm -rf VSCode*
|
||||
fi
|
||||
|
||||
. build.env
|
||||
|
||||
echo "MS_TAG=\"${MS_TAG}\""
|
||||
@@ -82,10 +97,34 @@ else
|
||||
echo "BUILD_SOURCEVERSION=\"${BUILD_SOURCEVERSION}\""
|
||||
fi
|
||||
|
||||
if [[ "${SKIP_BUILD}" == "no" ]]; then
|
||||
if [[ "${SKIP_SOURCE}" != "no" ]]; then
|
||||
cd vscode || { echo "'vscode' dir not found"; exit 1; }
|
||||
|
||||
git add .
|
||||
git reset -q --hard HEAD
|
||||
|
||||
cd ..
|
||||
fi
|
||||
|
||||
. build.sh
|
||||
|
||||
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
|
||||
|
||||
if [[ "${SKIP_ASSETS}" == "no" ]]; then
|
||||
if [[ "${OS_NAME}" == "windows" ]]; 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
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
#!/bin/bash
|
||||
#!/usr/bin/env bash
|
||||
# shellcheck disable=SC1091
|
||||
|
||||
exists() { type -t "$1" > /dev/null 2>&1; }
|
||||
exists() { type -t "$1" &> /dev/null; }
|
||||
|
||||
export APP_NAME="VSCodium"
|
||||
export CI_BUILD="no"
|
||||
@@ -19,7 +20,9 @@ while getopts ":ilp" opt; do
|
||||
export VSCODE_LATEST="yes"
|
||||
;;
|
||||
p)
|
||||
export SKIP_ASSETS="no"
|
||||
export SKIP_ASSETS="no"
|
||||
;;
|
||||
*)
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#!/bin/bash
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -ex
|
||||
|
||||
@@ -15,11 +15,11 @@ if [[ "${VSCODE_ARCH}" == "x64" ]]; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
wget -c "${APPIMAGE_URL}"
|
||||
wget -c "${APPIMAGE_URL}" -O pkg2appimage.AppImage
|
||||
|
||||
chmod +x ./pkg2appimage-*.AppImage
|
||||
chmod +x ./pkg2appimage.AppImage
|
||||
|
||||
./pkg2appimage-*.AppImage --appimage-extract && mv ./squashfs-root ./pkg2appimage.AppDir
|
||||
./pkg2appimage.AppImage --appimage-extract && mv ./squashfs-root ./pkg2appimage.AppDir
|
||||
|
||||
# add update's url
|
||||
sed -i 's/generate_type2_appimage/generate_type2_appimage -u "gh-releases-zsync|VSCodium|vscodium|latest|*.AppImage.zsync"/' pkg2appimage.AppDir/AppRun
|
||||
|
||||
@@ -1,23 +1,25 @@
|
||||
#!/bin/bash
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -e
|
||||
|
||||
export VSCODE_QUALITY="stable"
|
||||
|
||||
while getopts ":ilp" opt; do
|
||||
while getopts ":i" opt; do
|
||||
case "$opt" in
|
||||
i)
|
||||
export VSCODE_QUALITY="insider"
|
||||
;;
|
||||
*)
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
|
||||
URL=`curl -s "https://update.code.visualstudio.com/api/update/win32-x64-archive/${VSCODE_QUALITY}/VERSION" | jq -c '.url' | sed -E 's/.*"([^"]+)".*/\1/'`
|
||||
URL=$( curl -s "https://update.code.visualstudio.com/api/update/win32-x64-archive/${VSCODE_QUALITY}/0000000000000000000000000000000000000000" | jq -c '.url' | sed -E 's/.*"([^"]+)".*/\1/' )
|
||||
# echo "url: ${URL}"
|
||||
FILE=`echo "${URL}" | sed -E 's|.*/([^/]+\.zip)$|\1|'`
|
||||
FILE="${URL##*/}"
|
||||
# echo "file: ${FILE}"
|
||||
DIRECTORY=`echo "${URL}" | sed -E 's|.*/([^/]+)\.zip$|\1|'`
|
||||
DIRECTORY="${FILE%.zip}"
|
||||
# echo "directory: ${DIRECTORY}"
|
||||
|
||||
if [[ ! -f "${FILE}" ]]; then
|
||||
@@ -28,8 +30,10 @@ if [[ ! -d "${DIRECTORY}" ]]; then
|
||||
unzip "${FILE}" -d "${DIRECTORY}"
|
||||
fi
|
||||
|
||||
APIS=`cat ${DIRECTORY}/resources/app/product.json | jq -r '.extensionEnabledApiProposals'`
|
||||
APIS=$( jq -r '.extensionEnabledApiProposals' "${DIRECTORY}/resources/app/product.json" )
|
||||
|
||||
APIS=`echo "${APIS}" | jq '. += {"jeanp413.open-remote-ssh": ["resolvers", "tunnels", "terminalDataWriteEvent", "contribViewsRemote"]}'`
|
||||
APIS=$( echo "${APIS}" | jq '. += {"jeanp413.open-remote-ssh": ["resolvers", "tunnels", "terminalDataWriteEvent", "contribRemoteHelp", "contribViewsRemote"]}' )
|
||||
APIS=$( echo "${APIS}" | jq '. += {"jeanp413.open-remote-wsl": ["resolvers", "contribRemoteHelp", "contribViewsRemote"]}' )
|
||||
|
||||
cat <<< $(jq --argjson v "${APIS}" 'setpath(["extensionEnabledApiProposals"]; $v)' product.json) > product.json
|
||||
jsonTmp=$( jq --argjson v "${APIS}" 'setpath(["extensionEnabledApiProposals"]; $v)' product.json )
|
||||
echo "${jsonTmp}" > product.json && unset jsonTmp
|
||||
|
||||
@@ -1,50 +1,52 @@
|
||||
#!/bin/bash
|
||||
#!/usr/bin/env bash
|
||||
|
||||
export VSCODE_QUALITY="stable"
|
||||
|
||||
while getopts ":ilp" opt; do
|
||||
while getopts ":i" opt; do
|
||||
case "$opt" in
|
||||
i)
|
||||
export VSCODE_QUALITY="insider"
|
||||
;;
|
||||
*)
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
check_file() {
|
||||
if [[ -f "${1}" ]]; then
|
||||
echo applying patch: "${1}"
|
||||
if ! git apply --ignore-whitespace "${1}"; then
|
||||
echo failed to apply patch "${1}"
|
||||
|
||||
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 > "${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
|
||||
if [ -f "${FILE}" ]; then
|
||||
echo applying patch: "${FILE}"
|
||||
git apply --ignore-whitespace "${FILE}"
|
||||
if [ $? -ne 0 ]; then
|
||||
echo failed to apply patch "${FILE}"
|
||||
git apply --reject "${FILE}"
|
||||
read -p "Press any key when the conflict have been resolved..." -n1 -s
|
||||
git add .
|
||||
git diff --staged -U1 > "${FILE}"
|
||||
fi
|
||||
git add .
|
||||
git reset -q --hard HEAD
|
||||
fi
|
||||
check_file "${FILE}"
|
||||
done
|
||||
|
||||
if [[ "${VSCODE_QUALITY}" == "insider" ]]; then
|
||||
for FILE in ../patches/insider/*.patch; do
|
||||
if [ -f "${FILE}" ]; then
|
||||
echo applying patch: "${FILE}"
|
||||
git apply --ignore-whitespace "${FILE}"
|
||||
if [ $? -ne 0 ]; then
|
||||
echo failed to apply patch "${FILE}"
|
||||
git apply --reject "${FILE}"
|
||||
read -p "Press any key when the conflict have been resolved..." -n1 -s
|
||||
git add .
|
||||
git diff --staged -U1 > "${FILE}"
|
||||
fi
|
||||
git add .
|
||||
git reset -q --hard HEAD
|
||||
fi
|
||||
check_file "${FILE}"
|
||||
done
|
||||
fi
|
||||
|
||||
for FILE in ../patches/linux/*/*.patch; do
|
||||
check_file "${FILE}"
|
||||
done
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#!/bin/bash
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -ex
|
||||
|
||||
@@ -10,9 +10,8 @@ SCRIPT_DIR=$( pwd )
|
||||
|
||||
cd "../../../VSCode-win32-${VSCODE_ARCH}/resources/app"
|
||||
|
||||
cp product.json product.json.bak
|
||||
cat product.json.bak | jq "del(.updateUrl)" > product.json
|
||||
rm -f product.json.bak
|
||||
jsonTmp=$( jq "del(.updateUrl)" product.json )
|
||||
echo "${jsonTmp}" > product.json && unset jsonTmp
|
||||
|
||||
cd "${SCRIPT_DIR}"
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#!/bin/bash
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -ex
|
||||
|
||||
@@ -11,14 +11,12 @@ WIN_SDK_FULL_VERSION="10.0.17763.0"
|
||||
|
||||
if [[ "${VSCODE_QUALITY}" == "insider" ]]; then
|
||||
PRODUCT_NAME="VSCodium - Insiders"
|
||||
PRODUCT_SKU="vscodium-insiders"
|
||||
PRODUCT_CODE="VSCodiumInsiders"
|
||||
PRODUCT_UPGRADE_CODE="1C9B7195-5A9A-43B3-B4BD-583E20498467"
|
||||
ICON_DIR="..\\..\\..\\src\\insider\\resources\\win32"
|
||||
SETUP_RESOURCES_DIR=".\\resources\\insider"
|
||||
else
|
||||
PRODUCT_NAME="VSCodium"
|
||||
PRODUCT_SKU="vscodium"
|
||||
PRODUCT_CODE="VSCodium"
|
||||
PRODUCT_UPGRADE_CODE="965370CD-253C-4720-82FC-2E6B02A53808"
|
||||
ICON_DIR="..\\..\\..\\src\\stable\\resources\\win32"
|
||||
@@ -51,7 +49,7 @@ fi
|
||||
sed -i "s|@@PRODUCT_UPGRADE_CODE@@|${PRODUCT_UPGRADE_CODE}|g" .\\includes\\vscodium-variables.wxi
|
||||
sed -i "s|@@PRODUCT_NAME@@|${PRODUCT_NAME}|g" .\\vscodium.xsl
|
||||
|
||||
find i18n -name '*.wxl' -exec sed -i "s|@@PRODUCT_NAME@@|${PRODUCT_NAME}|g" {} \;
|
||||
find i18n -name '*.wxl' -print0 | xargs -0 sed -i "s|@@PRODUCT_NAME@@|${PRODUCT_NAME}|g"
|
||||
|
||||
BuildSetupTranslationTransform() {
|
||||
local CULTURE=${1}
|
||||
|
||||
@@ -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>
|
||||
|
||||
|
Before Width: | Height: | Size: 84 KiB After Width: | Height: | Size: 84 KiB |
|
Before Width: | Height: | Size: 451 KiB After Width: | Height: | Size: 451 KiB |
|
Before Width: | Height: | Size: 84 KiB After Width: | Height: | Size: 84 KiB |
|
Before Width: | Height: | Size: 451 KiB After Width: | Height: | Size: 451 KiB |
@@ -1,4 +1,4 @@
|
||||
#!/bin/bash
|
||||
#!/usr/bin/env bash
|
||||
|
||||
cd "$( dirname "${BASH_SOURCE[0]}" )"/../../../vscode || { echo "'vscode' dir not found"; exit 1; }
|
||||
|
||||
|
||||
@@ -1,11 +1,12 @@
|
||||
#!/bin/bash
|
||||
#!/usr/bin/env bash
|
||||
# shellcheck disable=SC2129
|
||||
|
||||
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"
|
||||
@@ -13,9 +14,16 @@ elif [[ "${GITHUB_EVENT_NAME}" == "push" ]]; then
|
||||
export SHOULD_BUILD="yes"
|
||||
export SHOULD_DEPLOY="no"
|
||||
elif [[ "${GITHUB_EVENT_NAME}" == "workflow_dispatch" ]]; then
|
||||
echo "It's a Dispatch"
|
||||
if [[ "${GENERATE_ASSETS}" == "true" ]]; then
|
||||
echo "It will generate the assets"
|
||||
|
||||
export SHOULD_DEPLOY="yes"
|
||||
export SHOULD_BUILD="yes"
|
||||
export SHOULD_DEPLOY="no"
|
||||
else
|
||||
echo "It's a Dispatch"
|
||||
|
||||
export SHOULD_DEPLOY="yes"
|
||||
fi
|
||||
else
|
||||
echo "It's a Cron"
|
||||
|
||||
@@ -24,7 +32,7 @@ fi
|
||||
|
||||
if [[ "${GITHUB_ENV}" ]]; then
|
||||
echo "GITHUB_BRANCH=${GITHUB_BRANCH}" >> "${GITHUB_ENV}"
|
||||
echo "SHOULD_BUILD=${SHOULD_BUILD}" >> "${GITHUB_ENV}"
|
||||
echo "SHOULD_DEPLOY=${SHOULD_DEPLOY}" >> "${GITHUB_ENV}"
|
||||
echo "SHOULD_BUILD=${SHOULD_BUILD}" >> "${GITHUB_ENV}"
|
||||
echo "SHOULD_DEPLOY=${SHOULD_DEPLOY}" >> "${GITHUB_ENV}"
|
||||
echo "VSCODE_QUALITY=${VSCODE_QUALITY}" >> "${GITHUB_ENV}"
|
||||
fi
|
||||
|
||||
362
check_tags.sh
@@ -1,43 +1,62 @@
|
||||
#!/bin/bash
|
||||
#!/usr/bin/env bash
|
||||
# shellcheck disable=SC2129
|
||||
|
||||
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
|
||||
exit 0
|
||||
else
|
||||
GITHUB_TOKEN="${GH_TOKEN:-${GITHUB_TOKEN:-${GH_ENTERPRISE_TOKEN:-${GITHUB_ENTERPRISE_TOKEN}}}}"
|
||||
fi
|
||||
|
||||
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' )
|
||||
# Support for GitHub Enterprise
|
||||
GH_HOST="${GH_HOST:-github.com}"
|
||||
|
||||
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' )
|
||||
APP_NAME_LC="$( echo "${APP_NAME}" | awk '{print tolower($0)}' )"
|
||||
|
||||
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 [[ "${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 [[ "${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
|
||||
|
||||
@@ -46,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"
|
||||
@@ -210,129 +230,192 @@ if [ "${ASSETS}" != "null" ]; then
|
||||
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 [[ -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 [[ "${CHECK_ONLY_REH}" == "yes" ]]; then
|
||||
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"
|
||||
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 [[ -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-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 [[ -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"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_REH="no"
|
||||
# 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
|
||||
|
||||
export SHOULD_BUILD_APPIMAGE="no"
|
||||
|
||||
if [[ "${SHOULD_BUILD}" != "yes" ]]; then
|
||||
echo "Already have all the Linux arm builds"
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ "${SHOULD_BUILD}" != "yes" ]]; then
|
||||
echo "Already have all the Linux x64 builds"
|
||||
# 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 [[ "${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 [[ "${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 [[ -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 [[ "${SHOULD_BUILD}" != "yes" ]]; then
|
||||
echo "Already have all the Linux x64 builds"
|
||||
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_RPM="no"
|
||||
SHOULD_BUILD_TAR="no"
|
||||
elif [[ "${VSCODE_ARCH}" == "riscv64" ]]; then
|
||||
SHOULD_BUILD_DEB="no"
|
||||
SHOULD_BUILD_RPM="no"
|
||||
fi
|
||||
if [[ "${VSCODE_ARCH}" != "x64" ]]; then
|
||||
export SHOULD_BUILD_APPIMAGE="no"
|
||||
fi
|
||||
elif [[ "${OS_NAME}" == "osx" ]]; then
|
||||
if [[ "${VSCODE_ARCH}" == "arm64" ]]; then
|
||||
export SHOULD_BUILD_SRC="yes"
|
||||
fi
|
||||
elif [[ "${OS_NAME}" == "windows" ]]; then
|
||||
if [[ "${VSCODE_ARCH}" == "arm64" ]]; then
|
||||
export SHOULD_BUILD_REH="no"
|
||||
@@ -343,6 +426,7 @@ else
|
||||
export SHOULD_BUILD="yes"
|
||||
fi
|
||||
|
||||
|
||||
echo "SHOULD_BUILD=${SHOULD_BUILD}" >> "${GITHUB_ENV}"
|
||||
echo "SHOULD_BUILD_APPIMAGE=${SHOULD_BUILD_APPIMAGE}" >> "${GITHUB_ENV}"
|
||||
echo "SHOULD_BUILD_DEB=${SHOULD_BUILD_DEB}" >> "${GITHUB_ENV}"
|
||||
|
||||
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.
|
||||
28
docs/extensions-compatibility.md
Normal file
@@ -0,0 +1,28 @@
|
||||
# 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)
|
||||
@@ -1,4 +1,4 @@
|
||||
# Build
|
||||
# How to build VSCodium
|
||||
|
||||
## Table of Contents
|
||||
|
||||
@@ -17,36 +17,40 @@
|
||||
|
||||
## <a id="dependencies"></a>Dependencies
|
||||
|
||||
- node 16
|
||||
- node 18.15
|
||||
- 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
|
||||
|
||||
see [the common dependencies](#dependencies)
|
||||
|
||||
### <a id="dependencies-windows"></a>Windows
|
||||
|
||||
- powershell
|
||||
- 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
|
||||
|
||||
@@ -60,7 +64,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.
|
||||
|
||||
### Flags
|
||||
|
||||
The script `build/build.sh` provides several flags:
|
||||
|
||||
- `-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-docker"></a>Build in Docker
|
||||
|
||||
@@ -79,31 +93,20 @@ docker run -ti --volume=$(pwd):/root/vscodium --name=vscodium-build-agent vscodi
|
||||
|
||||
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
|
||||
|
||||
npm install -g yarn
|
||||
|
||||
cd /root/vscodium
|
||||
|
||||
. get_repo.sh
|
||||
|
||||
export SHOULD_BUILD=yes
|
||||
export OS_NAME=linux
|
||||
export VSCODE_ARCH=x64
|
||||
|
||||
. build.sh
|
||||
./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:stretch-armhf bash
|
||||
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:stretch-armhf bash
|
||||
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:
|
||||
@@ -113,15 +116,7 @@ sudo apt-get install -y nodejs desktop-file-utils
|
||||
|
||||
cd /root/vscodium
|
||||
|
||||
. get_repo.sh
|
||||
|
||||
export SHOULD_BUILD=yes
|
||||
export OS_NAME=linux
|
||||
export VSCODE_ARCH=armhf
|
||||
export npm_config_arch=armv7l
|
||||
export npm_config_force_process_config="true"
|
||||
|
||||
. build.sh
|
||||
./build/build.sh
|
||||
```
|
||||
|
||||
## <a id="build-snap"></a>Build Snap
|
||||
@@ -146,10 +141,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
|
||||
@@ -160,5 +155,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
|
||||
@@ -77,24 +81,26 @@ Or by creating a custom `product.json` at the following location (replace `VSCod
|
||||
|
||||
with the content:
|
||||
|
||||
- Note: set `cacheUrl` to empty string for every other extension gallery
|
||||
|
||||
```jsonc
|
||||
{
|
||||
"extensionsGallery": {
|
||||
"serviceUrl": "https://marketplace.visualstudio.com/_apis/public/gallery",
|
||||
"itemUrl": "https://marketplace.visualstudio.com/items",
|
||||
"cacheUrl": "https://vscode.blob.core.windows.net/gallery/index", // set to empty string for every other extension gallery
|
||||
"controlUrl": "",
|
||||
"cacheUrl": "https://vscode.blob.core.windows.net/gallery/index",
|
||||
"controlUrl": ""
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### <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).
|
||||
@@ -105,8 +111,8 @@ 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).
|
||||
Also note that this extension gallery hosts multiple extensions that are non-free and have license-agreements that explicit forbid to use them in non-Microsoft products, along with using telemetry.
|
||||
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).
|
||||
|
||||
@@ -158,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
|
||||
|
||||
@@ -171,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:
|
||||
@@ -196,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
@@ -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
|
||||
```
|
||||
78
get_repo.sh
@@ -1,4 +1,5 @@
|
||||
#!/bin/bash
|
||||
#!/usr/bin/env bash
|
||||
# shellcheck disable=SC2129
|
||||
|
||||
set -e
|
||||
|
||||
@@ -7,33 +8,42 @@ 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
|
||||
|
||||
if [[ -z "${RELEASE_VERSION}" ]]; then
|
||||
if [[ "${VSCODE_QUALITY}" == "insider" ]]; then
|
||||
if [[ "${VSCODE_LATEST}" == "yes" ]] || [[ ! -f "insider.json" ]]; then
|
||||
UPDATE_INFO=$( curl --silent https://update.code.visualstudio.com/api/update/darwin/insider/lol )
|
||||
else
|
||||
export MS_COMMIT=$(jq -r '.commit' insider.json)
|
||||
export 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 https://update.code.visualstudio.com/api/update/darwin/stable/lol )
|
||||
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
|
||||
export MS_COMMIT=$( echo "${UPDATE_INFO}" | jq -r '.version' )
|
||||
export MS_TAG=$( echo "${UPDATE_INFO}" | jq -r '.name' )
|
||||
MS_COMMIT=$( echo "${UPDATE_INFO}" | jq -r '.version' )
|
||||
MS_TAG=$( echo "${UPDATE_INFO}" | jq -r '.name' )
|
||||
|
||||
if [[ "${VSCODE_QUALITY}" == "insider" ]]; then
|
||||
export MS_TAG="${MS_TAG/\-insider/}"
|
||||
MS_TAG="${MS_TAG/\-insider/}"
|
||||
fi
|
||||
fi
|
||||
|
||||
date=$( date +%Y%j )
|
||||
|
||||
if [[ "${VSCODE_QUALITY}" == "insider" ]]; then
|
||||
export RELEASE_VERSION="${MS_TAG}.${date: -5}-insider"
|
||||
RELEASE_VERSION="${MS_TAG}.${date: -5}-insider"
|
||||
else
|
||||
export RELEASE_VERSION="${MS_TAG}.${date: -5}"
|
||||
RELEASE_VERSION="${MS_TAG}.${date: -5}"
|
||||
fi
|
||||
else
|
||||
if [[ "${VSCODE_QUALITY}" == "insider" ]]; then
|
||||
@@ -41,14 +51,7 @@ else
|
||||
then
|
||||
MS_TAG="${BASH_REMATCH[1]}"
|
||||
else
|
||||
echo "Bad RELEASE_VERSION: ${RELEASE_VERSION}"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [[ "${MS_TAG}" == "$(jq -r '.tag' insider.json)" ]]; then
|
||||
export MS_COMMIT=$(jq -r '.commit' insider.json)
|
||||
else
|
||||
echo "No MS_COMMIT for ${RELEASE_VERSION}"
|
||||
echo "Error: Bad RELEASE_VERSION: ${RELEASE_VERSION}"
|
||||
exit 1
|
||||
fi
|
||||
else
|
||||
@@ -56,10 +59,17 @@ else
|
||||
then
|
||||
MS_TAG="${BASH_REMATCH[1]}"
|
||||
else
|
||||
echo "Bad RELEASE_VERSION: ${RELEASE_VERSION}"
|
||||
echo "Error: Bad RELEASE_VERSION: ${RELEASE_VERSION}"
|
||||
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}\""
|
||||
@@ -72,24 +82,20 @@ 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 https://update.code.visualstudio.com/api/update/darwin/insider/lol )
|
||||
else
|
||||
UPDATE_INFO=$( curl --silent https://update.code.visualstudio.com/api/update/darwin/stable/lol )
|
||||
fi
|
||||
export MS_COMMIT=$( echo "${UPDATE_INFO}" | jq -r '.version' )
|
||||
export MS_TAG=$( echo "${UPDATE_INFO}" | jq -r '.name' )
|
||||
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
|
||||
REFERENCE=$( git ls-remote --tags | grep -x ".*refs\/tags\/${MS_TAG}" | head -1 )
|
||||
|
||||
if [[ -z "${REFERENCE}" ]]; then
|
||||
echo "The following tag can't be found: ${MS_TAG}"
|
||||
echo "Error: The following tag can't be found: ${MS_TAG}"
|
||||
exit 1
|
||||
elif [[ "${REFERENCE}" =~ ^([[:alnum:]]+)[[:space:]]+refs\/tags\/([0-9]+\.[0-9]+\.[0-9]+)$ ]]; then
|
||||
export MS_COMMIT="${BASH_REMATCH[1]}"
|
||||
export MS_TAG="${BASH_REMATCH[2]}"
|
||||
MS_COMMIT="${BASH_REMATCH[1]}"
|
||||
MS_TAG="${BASH_REMATCH[2]}"
|
||||
else
|
||||
echo "The following reference can't be parsed: ${REFERENCE}"
|
||||
echo "Error: The following reference can't be parsed: ${REFERENCE}"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
@@ -108,3 +114,7 @@ if [[ "${GITHUB_ENV}" ]]; then
|
||||
echo "MS_COMMIT=${MS_COMMIT}" >> "${GITHUB_ENV}"
|
||||
echo "RELEASE_VERSION=${RELEASE_VERSION}" >> "${GITHUB_ENV}"
|
||||
fi
|
||||
|
||||
export MS_TAG
|
||||
export MS_COMMIT
|
||||
export RELEASE_VERSION
|
||||
|
||||
9
icons/README.md
Normal file
@@ -0,0 +1,9 @@
|
||||
## Files
|
||||
|
||||
| filename | color | width | border |
|
||||
| ------------------------- | ------ | ----- | ------ |
|
||||
| `codium_clt.svg` | light | | |
|
||||
| `codium_cnl.svg` | normal | | |
|
||||
| `codium_cnl_w80_b8.svg` | normal | 80% | 8pt |
|
||||
| `codium_cnl_w100_b05.svg` | normal | 100% | 0.5pt |
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
#!/usr/bin/env bash
|
||||
# shellcheck disable=SC1091
|
||||
|
||||
set -e
|
||||
|
||||
@@ -6,42 +7,61 @@ set -e
|
||||
# set -o xtrace
|
||||
|
||||
QUALITY="stable"
|
||||
COLOR="blue1"
|
||||
|
||||
while getopts ":i" opt; do
|
||||
case "$opt" in
|
||||
i)
|
||||
export QUALITY="insider"
|
||||
export COLOR="orange1"
|
||||
;;
|
||||
*)
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
check_programs() {
|
||||
for arg in "$@"
|
||||
do
|
||||
if ! command -v "${arg}" >/dev/null 2>&1
|
||||
then
|
||||
check_programs() { # {{{
|
||||
for arg in "$@"; do
|
||||
if ! command -v "${arg}" &> /dev/null; then
|
||||
echo "${arg} could not be found"
|
||||
exit
|
||||
exit 0
|
||||
fi
|
||||
done
|
||||
}
|
||||
} # }}}
|
||||
|
||||
check_programs "icns2png" "composite" "convert" "png2icns" "icotool"
|
||||
check_programs "icns2png" "composite" "convert" "png2icns" "icotool" "rsvg-convert" "sed"
|
||||
|
||||
. ./utils.sh
|
||||
|
||||
SRC_PREFIX=""
|
||||
VSCODE_PREFIX=""
|
||||
|
||||
build_darwin_types() {
|
||||
for file in "${VSCODE_PREFIX}"vscode/resources/darwin/*
|
||||
do
|
||||
if [ -f "${file}" ]; then
|
||||
build_darwin_main() { # {{{
|
||||
if [[ ! -f "${SRC_PREFIX}src/${QUALITY}/resources/darwin/code.icns" ]]; then
|
||||
rsvg-convert -w 655 -h 655 "icons/${QUALITY}/codium_cnl.svg" -o "code_logo.png"
|
||||
composite "code_logo.png" -gravity center "icons/template_macos.png" "code_1024.png"
|
||||
convert "code_1024.png" -resize 512x512 code_512.png
|
||||
convert "code_1024.png" -resize 256x256 code_256.png
|
||||
convert "code_1024.png" -resize 128x128 code_128.png
|
||||
|
||||
png2icns "${SRC_PREFIX}src/${QUALITY}/resources/darwin/code.icns" code_512.png code_256.png code_128.png
|
||||
|
||||
rm code_1024.png code_512.png code_256.png code_128.png code_logo.png
|
||||
fi
|
||||
} # }}}
|
||||
|
||||
build_darwin_types() { # {{{
|
||||
rsvg-convert -w 128 -h 128 "icons/${QUALITY}/codium_cnl_w80_b8.svg" -o "code_logo.png"
|
||||
|
||||
for file in "${VSCODE_PREFIX}"vscode/resources/darwin/*; do
|
||||
if [[ -f "${file}" ]]; then
|
||||
name=$(basename "${file}" '.icns')
|
||||
|
||||
if [[ ${name} != 'code' ]] && [ ! -f "${SRC_PREFIX}src/${QUALITY}/resources/darwin/${name}.icns" ]; then
|
||||
if [[ "${name}" != 'code' ]] && [[ ! -f "${SRC_PREFIX}src/${QUALITY}/resources/darwin/${name}.icns" ]]; then
|
||||
icns2png -x -s 512x512 "${file}" -o .
|
||||
|
||||
composite -blend 100% -geometry +323+365 "icons/corner_512.png" "${name}_512x512x32.png" "${name}.png"
|
||||
composite "icons/${QUALITY}/code_darwin.png" "${name}.png" "${name}.png"
|
||||
composite -geometry +359+374 "code_logo.png" "${name}.png" "${name}.png"
|
||||
|
||||
convert "${name}.png" -resize 256x256 "${name}_256.png"
|
||||
|
||||
@@ -51,113 +71,107 @@ build_darwin_types() {
|
||||
fi
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
build_darwin_main() {
|
||||
if [ ! -f "${SRC_PREFIX}src/${QUALITY}/resources/darwin/code.icns" ]; then
|
||||
convert "${SRC_PREFIX}src/${QUALITY}/resources/linux/code.png" -resize 512x512 code_512.png
|
||||
convert "${SRC_PREFIX}src/${QUALITY}/resources/linux/code.png" -resize 256x256 code_256.png
|
||||
convert "${SRC_PREFIX}src/${QUALITY}/resources/linux/code.png" -resize 128x128 code_128.png
|
||||
rm "code_logo.png"
|
||||
} # }}}
|
||||
|
||||
png2icns "${SRC_PREFIX}src/${QUALITY}/resources/darwin/code.icns" code_512.png code_256.png code_128.png
|
||||
build_linux_main() { # {{{
|
||||
if [[ ! -f "${SRC_PREFIX}src/${QUALITY}/resources/linux/code.png" ]]; then
|
||||
wget "https://raw.githubusercontent.com/VSCodium/icons/main/icons/linux/circle1/${COLOR}/paulo22s.png" -O "${SRC_PREFIX}src/${QUALITY}/resources/linux/code.png"
|
||||
fi
|
||||
|
||||
rm code_512.png code_256.png code_128.png
|
||||
mkdir -p "${SRC_PREFIX}src/${QUALITY}/resources/linux/rpm"
|
||||
|
||||
if [[ ! -f "${SRC_PREFIX}src/${QUALITY}/resources/linux/rpm/code.xpm" ]]; then
|
||||
convert "${SRC_PREFIX}src/${QUALITY}/resources/linux/code.png" "${SRC_PREFIX}src/${QUALITY}/resources/linux/rpm/code.xpm"
|
||||
fi
|
||||
} # }}}
|
||||
|
||||
build_media() { # {{{
|
||||
if [[ ! -f "${SRC_PREFIX}src/${QUALITY}/src/vs/workbench/browser/media/code-icon.svg" ]]; then
|
||||
cp "icons/${QUALITY}/codium_clt.svg" "${SRC_PREFIX}src/${QUALITY}/src/vs/workbench/browser/media/code-icon.svg"
|
||||
gsed -i 's|width="100" height="100"|width="1024" height="1024"|' "${SRC_PREFIX}src/${QUALITY}/src/vs/workbench/browser/media/code-icon.svg"
|
||||
fi
|
||||
} # }}}
|
||||
|
||||
build_windows_main() { # {{{
|
||||
if [[ ! -f "${SRC_PREFIX}src/${QUALITY}/resources/win32/code.ico" ]]; then
|
||||
wget "https://raw.githubusercontent.com/VSCodium/icons/main/icons/win32/nobg/${COLOR}/paulo22s.ico" -O "${SRC_PREFIX}src/${QUALITY}/resources/win32/code.ico"
|
||||
fi
|
||||
} # }}}
|
||||
|
||||
build_windows_type() {
|
||||
local FILE_PATH IMG_SIZE IMG_BG_COLOR LOGO_SIZE GRAVITY
|
||||
|
||||
FILE_PATH="$1"
|
||||
IMG_SIZE="$2"
|
||||
IMG_BG_COLOR="$3"
|
||||
LOGO_SIZE="$4"
|
||||
GRAVITY="$5"
|
||||
|
||||
if [[ ! -f "${FILE_PATH}" ]]; then
|
||||
if [[ "${FILE_PATH##*.}" == "png" ]]; then
|
||||
convert -size "${IMG_SIZE}" "${IMG_BG_COLOR}" PNG32:"${FILE_PATH}"
|
||||
else
|
||||
convert -size "${IMG_SIZE}" "${IMG_BG_COLOR}" "${FILE_PATH}"
|
||||
fi
|
||||
|
||||
rsvg-convert -w "${LOGO_SIZE}" -h "${LOGO_SIZE}" "icons/${QUALITY}/codium_cnl.svg" -o "code_logo.png"
|
||||
|
||||
composite -gravity "${GRAVITY}" "code_logo.png" "${FILE_PATH}" "${FILE_PATH}"
|
||||
fi
|
||||
}
|
||||
|
||||
build_win32() {
|
||||
build_windows_types() { # {{{
|
||||
mkdir -p "${SRC_PREFIX}src/${QUALITY}/resources/win32"
|
||||
|
||||
for file in "${VSCODE_PREFIX}"vscode/resources/win32/*.ico
|
||||
do
|
||||
if [ -f "${file}" ]; then
|
||||
rsvg-convert -b "#F5F6F7" -w 64 -h 64 "icons/${QUALITY}/codium_cnl.svg" -o "code_logo.png"
|
||||
|
||||
for file in "${VSCODE_PREFIX}"vscode/resources/win32/*.ico; do
|
||||
if [[ -f "${file}" ]]; then
|
||||
name=$(basename "${file}" '.ico')
|
||||
|
||||
if [[ ${name} != 'code' ]] && [ ! -f "${SRC_PREFIX}src/${QUALITY}/resources/win32/${name}.ico" ]; then
|
||||
if [[ "${name}" != 'code' ]] && [[ ! -f "${SRC_PREFIX}src/${QUALITY}/resources/win32/${name}.ico" ]]; then
|
||||
icotool -x -w 256 "${file}"
|
||||
|
||||
composite -geometry +150+185 "icons/${QUALITY}/code_64.png" "${name}_1_256x256x32.png" "${name}.png"
|
||||
composite -geometry +150+185 "code_logo.png" "${name}_9_256x256x32.png" "${name}.png"
|
||||
|
||||
convert "${name}.png" -define icon:auto-resize=256,128,96,64,48,32,24,20,16 "${SRC_PREFIX}src/${QUALITY}/resources/win32/${name}.ico"
|
||||
|
||||
rm "${name}_1_256x256x32.png" "${name}.png"
|
||||
rm "${name}_9_256x256x32.png" "${name}.png"
|
||||
fi
|
||||
fi
|
||||
done
|
||||
|
||||
if [ ! -f "${SRC_PREFIX}src/${QUALITY}/resources/win32/code.ico" ]; then
|
||||
convert "${SRC_PREFIX}src/${QUALITY}/resources/linux/code.png" -define icon:auto-resize=256,128,96,64,48,32,24,20,16 "${SRC_PREFIX}src/${QUALITY}/resources/win32/code.ico"
|
||||
fi
|
||||
build_windows_type "${SRC_PREFIX}src/${QUALITY}/resources/win32/code_70x70.png" "70x70" "canvas:transparent" "45" "center"
|
||||
build_windows_type "${SRC_PREFIX}src/${QUALITY}/resources/win32/code_150x150.png" "150x150" "canvas:transparent" "64" "+44+25"
|
||||
build_windows_type "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-big-100.bmp" "164x314" "xc:white" "126" "center"
|
||||
build_windows_type "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-big-125.bmp" "192x386" "xc:white" "147" "center"
|
||||
build_windows_type "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-big-150.bmp" "246x459" "xc:white" "190" "center"
|
||||
build_windows_type "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-big-175.bmp" "273x556" "xc:white" "211" "center"
|
||||
build_windows_type "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-big-200.bmp" "328x604" "xc:white" "255" "center"
|
||||
build_windows_type "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-big-225.bmp" "355x700" "xc:white" "273" "center"
|
||||
build_windows_type "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-big-250.bmp" "410x797" "xc:white" "317" "center"
|
||||
build_windows_type "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-small-100.bmp" "55x55" "xc:white" "44" "center"
|
||||
build_windows_type "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-small-125.bmp" "64x68" "xc:white" "52" "center"
|
||||
build_windows_type "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-small-150.bmp" "83x80" "xc:white" "63" "center"
|
||||
build_windows_type "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-small-175.bmp" "92x97" "xc:white" "76" "center"
|
||||
build_windows_type "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-small-200.bmp" "110x106" "xc:white" "86" "center"
|
||||
build_windows_type "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-small-225.bmp" "119x123" "xc:white" "103" "center"
|
||||
build_windows_type "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-small-250.bmp" "138x140" "xc:white" "116" "center"
|
||||
build_windows_type "${SRC_PREFIX}build/windows/msi/resources/${QUALITY}/wix-banner.bmp" "493x58" "xc:white" "50" "+438+6"
|
||||
build_windows_type "${SRC_PREFIX}build/windows/msi/resources/${QUALITY}/wix-dialog.bmp" "493x312" "xc:white" "120" "+22+152"
|
||||
|
||||
if [ ! -f "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-big-100.bmp" ]; then
|
||||
convert -size 164x314 xc:white "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-big-100.bmp"
|
||||
composite -size 126x -gravity center "icons/${QUALITY}/codium_only.svg" "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-big-100.bmp" "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-big-100.bmp"
|
||||
fi
|
||||
if [ ! -f "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-big-125.bmp" ]; then
|
||||
convert -size 192x386 xc:white "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-big-125.bmp"
|
||||
composite -size 147x -gravity center "icons/${QUALITY}/codium_only.svg" "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-big-125.bmp" "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-big-125.bmp"
|
||||
fi
|
||||
if [ ! -f "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-big-150.bmp" ]; then
|
||||
convert -size 246x459 xc:white "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-big-150.bmp"
|
||||
composite -size 190x -gravity center "icons/${QUALITY}/codium_only.svg" "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-big-150.bmp" "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-big-150.bmp"
|
||||
fi
|
||||
if [ ! -f "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-big-175.bmp" ]; then
|
||||
convert -size 273x556 xc:white "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-big-175.bmp"
|
||||
composite -size 211x -gravity center "icons/${QUALITY}/codium_only.svg" "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-big-175.bmp" "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-big-175.bmp"
|
||||
fi
|
||||
if [ ! -f "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-big-200.bmp" ]; then
|
||||
convert -size 328x604 xc:white "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-big-200.bmp"
|
||||
composite -size 255x -gravity center "icons/${QUALITY}/codium_only.svg" "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-big-200.bmp" "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-big-200.bmp"
|
||||
fi
|
||||
if [ ! -f "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-big-225.bmp" ]; then
|
||||
convert -size 355x700 xc:white "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-big-225.bmp"
|
||||
composite -size 273x -gravity center "icons/${QUALITY}/codium_only.svg" "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-big-225.bmp" "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-big-225.bmp"
|
||||
fi
|
||||
if [ ! -f "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-big-250.bmp" ]; then
|
||||
convert -size 410x797 xc:white "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-big-250.bmp"
|
||||
composite -size 317x -gravity center "icons/${QUALITY}/codium_only.svg" "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-big-250.bmp" "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-big-250.bmp"
|
||||
fi
|
||||
rm code_logo.png
|
||||
} # }}}
|
||||
|
||||
if [ ! -f "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-small-100.bmp" ]; then
|
||||
convert -size 55x55 xc:white "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-small-100.bmp"
|
||||
composite -size 44x -gravity center "icons/${QUALITY}/codium_only.svg" "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-small-100.bmp" "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-small-100.bmp"
|
||||
fi
|
||||
if [ ! -f "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-small-125.bmp" ]; then
|
||||
convert -size 64x68 xc:white "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-small-125.bmp"
|
||||
composite -size 52x -gravity center "icons/${QUALITY}/codium_only.svg" "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-small-125.bmp" "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-small-125.bmp"
|
||||
fi
|
||||
if [ ! -f "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-small-150.bmp" ]; then
|
||||
convert -size 83x80 xc:white "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-small-150.bmp"
|
||||
composite -size 63x -gravity center "icons/${QUALITY}/codium_only.svg" "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-small-150.bmp" "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-small-150.bmp"
|
||||
fi
|
||||
if [ ! -f "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-small-175.bmp" ]; then
|
||||
convert -size 92x97 xc:white "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-small-175.bmp"
|
||||
composite -size 76x -gravity center "icons/${QUALITY}/codium_only.svg" "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-small-175.bmp" "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-small-175.bmp"
|
||||
fi
|
||||
if [ ! -f "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-small-200.bmp" ]; then
|
||||
convert -size 110x106 xc:white "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-small-200.bmp"
|
||||
composite -size 86x -gravity center "icons/${QUALITY}/codium_only.svg" "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-small-200.bmp" "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-small-200.bmp"
|
||||
fi
|
||||
if [ ! -f "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-small-225.bmp" ]; then
|
||||
convert -size 119x123 xc:white "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-small-225.bmp"
|
||||
composite -size 103x -gravity center "icons/${QUALITY}/codium_only.svg" "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-small-225.bmp" "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-small-225.bmp"
|
||||
fi
|
||||
if [ ! -f "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-small-250.bmp" ]; then
|
||||
convert -size 138x140 xc:white "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-small-250.bmp"
|
||||
composite -size 116x -gravity center "icons/${QUALITY}/codium_only.svg" "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-small-250.bmp" "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-small-250.bmp"
|
||||
fi
|
||||
if [ ! -f "${SRC_PREFIX}build/windows/msi/resources/${QUALITY}/wix-banner.bmp" ]; then
|
||||
convert -size 493x58 xc:white "${SRC_PREFIX}build/windows/msi/resources/${QUALITY}/wix-banner.bmp"
|
||||
composite -geometry +438+6 \( "icons/${QUALITY}/codium_only.svg" -resize 50x50 \) "${SRC_PREFIX}build/windows/msi/resources/${QUALITY}/wix-banner.bmp" "${SRC_PREFIX}build/windows/msi/resources/${QUALITY}/wix-banner.bmp"
|
||||
fi
|
||||
if [ ! -f "${SRC_PREFIX}build/windows/msi/resources/${QUALITY}/wix-dialog.bmp" ]; then
|
||||
convert -size 493x312 xc:white "${SRC_PREFIX}build/windows/msi/resources/${QUALITY}/wix-dialog.bmp"
|
||||
composite -geometry +22+152 \( "icons/${QUALITY}/codium_only.svg" -resize 120x90 \) "${SRC_PREFIX}build/windows/msi/resources/${QUALITY}/wix-dialog.bmp" "${SRC_PREFIX}build/windows/msi/resources/${QUALITY}/wix-dialog.bmp"
|
||||
fi
|
||||
}
|
||||
if [[ "${0}" == "${BASH_SOURCE[0]}" ]]; then
|
||||
build_darwin_main
|
||||
build_linux_main
|
||||
build_windows_main
|
||||
|
||||
if [ "${0}" == "${BASH_SOURCE}" ];
|
||||
then
|
||||
build_darwin_types
|
||||
build_win32
|
||||
build_windows_types
|
||||
|
||||
build_media
|
||||
fi
|
||||
|
||||
|
Before Width: | Height: | Size: 3.3 KiB |
|
Before Width: | Height: | Size: 10 KiB |
13
icons/insider/codium_clt.svg
Normal file
@@ -0,0 +1,13 @@
|
||||
<?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="100" height="100" viewBox="0, 0, 100, 100">
|
||||
<defs>
|
||||
<linearGradient id="Gradient_1" gradientUnits="userSpaceOnUse" x1="199.997" y1="214.302" x2="296.665" y2="307.573" gradientTransform="matrix(1, 0, 0, 1, -200, -213)">
|
||||
<stop offset="0" stop-color="#FFB062"/>
|
||||
<stop offset="1" stop-color="#E04F00"/>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<g id="Layer_1">
|
||||
<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"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.5 KiB |
13
icons/insider/codium_cnl.svg
Normal file
@@ -0,0 +1,13 @@
|
||||
<?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="100" height="100" viewBox="0, 0, 100, 100">
|
||||
<defs>
|
||||
<linearGradient id="Gradient_1" gradientUnits="userSpaceOnUse" x1="199.997" y1="214.302" x2="296.665" y2="307.573" gradientTransform="matrix(1, 0, 0, 1, -200, -213)">
|
||||
<stop offset="0" stop-color="#FFA348"/>
|
||||
<stop offset="1" stop-color="#C64600"/>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<g id="Layer_1">
|
||||
<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"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.5 KiB |
16
icons/insider/codium_cnl_w80_b8.svg
Normal file
@@ -0,0 +1,16 @@
|
||||
<?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="100" height="100" viewBox="0, 0, 100, 100">
|
||||
<defs>
|
||||
<linearGradient id="Gradient_1" gradientUnits="userSpaceOnUse" x1="209.998" y1="224.042" x2="287.332" y2="298.658" gradientTransform="matrix(1, 0, 0, 1, -200, -213)">
|
||||
<stop offset="0" stop-color="#FFA348"/>
|
||||
<stop offset="1" stop-color="#C64600"/>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<g id="Layer_1">
|
||||
<g id="path6008">
|
||||
<path d="M48.608,11.819 C46.325,13.284 45.666,16.318 47.138,18.594 C55.225,31.118 57.134,40.564 56.306,48.842 C52.958,64.695 45.682,67.911 39.324,67.911 C33.116,67.911 34.778,57.694 39.445,54.704 C42.23,52.965 45.798,51.834 48.537,51.834 C51.25,51.834 53.45,49.642 53.45,46.936 C53.45,44.23 51.25,42.037 48.537,42.037 C45.338,42.037 42.201,42.709 39.272,43.853 C39.87,41.03 40.091,37.978 39.318,34.735 C38.143,29.81 34.762,25.106 28.892,20.546 C27.864,19.746 26.56,19.387 25.266,19.547 C23.973,19.707 22.796,20.373 21.995,21.398 C20.33,23.534 20.715,26.613 22.858,28.274 C27.64,31.989 29.219,34.738 29.759,37.002 C30.299,39.265 29.865,41.693 28.78,45.029 C27.394,49.525 25.784,53.538 25.078,57.387 C24.731,59.282 24.702,61.343 24.612,62.99 C21.168,59.634 19.82,55.202 19.82,48.726 C19.819,46.02 17.619,43.826 14.906,43.827 C12.195,43.83 9.998,46.022 9.998,48.726 C9.998,57.57 12.584,65.986 19.516,71.601 C25.791,77.579 41.749,75.37 41.749,84.967 C41.749,87.676 45.714,88.994 48.426,88.994 C51.209,88.994 54.71,87.134 54.71,84.967 C54.71,74.078 66.186,67.459 85.078,67.488 C87.792,67.492 89.994,65.301 89.998,62.595 C90.002,59.889 87.807,57.691 85.094,57.686 C83.802,57.685 82.542,57.729 81.301,57.802 C83.413,52.835 84.35,47.366 84.156,41.459 C84.066,38.754 81.796,36.634 79.085,36.722 C76.37,36.81 74.244,39.077 74.333,41.783 C74.589,49.518 74.299,56.424 68.537,60.065 C66.898,61.099 64.994,61.997 63.187,61.997 C64.59,58.182 65.649,54.156 66.082,49.816 C66.359,47.046 66.389,43.756 66.073,41.2 C65.582,37.24 64.99,32.749 66.494,29.366 C67.844,26.452 70.87,25.232 75.312,25.232 C78.023,25.23 80.22,23.037 80.221,20.334 C80.222,17.627 78.025,15.432 75.312,15.43 C68.71,15.43 63.706,18.904 60.87,23.102 C59.386,19.934 57.58,16.669 55.398,13.29 C54.693,12.198 53.582,11.43 52.31,11.154 C51.679,11.018 51.028,11.006 50.393,11.119 C49.758,11.234 49.151,11.471 48.608,11.819 z" fill="url(#Gradient_1)"/>
|
||||
<path d="M50.239,3.082 C53.179,3.136 51.93,2.991 54.005,3.336 C57.346,4.061 60.265,6.078 62.118,8.949 L63.123,10.561 C66.826,8.362 71.068,7.561 75.319,7.43 C82.445,7.436 88.225,13.21 88.221,20.336 C88.238,24.02 86.639,27.172 84.086,29.721 C88.987,31.499 91.733,36.199 92.152,41.197 C92.18,44.58 92.249,44.83 91.827,48.956 C91.745,49.763 91.546,50.554 91.405,51.353 C95.577,53.799 97.765,57.84 97.997,62.607 C97.987,69.735 92.194,75.498 85.066,75.488 C70.02,75.465 62.71,79.675 62.71,84.967 C62.71,92.511 55.258,96.994 48.426,96.994 C45.777,96.994 42.898,96.36 40.479,95.145 C36.759,93.25 34.123,89.987 33.806,85.737 C32.068,84.879 30.15,84.434 28.286,83.932 C27.813,83.807 27.57,83.743 27.327,83.678 C22.661,82.517 18.074,80.985 14.415,77.761 C5.537,70.611 2.229,59.744 1.998,48.723 C2,41.6 7.778,35.834 14.904,35.827 C17.181,35.748 18.943,36.49 20.983,37.35 C20.117,36.294 19.008,35.452 17.955,34.596 C12.316,30.222 11.298,22.107 15.69,16.475 C17.796,13.777 20.888,12.028 24.284,11.608 C27.68,11.188 31.105,12.131 33.799,14.229 C37.211,17.046 35.576,15.553 38.702,18.711 C37.495,13.28 39.864,8.25 44.288,5.086 L44.292,5.083 C45.718,4.17 47.309,3.546 48.984,3.244 L50.239,3.082 z M51.353,11.043 L50.393,11.119 C49.758,11.234 49.151,11.471 48.608,11.819 C46.325,13.284 45.666,16.318 47.138,18.594 C55.225,31.118 57.134,40.564 56.306,48.842 C52.958,64.695 45.682,67.911 39.324,67.911 C33.116,67.911 34.778,57.694 39.445,54.704 C42.23,52.965 45.798,51.834 48.537,51.834 C51.25,51.834 53.45,49.642 53.45,46.936 C53.45,44.23 51.25,42.037 48.537,42.037 C45.338,42.037 42.201,42.709 39.272,43.853 C39.87,41.03 40.091,37.978 39.318,34.735 C38.143,29.81 34.762,25.106 28.892,20.546 C27.864,19.746 26.56,19.387 25.266,19.547 C23.973,19.707 22.796,20.373 21.995,21.398 C20.33,23.534 20.715,26.613 22.858,28.274 C27.64,31.989 29.219,34.738 29.759,37.002 C30.299,39.265 29.865,41.693 28.78,45.029 C27.394,49.525 25.784,53.538 25.078,57.387 C24.731,59.282 24.702,61.343 24.612,62.99 C21.168,59.634 19.82,55.202 19.82,48.726 C19.819,46.02 17.619,43.826 14.906,43.827 C12.195,43.83 9.998,46.022 9.998,48.726 C9.998,57.57 12.584,65.986 19.516,71.601 C25.791,77.579 41.749,75.37 41.749,84.967 C41.749,87.676 45.714,88.994 48.426,88.994 C51.209,88.994 54.71,87.134 54.71,84.967 C54.71,74.078 66.186,67.459 85.078,67.488 C87.792,67.492 89.994,65.301 89.998,62.595 C90.002,59.889 87.807,57.691 85.094,57.686 C83.802,57.685 82.542,57.729 81.301,57.802 C83.413,52.835 84.35,47.366 84.156,41.459 C84.066,38.754 81.796,36.634 79.085,36.722 C76.37,36.81 74.244,39.077 74.333,41.783 C74.589,49.518 74.299,56.424 68.537,60.065 C66.898,61.099 64.994,61.997 63.187,61.997 C64.59,58.182 65.649,54.156 66.082,49.816 C66.359,47.046 66.389,43.756 66.073,41.2 C65.582,37.24 64.99,32.749 66.494,29.366 C67.844,26.452 70.87,25.232 75.312,25.232 C78.023,25.23 80.22,23.037 80.221,20.334 C80.222,17.627 78.025,15.432 75.312,15.43 C68.71,15.43 63.706,18.904 60.87,23.102 C59.386,19.934 57.58,16.669 55.398,13.29 C54.693,12.198 53.582,11.43 52.31,11.154 L51.353,11.043 z" fill="#FFFFFF"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 5.5 KiB |
@@ -1,13 +0,0 @@
|
||||
<?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="100" height="100" viewBox="0, 0, 100, 100">
|
||||
<defs>
|
||||
<linearGradient id="Gradient_1" gradientUnits="userSpaceOnUse" x1="2.763" y1="-0.313" x2="94.027" y2="95.408">
|
||||
<stop offset="0" stop-color="#9C9234"/>
|
||||
<stop offset="1" stop-color="#6C7F00"/>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<g id="Layer_1">
|
||||
<path d="M63.697,1.417 C64.354,0.381 65.529,-0.308 66.763,-0.313 C68.492,-0.317 70.138,0.654 71.139,2.037 C72.082,3.359 72.373,5.03 72.375,6.626 C72.36,8.87 71.843,11.075 71.227,13.222 C69.688,18.289 67.597,23.168 66.035,28.229 C64.315,33.972 63.49,40.372 65.801,46.074 C67.009,42.702 68.204,39.323 69.408,35.947 C69.75,35.055 70.2,34.041 71.156,33.675 C72.487,33.201 73.844,34.59 73.805,35.876 C73.441,37.749 72.735,39.534 72.179,41.356 C67.676,54.892 62.633,68.241 57.777,81.655 C64.235,75.75 70.713,69.867 77.179,63.973 C79.04,62.279 81.058,60.433 81.628,57.873 C82.197,55.36 81.139,52.866 79.94,50.708 C78.555,48.133 76.787,45.684 76.137,42.786 C75.81,41.285 75.909,39.558 76.921,38.328 C77.651,37.402 78.98,36.924 80.101,37.376 C81.208,37.799 81.876,38.862 82.399,39.866 C84.156,43.391 85.252,47.243 85.629,51.165 C86.829,48.744 88.043,46.333 89.245,43.914 C89.971,42.489 90.612,40.96 91.79,39.834 C92.501,39.132 93.537,38.69 94.54,38.918 C95.798,39.196 96.681,40.34 97.019,41.528 C97.402,42.79 96.997,44.104 96.59,45.303 C95.378,48.656 93.474,51.69 91.639,54.727 C89.081,58.747 86.364,62.67 83.398,66.402 C85.093,65.27 86.878,64.079 88.954,63.842 C90.918,63.579 93.089,64.729 93.739,66.646 C94.174,67.951 93.47,69.428 92.288,70.065 C90.554,71.032 88.502,71.019 86.575,71.105 C79.582,71.297 72.767,74.74 68.428,80.221 C65.004,84.592 63.255,90.023 59.78,94.358 C57.588,97 54.491,100.317 51.084,99.584 C46.547,98.609 46.547,91.518 45.416,88.003 C44.833,86.231 43.739,84.612 42.221,83.507 C40.894,82.527 39.305,81.965 37.699,81.657 C34.012,80.949 30.209,81.323 26.531,80.563 C24.69,80.188 22.877,79.45 21.471,78.177 C20.131,77.001 19.205,75.427 18.563,73.78 C17.177,70.192 16.895,66.299 15.663,62.666 C13.88,57.436 10.352,52.812 5.757,49.741 C4.788,49.087 3.735,48.449 3.108,47.429 C2.598,46.632 2.643,45.499 3.311,44.804 C4.437,43.578 6.472,43.477 7.773,44.491 C10.439,46.382 10.824,50.056 13.309,52.112 C13.313,48.718 13.296,45.327 13.29,41.935 C13.298,40.955 13.189,39.9 13.679,39.009 C14.125,38.165 15.359,37.936 16.076,38.569 C17.045,39.381 17.34,40.706 17.478,41.905 C17.96,46.58 18.426,51.257 18.91,55.935 C21.346,53.747 22.465,50.196 21.677,47.011 C21.438,45.994 21.051,44.948 21.27,43.893 C21.449,43.008 22.388,42.385 23.273,42.543 C24.268,42.678 24.978,43.531 25.351,44.407 C25.945,45.859 25.947,47.476 25.827,49.018 C25.474,52.53 23.988,55.773 22.963,59.115 C21.964,62.065 21.277,65.343 22.278,68.39 C23.17,71.239 25.431,73.491 28.084,74.768 C31.359,76.377 35.048,76.877 38.657,77.019 C36.463,73.179 34.077,69.116 34.118,64.548 C34.161,59.949 37.085,56.075 37.875,51.636 C39.221,44.272 35.898,36.267 29.712,32.042 C26.964,30.154 23.665,29.314 20.842,27.563 C18.288,26 15.994,23.218 16.395,20.05 C18.335,19.299 20.501,19.779 22.252,20.787 C25.674,22.613 27.851,26.075 31.29,27.873 C32.498,28.532 33.883,28.858 35.259,28.774 C36.004,26.988 35.259,24.988 34.057,23.597 C31.796,20.873 27.98,20.212 25.616,17.608 C24.431,16.249 23.77,14.307 24.268,12.53 C24.673,11.126 26.126,10.17 27.573,10.276 C29.716,10.409 31.561,11.751 33.026,13.228 C37.873,18.073 40.662,24.663 41.756,31.36 C43.048,39.259 42.044,47.317 40.453,55.095 C40.156,56.68 39.6,58.305 40.011,59.923 C40.188,60.672 40.728,61.445 41.558,61.512 C42.699,61.585 43.642,60.808 44.473,60.127 C47.072,58.004 49.138,55.146 49.99,51.873 C50.656,49.487 50.675,46.989 50.628,44.532 C50.641,43.303 50.55,41.946 51.285,40.882 C51.81,40.06 52.79,39.414 53.798,39.653 C54.588,39.803 55.148,40.488 55.389,41.222 C55.777,42.431 55.718,43.736 55.484,44.969 C54.741,48.372 54.069,51.819 52.723,55.05 C51.773,57.369 50.49,59.574 48.752,61.391 C46.836,63.422 44.469,65.05 42.925,67.417 C41.872,69.034 41.191,71.043 41.648,72.975 C41.982,74.516 43.155,75.774 44.57,76.416 C46.631,77.357 49.133,77.309 51.142,76.25 C52.736,75.388 53.869,73.898 54.771,72.367 C56.36,69.613 57.323,66.555 58.122,63.493 C59.351,58.549 60.075,53.48 60.359,48.393 C60.684,42.96 59.698,37.342 56.959,32.596 C55.503,30.055 53.444,27.891 51.039,26.235 C48.873,24.624 46.491,23.229 44.734,21.142 C43.091,19.208 41.952,16.598 42.55,14.031 C43.674,13.325 45.093,13.202 46.338,13.644 C48.687,14.443 50.527,16.329 51.713,18.463 C53.324,20.978 54.668,23.971 57.506,25.337 C55.197,20.795 52.816,16.292 50.479,11.766 C49.719,10.237 48.97,8.566 49.168,6.817 C49.312,5.484 50.55,4.391 51.887,4.397 C53.074,4.401 54.187,5.069 54.894,5.999 C55.701,7.046 56.087,8.336 56.451,9.589 C58.313,16.071 60.174,22.55 62.043,29.03 C64.392,24.555 65.385,19.37 64.717,14.348 C64.425,11.686 63.643,9.115 63.023,6.518 C62.601,4.819 62.728,2.913 63.697,1.417 z" fill="url(#Gradient_1)" id="Shape"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 5.1 KiB |
|
Before Width: | Height: | Size: 3.3 KiB |
|
Before Width: | Height: | Size: 21 KiB |
13
icons/stable/codium_clt.svg
Normal file
@@ -0,0 +1,13 @@
|
||||
<?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="100" height="100" viewBox="0, 0, 100, 100">
|
||||
<defs>
|
||||
<linearGradient id="Gradient_1" gradientUnits="userSpaceOnUse" x1="199.997" y1="214.302" x2="296.665" y2="307.573" gradientTransform="matrix(1, 0, 0, 1, -200, -213)">
|
||||
<stop offset="0" stop-color="#78AEED"/>
|
||||
<stop offset="1" stop-color="#1D6BCA"/>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<g id="Layer_1">
|
||||
<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"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.5 KiB |
13
icons/stable/codium_cnl.svg
Normal file
@@ -0,0 +1,13 @@
|
||||
<?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="100" height="100" viewBox="0, 0, 100, 100">
|
||||
<defs>
|
||||
<linearGradient id="Gradient_1" gradientUnits="userSpaceOnUse" x1="199.997" y1="214.302" x2="296.665" y2="307.573" gradientTransform="matrix(1, 0, 0, 1, -200, -213)">
|
||||
<stop offset="0" stop-color="#62A0EA"/>
|
||||
<stop offset="1" stop-color="#1A5FB4"/>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<g id="Layer_1">
|
||||
<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"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.5 KiB |
16
icons/stable/codium_cnl_w80_b8.svg
Normal file
@@ -0,0 +1,16 @@
|
||||
<?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="100" height="100" viewBox="0, 0, 100, 100">
|
||||
<defs>
|
||||
<linearGradient id="Gradient_1" gradientUnits="userSpaceOnUse" x1="209.998" y1="224.042" x2="287.332" y2="298.658" gradientTransform="matrix(1, 0, 0, 1, -200, -213)">
|
||||
<stop offset="0" stop-color="#62A0EA"/>
|
||||
<stop offset="1" stop-color="#1A5FB4"/>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<g id="Layer_1">
|
||||
<g id="path6008">
|
||||
<path d="M48.608,11.819 C46.325,13.284 45.666,16.318 47.138,18.594 C55.225,31.118 57.134,40.564 56.306,48.842 C52.958,64.695 45.682,67.911 39.324,67.911 C33.116,67.911 34.778,57.694 39.445,54.704 C42.23,52.965 45.798,51.834 48.537,51.834 C51.25,51.834 53.45,49.642 53.45,46.936 C53.45,44.23 51.25,42.037 48.537,42.037 C45.338,42.037 42.201,42.709 39.272,43.853 C39.87,41.03 40.091,37.978 39.318,34.735 C38.143,29.81 34.762,25.106 28.892,20.546 C27.864,19.746 26.56,19.387 25.266,19.547 C23.973,19.707 22.796,20.373 21.995,21.398 C20.33,23.534 20.715,26.613 22.858,28.274 C27.64,31.989 29.219,34.738 29.759,37.002 C30.299,39.265 29.865,41.693 28.78,45.029 C27.394,49.525 25.784,53.538 25.078,57.387 C24.731,59.282 24.702,61.343 24.612,62.99 C21.168,59.634 19.82,55.202 19.82,48.726 C19.819,46.02 17.619,43.826 14.906,43.827 C12.195,43.83 9.998,46.022 9.998,48.726 C9.998,57.57 12.584,65.986 19.516,71.601 C25.791,77.579 41.749,75.37 41.749,84.967 C41.749,87.676 45.714,88.994 48.426,88.994 C51.209,88.994 54.71,87.134 54.71,84.967 C54.71,74.078 66.186,67.459 85.078,67.488 C87.792,67.492 89.994,65.301 89.998,62.595 C90.002,59.889 87.807,57.691 85.094,57.686 C83.802,57.685 82.542,57.729 81.301,57.802 C83.413,52.835 84.35,47.366 84.156,41.459 C84.066,38.754 81.796,36.634 79.085,36.722 C76.37,36.81 74.244,39.077 74.333,41.783 C74.589,49.518 74.299,56.424 68.537,60.065 C66.898,61.099 64.994,61.997 63.187,61.997 C64.59,58.182 65.649,54.156 66.082,49.816 C66.359,47.046 66.389,43.756 66.073,41.2 C65.582,37.24 64.99,32.749 66.494,29.366 C67.844,26.452 70.87,25.232 75.312,25.232 C78.023,25.23 80.22,23.037 80.221,20.334 C80.222,17.627 78.025,15.432 75.312,15.43 C68.71,15.43 63.706,18.904 60.87,23.102 C59.386,19.934 57.58,16.669 55.398,13.29 C54.693,12.198 53.582,11.43 52.31,11.154 C51.679,11.018 51.028,11.006 50.393,11.119 C49.758,11.234 49.151,11.471 48.608,11.819 z" fill="url(#Gradient_1)"/>
|
||||
<path d="M50.239,3.082 C53.179,3.136 51.93,2.991 54.005,3.336 C57.346,4.061 60.265,6.078 62.118,8.949 L63.123,10.561 C66.826,8.362 71.068,7.561 75.319,7.43 C82.445,7.436 88.225,13.21 88.221,20.336 C88.238,24.02 86.639,27.172 84.086,29.721 C88.987,31.499 91.733,36.199 92.152,41.197 C92.18,44.58 92.249,44.83 91.827,48.956 C91.745,49.763 91.546,50.554 91.405,51.353 C95.577,53.799 97.765,57.84 97.997,62.607 C97.987,69.735 92.194,75.498 85.066,75.488 C70.02,75.465 62.71,79.675 62.71,84.967 C62.71,92.511 55.258,96.994 48.426,96.994 C45.777,96.994 42.898,96.36 40.479,95.145 C36.759,93.25 34.123,89.987 33.806,85.737 C32.068,84.879 30.15,84.434 28.286,83.932 C27.813,83.807 27.57,83.743 27.327,83.678 C22.661,82.517 18.074,80.985 14.415,77.761 C5.537,70.611 2.229,59.744 1.998,48.723 C2,41.6 7.778,35.834 14.904,35.827 C17.181,35.748 18.943,36.49 20.983,37.35 C20.117,36.294 19.008,35.452 17.955,34.596 C12.316,30.222 11.298,22.107 15.69,16.475 C17.796,13.777 20.888,12.028 24.284,11.608 C27.68,11.188 31.105,12.131 33.799,14.229 C37.211,17.046 35.576,15.553 38.702,18.711 C37.495,13.28 39.864,8.25 44.288,5.086 L44.292,5.083 C45.718,4.17 47.309,3.546 48.984,3.244 L50.239,3.082 z M51.353,11.043 L50.393,11.119 C49.758,11.234 49.151,11.471 48.608,11.819 C46.325,13.284 45.666,16.318 47.138,18.594 C55.225,31.118 57.134,40.564 56.306,48.842 C52.958,64.695 45.682,67.911 39.324,67.911 C33.116,67.911 34.778,57.694 39.445,54.704 C42.23,52.965 45.798,51.834 48.537,51.834 C51.25,51.834 53.45,49.642 53.45,46.936 C53.45,44.23 51.25,42.037 48.537,42.037 C45.338,42.037 42.201,42.709 39.272,43.853 C39.87,41.03 40.091,37.978 39.318,34.735 C38.143,29.81 34.762,25.106 28.892,20.546 C27.864,19.746 26.56,19.387 25.266,19.547 C23.973,19.707 22.796,20.373 21.995,21.398 C20.33,23.534 20.715,26.613 22.858,28.274 C27.64,31.989 29.219,34.738 29.759,37.002 C30.299,39.265 29.865,41.693 28.78,45.029 C27.394,49.525 25.784,53.538 25.078,57.387 C24.731,59.282 24.702,61.343 24.612,62.99 C21.168,59.634 19.82,55.202 19.82,48.726 C19.819,46.02 17.619,43.826 14.906,43.827 C12.195,43.83 9.998,46.022 9.998,48.726 C9.998,57.57 12.584,65.986 19.516,71.601 C25.791,77.579 41.749,75.37 41.749,84.967 C41.749,87.676 45.714,88.994 48.426,88.994 C51.209,88.994 54.71,87.134 54.71,84.967 C54.71,74.078 66.186,67.459 85.078,67.488 C87.792,67.492 89.994,65.301 89.998,62.595 C90.002,59.889 87.807,57.691 85.094,57.686 C83.802,57.685 82.542,57.729 81.301,57.802 C83.413,52.835 84.35,47.366 84.156,41.459 C84.066,38.754 81.796,36.634 79.085,36.722 C76.37,36.81 74.244,39.077 74.333,41.783 C74.589,49.518 74.299,56.424 68.537,60.065 C66.898,61.099 64.994,61.997 63.187,61.997 C64.59,58.182 65.649,54.156 66.082,49.816 C66.359,47.046 66.389,43.756 66.073,41.2 C65.582,37.24 64.99,32.749 66.494,29.366 C67.844,26.452 70.87,25.232 75.312,25.232 C78.023,25.23 80.22,23.037 80.221,20.334 C80.222,17.627 78.025,15.432 75.312,15.43 C68.71,15.43 63.706,18.904 60.87,23.102 C59.386,19.934 57.58,16.669 55.398,13.29 C54.693,12.198 53.582,11.43 52.31,11.154 L51.353,11.043 z" fill="#FFFFFF"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 5.5 KiB |
@@ -1,13 +0,0 @@
|
||||
<?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="100" height="100" viewBox="0, 0, 100, 100">
|
||||
<defs>
|
||||
<linearGradient id="Gradient_1" gradientUnits="userSpaceOnUse" x1="2.763" y1="-0.313" x2="94.027" y2="95.408">
|
||||
<stop offset="0" stop-color="#56CCF2"/>
|
||||
<stop offset="1" stop-color="#2F80ED"/>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<g id="Layer_1">
|
||||
<path d="M63.697,1.417 C64.354,0.381 65.529,-0.308 66.763,-0.313 C68.492,-0.317 70.138,0.654 71.139,2.037 C72.082,3.359 72.373,5.03 72.375,6.626 C72.36,8.87 71.843,11.075 71.227,13.222 C69.688,18.289 67.597,23.168 66.035,28.229 C64.315,33.972 63.49,40.372 65.801,46.074 C67.009,42.702 68.204,39.323 69.408,35.947 C69.75,35.055 70.2,34.041 71.156,33.675 C72.487,33.201 73.844,34.59 73.805,35.876 C73.441,37.749 72.735,39.534 72.179,41.356 C67.676,54.892 62.633,68.241 57.777,81.655 C64.235,75.75 70.713,69.867 77.179,63.973 C79.04,62.279 81.058,60.433 81.628,57.873 C82.197,55.36 81.139,52.866 79.94,50.708 C78.555,48.133 76.787,45.684 76.137,42.786 C75.81,41.285 75.909,39.558 76.921,38.328 C77.651,37.402 78.98,36.924 80.101,37.376 C81.208,37.799 81.876,38.862 82.399,39.866 C84.156,43.391 85.252,47.243 85.629,51.165 C86.829,48.744 88.043,46.333 89.245,43.914 C89.971,42.489 90.612,40.96 91.79,39.834 C92.501,39.132 93.537,38.69 94.54,38.918 C95.798,39.196 96.681,40.34 97.019,41.528 C97.402,42.79 96.997,44.104 96.59,45.303 C95.378,48.656 93.474,51.69 91.639,54.727 C89.081,58.747 86.364,62.67 83.398,66.402 C85.093,65.27 86.878,64.079 88.954,63.842 C90.918,63.579 93.089,64.729 93.739,66.646 C94.174,67.951 93.47,69.428 92.288,70.065 C90.554,71.032 88.502,71.019 86.575,71.105 C79.582,71.297 72.767,74.74 68.428,80.221 C65.004,84.592 63.255,90.023 59.78,94.358 C57.588,97 54.491,100.317 51.084,99.584 C46.547,98.609 46.547,91.518 45.416,88.003 C44.833,86.231 43.739,84.612 42.221,83.507 C40.894,82.527 39.305,81.965 37.699,81.657 C34.012,80.949 30.209,81.323 26.531,80.563 C24.69,80.188 22.877,79.45 21.471,78.177 C20.131,77.001 19.205,75.427 18.563,73.78 C17.177,70.192 16.895,66.299 15.663,62.666 C13.88,57.436 10.352,52.812 5.757,49.741 C4.788,49.087 3.735,48.449 3.108,47.429 C2.598,46.632 2.643,45.499 3.311,44.804 C4.437,43.578 6.472,43.477 7.773,44.491 C10.439,46.382 10.824,50.056 13.309,52.112 C13.313,48.718 13.296,45.327 13.29,41.935 C13.298,40.955 13.189,39.9 13.679,39.009 C14.125,38.165 15.359,37.936 16.076,38.569 C17.045,39.381 17.34,40.706 17.478,41.905 C17.96,46.58 18.426,51.257 18.91,55.935 C21.346,53.747 22.465,50.196 21.677,47.011 C21.438,45.994 21.051,44.948 21.27,43.893 C21.449,43.008 22.388,42.385 23.273,42.543 C24.268,42.678 24.978,43.531 25.351,44.407 C25.945,45.859 25.947,47.476 25.827,49.018 C25.474,52.53 23.988,55.773 22.963,59.115 C21.964,62.065 21.277,65.343 22.278,68.39 C23.17,71.239 25.431,73.491 28.084,74.768 C31.359,76.377 35.048,76.877 38.657,77.019 C36.463,73.179 34.077,69.116 34.118,64.548 C34.161,59.949 37.085,56.075 37.875,51.636 C39.221,44.272 35.898,36.267 29.712,32.042 C26.964,30.154 23.665,29.314 20.842,27.563 C18.288,26 15.994,23.218 16.395,20.05 C18.335,19.299 20.501,19.779 22.252,20.787 C25.674,22.613 27.851,26.075 31.29,27.873 C32.498,28.532 33.883,28.858 35.259,28.774 C36.004,26.988 35.259,24.988 34.057,23.597 C31.796,20.873 27.98,20.212 25.616,17.608 C24.431,16.249 23.77,14.307 24.268,12.53 C24.673,11.126 26.126,10.17 27.573,10.276 C29.716,10.409 31.561,11.751 33.026,13.228 C37.873,18.073 40.662,24.663 41.756,31.36 C43.048,39.259 42.044,47.317 40.453,55.095 C40.156,56.68 39.6,58.305 40.011,59.923 C40.188,60.672 40.728,61.445 41.558,61.512 C42.699,61.585 43.642,60.808 44.473,60.127 C47.072,58.004 49.138,55.146 49.99,51.873 C50.656,49.487 50.675,46.989 50.628,44.532 C50.641,43.303 50.55,41.946 51.285,40.882 C51.81,40.06 52.79,39.414 53.798,39.653 C54.588,39.803 55.148,40.488 55.389,41.222 C55.777,42.431 55.718,43.736 55.484,44.969 C54.741,48.372 54.069,51.819 52.723,55.05 C51.773,57.369 50.49,59.574 48.752,61.391 C46.836,63.422 44.469,65.05 42.925,67.417 C41.872,69.034 41.191,71.043 41.648,72.975 C41.982,74.516 43.155,75.774 44.57,76.416 C46.631,77.357 49.133,77.309 51.142,76.25 C52.736,75.388 53.869,73.898 54.771,72.367 C56.36,69.613 57.323,66.555 58.122,63.493 C59.351,58.549 60.075,53.48 60.359,48.393 C60.684,42.96 59.698,37.342 56.959,32.596 C55.503,30.055 53.444,27.891 51.039,26.235 C48.873,24.624 46.491,23.229 44.734,21.142 C43.091,19.208 41.952,16.598 42.55,14.031 C43.674,13.325 45.093,13.202 46.338,13.644 C48.687,14.443 50.527,16.329 51.713,18.463 C53.324,20.978 54.668,23.971 57.506,25.337 C55.197,20.795 52.816,16.292 50.479,11.766 C49.719,10.237 48.97,8.566 49.168,6.817 C49.312,5.484 50.55,4.391 51.887,4.397 C53.074,4.401 54.187,5.069 54.894,5.999 C55.701,7.046 56.087,8.336 56.451,9.589 C58.313,16.071 60.174,22.55 62.043,29.03 C64.392,24.555 65.385,19.37 64.717,14.348 C64.425,11.686 63.643,9.115 63.023,6.518 C62.601,4.819 62.728,2.913 63.697,1.417 z" fill="url(#Gradient_1)" id="Shape"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 5.1 KiB |
BIN
icons/template_macos.png
Normal file
|
After Width: | Height: | Size: 64 KiB |
@@ -1,4 +1,4 @@
|
||||
{
|
||||
"tag": "1.75.0",
|
||||
"commit": "b92894493e6f971a3c71912d823e699d3a05d643"
|
||||
"tag": "1.92.0",
|
||||
"commit": "97d1b933ada0ca69bea107f7a89e029991277ccc"
|
||||
}
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
#!/bin/bash
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -e
|
||||
set -ex
|
||||
|
||||
GH_ARCH="amd64"
|
||||
|
||||
VERSION=`curl "https://api.github.com/repos/cli/cli/releases/latest" | grep '"tag_name"' | sed -E 's/.*"([^"]+)".*/\1/' | cut -c2-`
|
||||
VERSION=$( curl --retry 12 --retry-delay 30 "https://api.github.com/repos/cli/cli/releases/latest" | grep '"tag_name"' | sed -E 's/.*"([^"]+)".*/\1/' | cut -c2- )
|
||||
|
||||
curl -sSL "https://github.com/cli/cli/releases/download/v${VERSION}/gh_${VERSION}_linux_${GH_ARCH}.tar.gz" -o "gh_${VERSION}_linux_${GH_ARCH}.tar.gz"
|
||||
curl --retry 12 --retry-delay 120 -sSL "https://github.com/cli/cli/releases/download/v${VERSION}/gh_${VERSION}_linux_${GH_ARCH}.tar.gz" -o "gh_${VERSION}_linux_${GH_ARCH}.tar.gz"
|
||||
|
||||
tar xf "gh_${VERSION}_linux_${GH_ARCH}.tar.gz"
|
||||
|
||||
|
||||
@@ -1,11 +0,0 @@
|
||||
#!/bin/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
@@ -0,0 +1,5 @@
|
||||
CERTIFICATE_OSX_APP_PASSWORD=
|
||||
CERTIFICATE_OSX_ID=
|
||||
CERTIFICATE_OSX_P12_DATA=
|
||||
CERTIFICATE_OSX_P12_PASSWORD=
|
||||
CERTIFICATE_OSX_TEAM_ID=
|
||||
72
package_alpine_reh.sh
Executable file
@@ -0,0 +1,72 @@
|
||||
#!/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
|
||||
|
||||
for i in {1..5}; do # try 5 times
|
||||
yarn --frozen-lockfile --check-files && break
|
||||
if [[ $i == 3 ]]; then
|
||||
echo "Yarn failed too many times" >&2
|
||||
exit 1
|
||||
fi
|
||||
echo "Yarn 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 ..
|
||||
83
package_linux_bin.sh
Executable file
@@ -0,0 +1,83 @@
|
||||
#!/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
|
||||
ELECTRON_VERSION="30.1.2"
|
||||
if [[ "${ELECTRON_VERSION}" != "$(yarn config get target)" ]]; then
|
||||
# Fail the pipeline if electron target doesn't match what is used.
|
||||
# Look for releases here if electron version used by vscode changed:
|
||||
# https://github.com/riscv-forks/electron-riscv-releases/releases
|
||||
echo "Electron RISC-V binary version doesn't match target electron version!"
|
||||
exit 1
|
||||
fi
|
||||
export VSCODE_ELECTRON_TAG="v${ELECTRON_VERSION}.riscv2"
|
||||
echo "871a049ae913a37664532e93e6d1c8dc2da6260e9297c90d6d525f79581948b8 *electron-v30.1.2-linux-riscv64.zip" >> build/checksums/electron.txt
|
||||
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
|
||||
yarn --cwd build --frozen-lockfile --check-files && break
|
||||
if [[ $i == 3 ]]; then
|
||||
echo "Yarn failed too many times" >&2
|
||||
exit 1
|
||||
fi
|
||||
echo "Yarn 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
|
||||
yarn --check-files && break
|
||||
if [ $i -eq 3 ]; then
|
||||
echo "Yarn failed too many times" >&2
|
||||
exit 1
|
||||
fi
|
||||
echo "Yarn 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 ..
|
||||
133
package_linux_reh.sh
Executable file
@@ -0,0 +1,133 @@
|
||||
#!/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; }
|
||||
|
||||
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_VERSION="18.18.1"
|
||||
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/.yarnrc
|
||||
|
||||
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
|
||||
|
||||
for i in {1..5}; do # try 5 times
|
||||
yarn --cwd build --frozen-lockfile --check-files && break
|
||||
if [[ $i == 3 ]]; then
|
||||
echo "Yarn failed too many times" >&2
|
||||
exit 1
|
||||
fi
|
||||
echo "Yarn 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
|
||||
yarn --frozen-lockfile --check-files && break
|
||||
if [ $i -eq 3 ]; then
|
||||
echo "Yarn failed too many times" >&2
|
||||
exit 1
|
||||
fi
|
||||
echo "Yarn failed $i, trying again..."
|
||||
done
|
||||
|
||||
node build/azure-pipelines/distro/mixin-npm
|
||||
|
||||
export VSCODE_NODE_GLIBC="-glibc-${GLIBC_VERSION}"
|
||||
|
||||
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
|
||||
|
||||
cd ..
|
||||
|
||||
APP_NAME_LC="$( echo "${APP_NAME}" | awk '{print tolower($0)}' )"
|
||||
|
||||
mkdir -p assets
|
||||
|
||||
echo "Building and moving REH"
|
||||
cd "vscode-reh-${VSCODE_PLATFORM}-${VSCODE_ARCH}"
|
||||
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 ..
|
||||
14
patch.sh
@@ -1,6 +1,10 @@
|
||||
#!/bin/bash
|
||||
#!/usr/bin/env bash
|
||||
|
||||
FILE="../patches/${1}.patch"
|
||||
if [[ "${1}" == *patch ]]; then
|
||||
FILE="../patches/${1}"
|
||||
else
|
||||
FILE="../patches/${1}.patch"
|
||||
fi
|
||||
|
||||
cd vscode || { echo "'vscode' dir not found"; exit 1; }
|
||||
|
||||
@@ -11,7 +15,11 @@ if [[ -f "${FILE}" ]]; then
|
||||
git apply --reject "${FILE}"
|
||||
fi
|
||||
|
||||
read -p "Press any key when the conflict have been resolved..." -n1 -s
|
||||
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}"
|
||||
|
||||
1218
patches/brand.patch
Normal file
@@ -1,103 +1,96 @@
|
||||
diff --git a/build/gulpfile.reh.js b/build/gulpfile.reh.js
|
||||
index f3cdbff..ac7c39b 100644
|
||||
index 7d58861..38d7f34 100644
|
||||
--- a/build/gulpfile.reh.js
|
||||
+++ b/build/gulpfile.reh.js
|
||||
@@ -246,4 +246,5 @@ function packageTask(type, platform, arch, sourceFolderName, destinationFolderNa
|
||||
@@ -295,2 +295,3 @@ function packageTask(type, platform, arch, sourceFolderName, destinationFolderNa
|
||||
const name = product.nameShort;
|
||||
+ const release = packageJson.release;
|
||||
|
||||
@@ -298,3 +299,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 }));
|
||||
|
||||
@@ -252,3 +253,3 @@ function packageTask(type, platform, arch, sourceFolderName, destinationFolderNa
|
||||
- .pipe(json({ name, version, dependencies: undefined, optionalDependencies: undefined }))
|
||||
+ .pipe(json({ name, version, release, dependencies: undefined, optionalDependencies: undefined }))
|
||||
.pipe(es.through(function (file) {
|
||||
@@ -306,3 +307,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 cdc802b..49ab315 100644
|
||||
index 4af4067..21146e8 100644
|
||||
--- a/build/gulpfile.vscode.js
|
||||
+++ b/build/gulpfile.vscode.js
|
||||
@@ -227,3 +227,3 @@ function packageTask(platform, arch, sourceFolderName, destinationFolderName, op
|
||||
@@ -236,3 +236,3 @@ function packageTask(platform, arch, sourceFolderName, destinationFolderName, op
|
||||
|
||||
- let version = packageJson.version;
|
||||
+ let version = packageJson.version
|
||||
const quality = product.quality;
|
||||
@@ -235,3 +235,4 @@ function packageTask(platform, arch, sourceFolderName, destinationFolderName, op
|
||||
@@ -244,3 +244,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 };
|
||||
|
||||
@@ -246,3 +247,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 };
|
||||
|
||||
@@ -261,3 +262,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 cdc8870..f6e4e09 100644
|
||||
index 28ddfb0..718b8c1 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) {
|
||||
@@ -199,4 +197,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))
|
||||
@@ -275,3 +272,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 0d3abda..2606af5 100644
|
||||
index 5adfdfb..d6ddead 100644
|
||||
--- a/build/gulpfile.vscode.win32.js
|
||||
+++ b/build/gulpfile.vscode.win32.js
|
||||
@@ -94,4 +94,4 @@ function buildWin32Setup(arch, target) {
|
||||
@@ -90,4 +90,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 61659d2..5cafa06 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 7ec238b..9295018 100644
|
||||
index e30cf08..38d1884 100644
|
||||
--- a/src/vs/base/common/product.ts
|
||||
+++ b/src/vs/base/common/product.ts
|
||||
@@ -34,2 +34,3 @@ export interface IProductConfiguration {
|
||||
@@ -58,2 +58,3 @@ export interface IProductConfiguration {
|
||||
readonly version: string;
|
||||
+ 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 561966b..30814a0 100644
|
||||
index 7e0bc11..1fa5310 100644
|
||||
--- a/src/vs/platform/diagnostics/node/diagnosticsService.ts
|
||||
+++ b/src/vs/platform/diagnostics/node/diagnosticsService.ts
|
||||
@@ -236,3 +236,3 @@ export class DiagnosticsService implements IDiagnosticsService {
|
||||
@@ -231,3 +231,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 ef798fa..cfa7866 100644
|
||||
index 58278d9..956cdff 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,19 +104,19 @@ index ef798fa..cfa7866 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 6a3768d..023eeed 100644
|
||||
index c064ebc..72a9fa9 100644
|
||||
--- a/src/vs/workbench/browser/parts/dialogs/dialogHandler.ts
|
||||
+++ b/src/vs/workbench/browser/parts/dialogs/dialogHandler.ts
|
||||
@@ -21,2 +21,3 @@ import { MarkdownRenderer } from 'vs/editor/contrib/markdownRenderer/browser/mar
|
||||
import { defaultButtonStyles, defaultCheckboxStyles, defaultDialogStyles, defaultInputBoxStyles } from 'vs/platform/theme/browser/defaultStyles';
|
||||
@@ -22,2 +22,3 @@ import { defaultButtonStyles, defaultCheckboxStyles, defaultDialogStyles, defaul
|
||||
import { ResultKind } from 'vs/platform/keybinding/common/keybindingResolver';
|
||||
+import { getReleaseString } from 'vs/workbench/common/release';
|
||||
|
||||
@@ -147,2 +148,4 @@ export class BrowserDialogHandler implements IDialogHandler {
|
||||
@@ -79,2 +80,4 @@ export class BrowserDialogHandler extends AbstractDialogHandler {
|
||||
const detailString = (useAgo: boolean): string => {
|
||||
+ const releaseString = getReleaseString();
|
||||
+
|
||||
return localize('aboutDetail',
|
||||
@@ -153,3 +156,3 @@ export class BrowserDialogHandler implements IDialogHandler {
|
||||
@@ -85,3 +88,3 @@ export class BrowserDialogHandler extends AbstractDialogHandler {
|
||||
navigator.userAgent
|
||||
- );
|
||||
+ ).replace('\n', `\n${releaseString} ${this.productService.release || 'Unknown'}\n`);
|
||||
@@ -148,28 +141,20 @@ index 0000000..2a8ea57
|
||||
+export function getReleaseString(): string {
|
||||
+ return LABELS[language] ?? DEFAULT_LABEL;
|
||||
+}
|
||||
diff --git a/src/vs/workbench/contrib/issue/browser/issueService.ts b/src/vs/workbench/contrib/issue/browser/issueService.ts
|
||||
index dc7430b..23def01 100644
|
||||
--- a/src/vs/workbench/contrib/issue/browser/issueService.ts
|
||||
+++ b/src/vs/workbench/contrib/issue/browser/issueService.ts
|
||||
@@ -67,2 +67,3 @@ export class WebIssueService implements IWorkbenchIssueService {
|
||||
Version: ${this.productService.version}
|
||||
+Release: ${this.productService.release ?? 'unknown'}
|
||||
Commit: ${this.productService.commit ?? 'unknown'}
|
||||
diff --git a/src/vs/workbench/electron-sandbox/parts/dialogs/dialogHandler.ts b/src/vs/workbench/electron-sandbox/parts/dialogs/dialogHandler.ts
|
||||
index f63b75f..2b77c1b 100644
|
||||
index f2cc82a..700d81a 100644
|
||||
--- a/src/vs/workbench/electron-sandbox/parts/dialogs/dialogHandler.ts
|
||||
+++ b/src/vs/workbench/electron-sandbox/parts/dialogs/dialogHandler.ts
|
||||
@@ -17,2 +17,3 @@ import { IProductService } from 'vs/platform/product/common/productService';
|
||||
@@ -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';
|
||||
|
||||
@@ -166,2 +167,3 @@ export class NativeDialogHandler implements IDialogHandler {
|
||||
import { getActiveWindow } from 'vs/base/browser/dom';
|
||||
@@ -80,2 +81,3 @@ export class NativeDialogHandler extends AbstractDialogHandler {
|
||||
const osProps = await this.nativeHostService.getOSProperties();
|
||||
+ const releaseString = getReleaseString();
|
||||
|
||||
@@ -179,3 +181,3 @@ export class NativeDialogHandler implements IDialogHandler {
|
||||
process.sandboxed ? 'Yes' : 'No' // TODO@bpasero remove me once sandbox is final
|
||||
@@ -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 +0,0 @@
|
||||
diff --git a/build/gulpfile.vscode.win32.js b/build/gulpfile.vscode.win32.js
|
||||
index 81ba509..59041e2 100644
|
||||
--- a/build/gulpfile.vscode.win32.js
|
||||
+++ b/build/gulpfile.vscode.win32.js
|
||||
@@ -137,7 +137,7 @@ defineWin32SetupTasks('arm64', 'user');
|
||||
*/
|
||||
function archiveWin32Setup(arch) {
|
||||
return cb => {
|
||||
- const args = ['a', '-tzip', zipPath(arch), '-x!CodeSignSummary*.md', '.', '-r'];
|
||||
+ const args = ['a', '-tzip', zipPath(arch), '-x!CodeSignSummary*.md', '-x!tools', '.', '-r'];
|
||||
|
||||
cp.spawn(_7z, args, { stdio: 'inherit', cwd: buildPath(arch) })
|
||||
.on('error', cb)
|
||||
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 00914aa..d5cfc18 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 'vs/base/common/lifecycle';
|
||||
import { localize } from 'vs/nls';
|
||||
-import { Action2, MenuId, MenuRegistry, registerAction2 } from 'vs/platform/actions/common/actions';
|
||||
+import { Action2, MenuId, registerAction2 } from 'vs/platform/actions/common/actions';
|
||||
import { ContextKeyExpr, IContextKey, IContextKeyService } from 'vs/platform/contextkey/common/contextkey';
|
||||
@@ -17,3 +17,3 @@ import { AuthenticationSession, AuthenticationSessionsChangeEvent, IAuthenticati
|
||||
import { IExtensionService } from 'vs/workbench/services/extensions/common/extensions';
|
||||
-import { EDIT_SESSIONS_SIGNED_IN, EditSession, EDIT_SESSION_SYNC_CATEGORY, IEditSessionsStorageService, EDIT_SESSIONS_SIGNED_IN_KEY, IEditSessionsLogService, SyncResource, EDIT_SESSIONS_PENDING_KEY } from 'vs/workbench/contrib/editSessions/common/editSessions';
|
||||
+import { EDIT_SESSIONS_SIGNED_IN, EditSession, EDIT_SESSION_SYNC_CATEGORY, IEditSessionsStorageService, EDIT_SESSIONS_SIGNED_IN_KEY, IEditSessionsLogService, SyncResource } from 'vs/workbench/contrib/editSessions/common/editSessions';
|
||||
import { IDialogService } from 'vs/platform/dialogs/common/dialogs';
|
||||
@@ -93,3 +93,2 @@ export class EditSessionsWorkbenchService extends Disposable implements IEditSes
|
||||
|
||||
- this.registerSignInAction();
|
||||
this.registerResetAuthenticationAction();
|
||||
@@ -455,39 +454,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() {
|
||||
18
patches/disable-signature-verification.patch
Normal file
@@ -0,0 +1,18 @@
|
||||
diff --git a/src/vs/platform/extensionManagement/node/extensionDownloader.ts b/src/vs/platform/extensionManagement/node/extensionDownloader.ts
|
||||
index 0ddae28..2e3c9b2 100644
|
||||
--- a/src/vs/platform/extensionManagement/node/extensionDownloader.ts
|
||||
+++ b/src/vs/platform/extensionManagement/node/extensionDownloader.ts
|
||||
@@ -11,3 +11,2 @@ import { joinPath } from 'vs/base/common/resources';
|
||||
import * as semver from 'vs/base/common/semver/semver';
|
||||
-import { isBoolean } from 'vs/base/common/types';
|
||||
import { URI } from 'vs/base/common/uri';
|
||||
@@ -51,2 +50,3 @@ export class ExtensionsDownloader extends Disposable {
|
||||
@IExtensionGalleryService private readonly extensionGalleryService: IExtensionGalleryService,
|
||||
+ // @ts-expect-error no-unused-variable
|
||||
@IConfigurationService private readonly configurationService: IConfigurationService,
|
||||
@@ -116,4 +116,3 @@ export class ExtensionsDownloader extends Disposable {
|
||||
|
||||
- const value = this.configurationService.getValue('extensions.verifySignature');
|
||||
- return isBoolean(value) ? value : true;
|
||||
+ return false;
|
||||
}
|
||||
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 2c18fde..e1031dd 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
|
||||
@@ -312,2 +312,8 @@ configurationRegistry.registerConfiguration({
|
||||
@@ -319,2 +319,8 @@ configurationRegistry.registerConfiguration({
|
||||
},
|
||||
+ 'workbench.welcomePage.extraAnnouncements': {
|
||||
+ scope: ConfigurationScope.MACHINE,
|
||||
@@ -12,10 +12,10 @@ index 2c18fde..e1031dd 100644
|
||||
+ },
|
||||
'workbench.startupEditor': {
|
||||
diff --git a/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStarted.ts b/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStarted.ts
|
||||
index 9564618..eb8adfe 100644
|
||||
index 664c55b..43f9e2e 100644
|
||||
--- a/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStarted.ts
|
||||
+++ b/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStarted.ts
|
||||
@@ -116,4 +116,8 @@ type GettingStartedActionEvent = {
|
||||
@@ -113,4 +113,8 @@ type GettingStartedActionEvent = {
|
||||
type RecentEntry = (IRecentFolder | IRecentWorkspace) & { id: string };
|
||||
+type AnnouncementEntry = { id: string, title: string, url: string };
|
||||
|
||||
@@ -24,30 +24,26 @@ index 9564618..eb8adfe 100644
|
||||
+const BUILTIN_ANNOUNCEMENTS: AnnouncementEntry[] = [/* BUILTIN_ANNOUNCEMENTS */];
|
||||
+
|
||||
export class GettingStartedPage extends EditorPane {
|
||||
@@ -148,2 +152,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[];
|
||||
|
||||
@@ -760,3 +766,2 @@ export class GettingStartedPage extends EditorPane {
|
||||
|
||||
-
|
||||
const leftColumn = $('.categories-column.categories-column-left', {},);
|
||||
@@ -767,2 +772,3 @@ export class GettingStartedPage extends EditorPane {
|
||||
@@ -812,2 +818,3 @@ export class GettingStartedPage extends EditorPane {
|
||||
const gettingStartedList = this.buildGettingStartedWalkthroughsList();
|
||||
+ const announcementList = await this.buildAnnouncementList();
|
||||
|
||||
@@ -777,3 +783,3 @@ export class GettingStartedPage extends EditorPane {
|
||||
@@ -822,3 +829,3 @@ export class GettingStartedPage extends EditorPane {
|
||||
this.container.classList.remove('noWalkthroughs');
|
||||
- reset(leftColumn, startList.getDomElement(), recentList.getDomElement());
|
||||
+ reset(leftColumn, startList.getDomElement(), recentList.getDomElement(), announcementList.getDomElement());
|
||||
reset(rightColumn, gettingStartedList.getDomElement());
|
||||
@@ -783,3 +789,3 @@ export class GettingStartedPage extends EditorPane {
|
||||
- reset(rightColumn, gettingStartedList.getDomElement());
|
||||
+ reset(rightColumn, gettingStartedList.getDomElement(), announcementList.getDomElement());
|
||||
}
|
||||
@@ -826,3 +833,3 @@ export class GettingStartedPage extends EditorPane {
|
||||
this.container.classList.add('noWalkthroughs');
|
||||
- reset(leftColumn, startList.getDomElement());
|
||||
+ reset(leftColumn, startList.getDomElement(), announcementList.getDomElement());
|
||||
reset(rightColumn, recentList.getDomElement());
|
||||
@@ -930,2 +936,51 @@ export class GettingStartedPage extends EditorPane {
|
||||
- reset(rightColumn);
|
||||
+ reset(rightColumn, announcementList.getDomElement());
|
||||
}
|
||||
@@ -978,2 +985,55 @@ export class GettingStartedPage extends EditorPane {
|
||||
|
||||
+ private async buildAnnouncementList(): Promise<GettingStartedIndexList<AnnouncementEntry>> {
|
||||
+ const renderAnnouncement = (announcement: AnnouncementEntry) => {
|
||||
@@ -79,15 +75,19 @@ index 9564618..eb8adfe 100644
|
||||
+
|
||||
+ if (showExtras) {
|
||||
+ const branch = this.productService.quality === 'insider' ? 'insider' : 'master';
|
||||
+ const res = await fetch(`https://raw.githubusercontent.com/VSCodium/vscodium/${branch}/announcements-extra.json`);
|
||||
+ await fetch(`https://raw.githubusercontent.com/VSCodium/vscodium/${branch}/announcements-extra.json`)
|
||||
+ .then(async res => {
|
||||
+ if (res.ok) {
|
||||
+ var extraAnnouncements = await res.json() as AnnouncementEntry[];
|
||||
+
|
||||
+ if (res.ok) {
|
||||
+ var extraAnnouncements = await res.json() as AnnouncementEntry[];
|
||||
+
|
||||
+ this.announcementData = [...extraAnnouncements, ...BUILTIN_ANNOUNCEMENTS];
|
||||
+ } else {
|
||||
+ this.announcementData = BUILTIN_ANNOUNCEMENTS;
|
||||
+ }
|
||||
+ this.announcementData = [...extraAnnouncements, ...BUILTIN_ANNOUNCEMENTS];
|
||||
+ } else {
|
||||
+ this.announcementData = BUILTIN_ANNOUNCEMENTS;
|
||||
+ }
|
||||
+ })
|
||||
+ .catch(err => {
|
||||
+ this.announcementData = BUILTIN_ANNOUNCEMENTS;
|
||||
+ });
|
||||
+ } else {
|
||||
+ this.announcementData = BUILTIN_ANNOUNCEMENTS;
|
||||
+ }
|
||||
|
||||
@@ -1,27 +0,0 @@
|
||||
diff --git a/build/linux/dependencies-generator.js b/build/linux/dependencies-generator.js
|
||||
index af20828..f09ba66 100644
|
||||
--- a/build/linux/dependencies-generator.js
|
||||
+++ b/build/linux/dependencies-generator.js
|
||||
@@ -22,3 +22,3 @@ const types_2 = require("./rpm/types");
|
||||
// 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/98.0.4758.109:chrome/installer/linux/BUILD.gn;l=64-80
|
||||
diff --git a/build/linux/dependencies-generator.ts b/build/linux/dependencies-generator.ts
|
||||
index 34573c4..91adb8f 100644
|
||||
--- a/build/linux/dependencies-generator.ts
|
||||
+++ b/build/linux/dependencies-generator.ts
|
||||
@@ -23,3 +23,3 @@ import { isRpmArchString, RpmArchString } from './rpm/types';
|
||||
// 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 61659d2..6331a67 100644
|
||||
--- a/resources/linux/rpm/code.spec.template
|
||||
+++ b/resources/linux/rpm/code.spec.template
|
||||
@@ -78 +78,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
|
||||
61
patches/fix-eol-banner.patch
Normal file
@@ -0,0 +1,61 @@
|
||||
diff --git a/src/vs/workbench/browser/parts/banner/bannerPart.ts b/src/vs/workbench/browser/parts/banner/bannerPart.ts
|
||||
index dda7c88..e01f09e 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';
|
||||
|
||||
@@ -67,3 +68,3 @@ export class BannerPart extends Part implements IBannerService {
|
||||
@IWorkbenchLayoutService layoutService: IWorkbenchLayoutService,
|
||||
- @IStorageService storageService: IStorageService,
|
||||
+ @IStorageService private readonly storageService: IStorageService,
|
||||
@IContextKeyService private readonly contextKeyService: IContextKeyService,
|
||||
@@ -187,2 +188,14 @@ export class BannerPart extends Part implements IBannerService {
|
||||
|
||||
+ if (item.neverShowAgain) {
|
||||
+ const scope = this.toStorageScope(item.neverShowAgain);
|
||||
+ const id = item.neverShowAgain.id;
|
||||
+
|
||||
+ // If the user already picked to not show the notification
|
||||
+ // again, we return with a no-op notification here
|
||||
+ if (this.storageService.getBoolean(id, scope)) {
|
||||
+ this.close(item);
|
||||
+ return;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
// Clear previous item
|
||||
@@ -235,2 +248,15 @@ export class BannerPart extends Part implements IBannerService {
|
||||
|
||||
+ private toStorageScope(options: INeverShowAgainOptions): StorageScope {
|
||||
+ switch (options.scope) {
|
||||
+ case NeverShowAgainScope.APPLICATION:
|
||||
+ return StorageScope.APPLICATION;
|
||||
+ case NeverShowAgainScope.PROFILE:
|
||||
+ return StorageScope.PROFILE;
|
||||
+ case NeverShowAgainScope.WORKSPACE:
|
||||
+ return StorageScope.WORKSPACE;
|
||||
+ default:
|
||||
+ return StorageScope.APPLICATION;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
toJSON(): object {
|
||||
diff --git a/src/vs/workbench/services/banner/browser/bannerService.ts b/src/vs/workbench/services/banner/browser/bannerService.ts
|
||||
index 9c1ab0d..688b1dc 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';
|
||||
|
||||
@@ -18,2 +19,3 @@ export interface IBannerItem {
|
||||
readonly onClose?: () => void;
|
||||
+ readonly neverShowAgain?: INeverShowAgainOptions;
|
||||
readonly closeLabel?: string;
|
||||
37
patches/helper/settings.patch
Normal file
@@ -0,0 +1,37 @@
|
||||
diff --git a/.vscode/settings.json b/.vscode/settings.json
|
||||
index 99e495a..996044a 100644
|
||||
--- a/.vscode/settings.json
|
||||
+++ b/.vscode/settings.json
|
||||
@@ -10,5 +10,5 @@
|
||||
"cli/target": true,
|
||||
- "build/**/*.js": {
|
||||
- "when": "$(basename).ts"
|
||||
- }
|
||||
+ // "build/**/*.js": {
|
||||
+ // "when": "$(basename).ts"
|
||||
+ // }
|
||||
},
|
||||
@@ -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]": {
|
||||
@@ -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,
|
||||
},
|
||||
18
patches/insider/add-remote-url.patch
Normal file
@@ -0,0 +1,18 @@
|
||||
diff --git a/build/gulpfile.reh.js b/build/gulpfile.reh.js
|
||||
index 7d58861..cefb8ad 100644
|
||||
--- a/build/gulpfile.reh.js
|
||||
+++ b/build/gulpfile.reh.js
|
||||
@@ -306,3 +306,3 @@ function packageTask(type, platform, arch, sourceFolderName, destinationFolderNa
|
||||
const productJsonStream = gulp.src(['product.json'], { base: '.' })
|
||||
- .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 4af4067..1bac2cc 100644
|
||||
--- a/build/gulpfile.vscode.js
|
||||
+++ b/build/gulpfile.vscode.js
|
||||
@@ -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,9 +0,0 @@
|
||||
diff --git a/src/vs/platform/windows/electron-main/windowImpl.ts b/src/vs/platform/windows/electron-main/windowImpl.ts
|
||||
index 3b8a644..71ea0ad 100644
|
||||
--- a/src/vs/platform/windows/electron-main/windowImpl.ts
|
||||
+++ b/src/vs/platform/windows/electron-main/windowImpl.ts
|
||||
@@ -213,4 +213,2 @@ export class CodeWindow extends Disposable implements ICodeWindow {
|
||||
useSandbox = true;
|
||||
- } else {
|
||||
- useSandbox = typeof this.productService.quality === 'string' && this.productService.quality !== 'stable';
|
||||
}
|
||||
@@ -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`;
|
||||
+ // }
|
||||
|
||||
|
||||
10
patches/linux/client/disable-remote.patch
Normal file
@@ -0,0 +1,10 @@
|
||||
diff --git a/build/npm/postinstall.js b/build/npm/postinstall.js
|
||||
index 72dd74f..94d4957 100644
|
||||
--- a/build/npm/postinstall.js
|
||||
+++ b/build/npm/postinstall.js
|
||||
@@ -86,4 +86,3 @@ for (let dir of dirs) {
|
||||
|
||||
- if (/^(.build\/distro\/npm\/)?remote/.test(dir) && process.platform === 'win32' && (process.arch === 'arm64' || process.env['npm_config_arch'] === 'arm64')) {
|
||||
- // windows arm: do not execute `yarn` on remote folder
|
||||
+ if (/^(.build\/distro\/npm\/)?remote/.test(dir)) {
|
||||
continue;
|
||||
2351
patches/linux/client/node16.patch
Normal file
57
patches/linux/fix-build.patch
Normal file
@@ -0,0 +1,57 @@
|
||||
diff --git a/build/gulpfile.vscode.linux.js b/build/gulpfile.vscode.linux.js
|
||||
index 28ddfb0..0fd18a1 100644
|
||||
--- a/build/gulpfile.vscode.linux.js
|
||||
+++ b/build/gulpfile.vscode.linux.js
|
||||
@@ -192,2 +192,3 @@ function prepareRpmPackage(arch) {
|
||||
const spec = code.pipe(es.through(
|
||||
+ null,
|
||||
async function () {
|
||||
@@ -306,4 +307,3 @@ BUILD_TARGETS.forEach(({ arch }) => {
|
||||
const prepareDebTask = task.define(`vscode-linux-${arch}-prepare-deb`, task.series(rimraf(`.build/linux/deb/${debArch}`), prepareDebPackage(arch)));
|
||||
- gulp.task(prepareDebTask);
|
||||
- const buildDebTask = task.define(`vscode-linux-${arch}-build-deb`, buildDebPackage(arch));
|
||||
+ const buildDebTask = task.define(`vscode-linux-${arch}-build-deb`, task.series(prepareDebTask, buildDebPackage(arch)));
|
||||
gulp.task(buildDebTask);
|
||||
@@ -312,4 +312,3 @@ BUILD_TARGETS.forEach(({ arch }) => {
|
||||
const prepareRpmTask = task.define(`vscode-linux-${arch}-prepare-rpm`, task.series(rimraf(`.build/linux/rpm/${rpmArch}`), prepareRpmPackage(arch)));
|
||||
- gulp.task(prepareRpmTask);
|
||||
- const buildRpmTask = task.define(`vscode-linux-${arch}-build-rpm`, buildRpmPackage(arch));
|
||||
+ const buildRpmTask = task.define(`vscode-linux-${arch}-build-rpm`, task.series(prepareRpmTask, buildRpmPackage(arch)));
|
||||
gulp.task(buildRpmTask);
|
||||
diff --git a/build/linux/dependencies-generator.js b/build/linux/dependencies-generator.js
|
||||
index 19adbeb..fef80a5 100644
|
||||
--- a/build/linux/dependencies-generator.js
|
||||
+++ b/build/linux/dependencies-generator.js
|
||||
@@ -24,3 +24,3 @@ const product = require("../../product.json");
|
||||
// are valid, are in dep-lists.ts
|
||||
-const FAIL_BUILD_FOR_NEW_DEPENDENCIES = true;
|
||||
+const FAIL_BUILD_FOR_NEW_DEPENDENCIES = false;
|
||||
// Based on https://source.chromium.org/chromium/chromium/src/+/refs/tags/124.0.6367.243:chrome/installer/linux/BUILD.gn;l=64-80
|
||||
@@ -56,3 +56,3 @@ async function getDependencies(packageType, buildDir, applicationName, arch) {
|
||||
// Add the tunnel binary.
|
||||
- files.push(path.join(buildDir, 'bin', product.tunnelApplicationName));
|
||||
+ // files.push(path.join(buildDir, 'bin', product.tunnelApplicationName));
|
||||
// Add the main executable.
|
||||
diff --git a/build/linux/dependencies-generator.ts b/build/linux/dependencies-generator.ts
|
||||
index 5fe4ac5..1d3e68a 100644
|
||||
--- a/build/linux/dependencies-generator.ts
|
||||
+++ b/build/linux/dependencies-generator.ts
|
||||
@@ -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;
|
||||
|
||||
@@ -61,3 +61,3 @@ export async function getDependencies(packageType: 'deb' | 'rpm', buildDir: stri
|
||||
// Add the tunnel binary.
|
||||
- files.push(path.join(buildDir, 'bin', product.tunnelApplicationName));
|
||||
+ // files.push(path.join(buildDir, 'bin', product.tunnelApplicationName));
|
||||
// Add the main executable.
|
||||
diff --git a/resources/linux/rpm/code.spec.template b/resources/linux/rpm/code.spec.template
|
||||
index c9e57db..bda2604 100644
|
||||
--- a/resources/linux/rpm/code.spec.template
|
||||
+++ b/resources/linux/rpm/code.spec.template
|
||||
@@ -87 +87,3 @@ update-mime-database %{_datadir}/mime &> /dev/null || :
|
||||
%{_datadir}/zsh/site-functions/_%{name}
|
||||
+
|
||||
+%config(noreplace) /usr/share/%{name}/resources/app/product.json
|
||||
\ No newline at end of file
|
||||
28
patches/linux/node16.patch
Normal file
@@ -0,0 +1,28 @@
|
||||
diff --git a/build/lib/fetch.js b/build/lib/fetch.js
|
||||
index 2fed63b..9a9f013 100644
|
||||
--- a/build/lib/fetch.js
|
||||
+++ b/build/lib/fetch.js
|
||||
@@ -15,2 +15,3 @@ const crypto = require("crypto");
|
||||
const through2 = require("through2");
|
||||
+const fetch = require("node-fetch");
|
||||
function fetchUrls(urls, options) {
|
||||
diff --git a/build/linux/debian/install-sysroot.js b/build/linux/debian/install-sysroot.js
|
||||
index feca7d3..b4f6540 100644
|
||||
--- a/build/linux/debian/install-sysroot.js
|
||||
+++ b/build/linux/debian/install-sysroot.js
|
||||
@@ -15,2 +15,3 @@ const crypto_1 = require("crypto");
|
||||
const ansiColors = require("ansi-colors");
|
||||
+const fetch = require("node-fetch");
|
||||
// Based on https://source.chromium.org/chromium/chromium/src/+/main:build/linux/sysroot_scripts/install-sysroot.py.
|
||||
diff --git a/yarn.lock b/yarn.lock
|
||||
index 2f4c572..6b65370 100644
|
||||
--- a/yarn.lock
|
||||
+++ b/yarn.lock
|
||||
@@ -6458,2 +6458,7 @@ liftoff@^3.1.0:
|
||||
|
||||
+lilconfig@^2.0.5:
|
||||
+ version "2.1.0"
|
||||
+ resolved "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz#78e23ac89ebb7e1bfbf25b18043de756548e7f52"
|
||||
+ integrity sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==
|
||||
+
|
||||
lilconfig@^3.0.0:
|
||||
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',
|
||||
|
||||
61
patches/linux/reh/node16.patch
Normal file
@@ -0,0 +1,61 @@
|
||||
diff --git a/build/gulpfile.reh.js b/build/gulpfile.reh.js
|
||||
index 7d58861..87f2632 100644
|
||||
--- a/build/gulpfile.reh.js
|
||||
+++ b/build/gulpfile.reh.js
|
||||
@@ -389,16 +389,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.json b/remote/package.json
|
||||
index 48b849c..2df37e4 100644
|
||||
--- a/remote/package.json
|
||||
+++ b/remote/package.json
|
||||
@@ -31,3 +31,3 @@
|
||||
"native-watchdog": "^1.4.1",
|
||||
- "node-pty": "1.1.0-beta11",
|
||||
+ "node-pty": "1.1.0-beta4",
|
||||
"tas-client-umd": "0.2.0",
|
||||
diff --git a/remote/yarn.lock b/remote/yarn.lock
|
||||
index 38f916a..d116ac9 100644
|
||||
--- a/remote/yarn.lock
|
||||
+++ b/remote/yarn.lock
|
||||
@@ -439,2 +439,7 @@ ms@2.1.2:
|
||||
|
||||
+nan@^2.17.0:
|
||||
+ version "2.18.0"
|
||||
+ resolved "https://registry.npmjs.org/nan/-/nan-2.18.0.tgz#26a6faae7ffbeb293a39660e88a76b82e30b7554"
|
||||
+ integrity sha512-W7tfG7vMOGtD30sHoZSSc/JVYiyDPEyQVso/Zz+/uQd0B0L46gtC+pHha5FFMRpil6fm/AoEcRWyOVi4+E/f8w==
|
||||
+
|
||||
napi-build-utils@^1.0.1:
|
||||
@@ -456,3 +461,3 @@ node-abi@^3.3.0:
|
||||
|
||||
-node-addon-api@7.1.0, node-addon-api@^7.1.0:
|
||||
+node-addon-api@7.1.0:
|
||||
version "7.1.0"
|
||||
@@ -481,8 +486,8 @@ node-gyp-build@4.8.1, node-gyp-build@^4.3.0:
|
||||
|
||||
-node-pty@1.1.0-beta11:
|
||||
- version "1.1.0-beta11"
|
||||
- resolved "https://registry.yarnpkg.com/node-pty/-/node-pty-1.1.0-beta11.tgz#909d5dd8f9aa2a7857e7b632fd4d2d4768bdf69f"
|
||||
- integrity sha512-vTjF+VrvSCfPDILUkIT+YrG1Fdn06/eBRS2fc9a3JzYAvknMB1Ip8aoJhxl8hNpjWAbprmCEiV91mlfNpCD+GQ==
|
||||
+node-pty@1.1.0-beta4:
|
||||
+ version "1.1.0-beta4"
|
||||
+ resolved "https://registry.npmjs.org/node-pty/-/node-pty-1.1.0-beta4.tgz#ee74d909c9f422ffc7f675e1092529673f8906ec"
|
||||
+ integrity sha512-CgffN9AxVtH4g7vDxtanm2qaR7jw3oet9r+ArzziGiFvmds9SdR3gXkZF0fqZWSxhTHZusJWvsuKvRv+5O2K8A==
|
||||
dependencies:
|
||||
- node-addon-api "^7.1.0"
|
||||
+ nan "^2.17.0"
|
||||
|
||||
9
patches/linux/rpm.patch
Normal file
@@ -0,0 +1,9 @@
|
||||
diff --git a/resources/linux/rpm/code.spec.template b/resources/linux/rpm/code.spec.template
|
||||
index c9e57db..ef27166 100644
|
||||
--- a/resources/linux/rpm/code.spec.template
|
||||
+++ b/resources/linux/rpm/code.spec.template
|
||||
@@ -2,3 +2,3 @@ Name: @@NAME@@
|
||||
Version: @@VERSION@@
|
||||
-Release: @@RELEASE@@.el8
|
||||
+Release: el8
|
||||
Summary: Code editing. Redefined.
|
||||
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,21 +1,37 @@
|
||||
diff --git a/src/main.js b/src/main.js
|
||||
index 041d9d6..295dbcb 100644
|
||||
--- a/src/main.js
|
||||
+++ b/src/main.js
|
||||
@@ -15,2 +15,3 @@
|
||||
const path = require('path');
|
||||
+const { fileURLToPath } = require('url');
|
||||
const fs = require('original-fs');
|
||||
@@ -136,2 +137,14 @@ registerListeners();
|
||||
|
||||
+function resolveUserProduct() {
|
||||
+ const userDataPath = getUserDataPath({}, product.nameShort ?? 'code-oss-dev');
|
||||
+ const userProductPath = `file:///${userDataPath}/product.json`;
|
||||
+
|
||||
+ try {
|
||||
+ // Assign the product configuration to the global scope
|
||||
+ const productPath = require(fileURLToPath(userProductPath));
|
||||
+ global["_VSCODE_USER_PRODUCT_JSON"] = productPath;
|
||||
+ } catch (ex) {
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
/**
|
||||
@@ -212,2 +225,3 @@ function startup(codeCachePath, nlsConfig) {
|
||||
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 ef798fa..5a0550b 100644
|
||||
index 58278d9..3bd78c9 100644
|
||||
--- a/src/vs/platform/product/common/product.ts
|
||||
+++ b/src/vs/platform/product/common/product.ts
|
||||
@@ -5,3 +5,4 @@
|
||||
@@ -29,2 +29,36 @@ else if (globalThis._VSCODE_PRODUCT_JSON && globalThis._VSCODE_PACKAGE_JSON) {
|
||||
|
||||
-import { globals } from 'vs/base/common/platform';
|
||||
+import { AppResourcePath, FileAccess } from 'vs/base/common/network';
|
||||
+import { globals, isWindows } from 'vs/base/common/platform';
|
||||
import { env } from 'vs/base/common/process';
|
||||
@@ -9,2 +10,3 @@ import { IProductConfiguration } from 'vs/base/common/product';
|
||||
import { ISandboxConfiguration } from 'vs/base/parts/sandbox/common/sandboxTypes';
|
||||
+import { getUserDataPath } from 'vs/platform/environment/node/userDataPath';
|
||||
|
||||
@@ -29,2 +31,40 @@ else if (globalThis._VSCODE_PRODUCT_JSON && globalThis._VSCODE_PACKAGE_JSON) {
|
||||
|
||||
+ // Set user-defined extension gallery
|
||||
+ const { serviceUrl, searchUrl, itemUrl, controlUrl } = product.extensionsGallery || {}
|
||||
+ const { serviceUrl, searchUrl, itemUrl, controlUrl } = product.extensionsGallery || {};
|
||||
+
|
||||
+ Object.assign(product, {
|
||||
+ extensionsGallery: {
|
||||
@@ -24,7 +40,7 @@ index ef798fa..5a0550b 100644
|
||||
+ itemUrl: env['VSCODE_GALLERY_ITEM_URL'] || itemUrl,
|
||||
+ controlUrl: env['VSCODE_GALLERY_CONTROL_URL'] || controlUrl,
|
||||
+ }
|
||||
+ })
|
||||
+ });
|
||||
+
|
||||
+ // Merge user-customized product.json
|
||||
+ try {
|
||||
@@ -43,10 +59,7 @@ index ef798fa..5a0550b 100644
|
||||
+ return result;
|
||||
+ }, {}) as any;
|
||||
+
|
||||
+ const userDataPath = getUserDataPath({} as any, product.nameShort);
|
||||
+ const userProductPath = isWindows ? `file:///${userDataPath}/product.json` : `file://${userDataPath}/product.json`;
|
||||
+
|
||||
+ const userProduct = require.__$__nodeRequire(FileAccess.asFileUri(userProductPath as AppResourcePath).fsPath);
|
||||
+ const userProduct = (globalThis as Record<string, any>)._VSCODE_USER_PRODUCT_JSON || {};
|
||||
+
|
||||
+ product = merge(product, userProduct);
|
||||
+ } catch (ex) {
|
||||
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}`
|
||||
61
patches/remove-mangle.patch
Normal file
@@ -0,0 +1,61 @@
|
||||
diff --git a/build/lib/compilation.js b/build/lib/compilation.js
|
||||
index 2270e05..1bd7b90 100644
|
||||
--- a/build/lib/compilation.js
|
||||
+++ b/build/lib/compilation.js
|
||||
@@ -104,24 +104,3 @@ function compileTask(src, out, build, options = {}) {
|
||||
}
|
||||
- // mangle: TypeScript to TypeScript
|
||||
- let mangleStream = es.through();
|
||||
- if (build && !options.disableMangle) {
|
||||
- let ts2tsMangler = new index_1.Mangler(compile.projectPath, (...data) => fancyLog(ansiColors.blue('[mangler]'), ...data), { mangleExports: true, manglePrivateFields: true });
|
||||
- const newContentsByFileName = ts2tsMangler.computeNewFileContents(new Set(['saveState']));
|
||||
- mangleStream = es.through(async function write(data) {
|
||||
- const tsNormalPath = ts.normalizePath(data.path);
|
||||
- const newContents = (await newContentsByFileName).get(tsNormalPath);
|
||||
- if (newContents !== undefined) {
|
||||
- data.contents = Buffer.from(newContents.out);
|
||||
- data.sourceMap = newContents.sourceMap && JSON.parse(newContents.sourceMap);
|
||||
- }
|
||||
- this.push(data);
|
||||
- }, async function end() {
|
||||
- // free resources
|
||||
- (await newContentsByFileName).clear();
|
||||
- this.push(null);
|
||||
- ts2tsMangler = undefined;
|
||||
- });
|
||||
- }
|
||||
return srcPipe
|
||||
- .pipe(mangleStream)
|
||||
.pipe(generator.stream)
|
||||
diff --git a/build/lib/compilation.ts b/build/lib/compilation.ts
|
||||
index d5da3f1..fa46962 100644
|
||||
--- a/build/lib/compilation.ts
|
||||
+++ b/build/lib/compilation.ts
|
||||
@@ -123,27 +123,3 @@ export function compileTask(src: string, out: string, build: boolean, options: {
|
||||
|
||||
- // mangle: TypeScript to TypeScript
|
||||
- let mangleStream = es.through();
|
||||
- if (build && !options.disableMangle) {
|
||||
- let ts2tsMangler = new Mangler(compile.projectPath, (...data) => fancyLog(ansiColors.blue('[mangler]'), ...data), { mangleExports: true, manglePrivateFields: true });
|
||||
- const newContentsByFileName = ts2tsMangler.computeNewFileContents(new Set(['saveState']));
|
||||
- mangleStream = es.through(async function write(data: File & { sourceMap?: RawSourceMap }) {
|
||||
- type TypeScriptExt = typeof ts & { normalizePath(path: string): string };
|
||||
- const tsNormalPath = (<TypeScriptExt>ts).normalizePath(data.path);
|
||||
- const newContents = (await newContentsByFileName).get(tsNormalPath);
|
||||
- if (newContents !== undefined) {
|
||||
- data.contents = Buffer.from(newContents.out);
|
||||
- data.sourceMap = newContents.sourceMap && JSON.parse(newContents.sourceMap);
|
||||
- }
|
||||
- this.push(data);
|
||||
- }, async function end() {
|
||||
- // free resources
|
||||
- (await newContentsByFileName).clear();
|
||||
-
|
||||
- this.push(null);
|
||||
- (<any>ts2tsMangler) = undefined;
|
||||
- });
|
||||
- }
|
||||
-
|
||||
return srcPipe
|
||||
- .pipe(mangleStream)
|
||||
.pipe(generator.stream)
|
||||
@@ -1,13 +1,25 @@
|
||||
diff --git a/src/vs/code/electron-sandbox/issue/issueReporterMain.ts b/src/vs/code/electron-sandbox/issue/issueReporterMain.ts
|
||||
index 33e66be..a7ade0a 100644
|
||||
--- a/src/vs/code/electron-sandbox/issue/issueReporterMain.ts
|
||||
+++ b/src/vs/code/electron-sandbox/issue/issueReporterMain.ts
|
||||
@@ -468,3 +468,3 @@ 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}`);
|
||||
|
||||
diff --git a/src/vs/workbench/contrib/issue/browser/issue.ts b/src/vs/workbench/contrib/issue/browser/issue.ts
|
||||
index 79e4485..33f09a4 100644
|
||||
--- a/src/vs/workbench/contrib/issue/browser/issue.ts
|
||||
+++ b/src/vs/workbench/contrib/issue/browser/issue.ts
|
||||
@@ -451,5 +451,5 @@ export class BaseIssueReporterService extends Disposable {
|
||||
|
||||
- public searchVSCodeIssues(title: string, issueDescription?: string): void {
|
||||
+ public searchVSCodeIssues(title: string, _issueDescription?: string): void {
|
||||
if (title) {
|
||||
- this.searchDuplicates(title, issueDescription);
|
||||
+ this.searchGitHub('VSCodium/vscodium', title);
|
||||
} else {
|
||||
@@ -556,33 +556,2 @@ export class IssueReporter extends Disposable {
|
||||
@@ -545,33 +545,2 @@ export class BaseIssueReporterService extends Disposable {
|
||||
|
||||
- @debounce(300)
|
||||
- private searchDuplicates(title: string, body?: string): void {
|
||||
@@ -23,7 +35,7 @@ index 33e66be..a7ade0a 100644
|
||||
- })
|
||||
- };
|
||||
-
|
||||
- window.fetch(url, init).then((response) => {
|
||||
- fetch(url, init).then((response) => {
|
||||
- response.json().then(result => {
|
||||
- this.clearSearchResults();
|
||||
-
|
||||
@@ -41,40 +53,38 @@ index 33e66be..a7ade0a 100644
|
||||
- }
|
||||
-
|
||||
private displaySearchResults(results: SearchResult[]) {
|
||||
@@ -674,3 +643,3 @@ export class IssueReporter extends Disposable {
|
||||
@@ -667,4 +636,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 a58acca..1903a0c 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) {
|
||||
@@ -728,3 +697,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 f8274d9..15fcc8b 100644
|
||||
--- a/src/vs/workbench/contrib/issue/browser/issueReporterModel.ts
|
||||
+++ b/src/vs/workbench/contrib/issue/browser/issueReporterModel.ts
|
||||
@@ -92,3 +92,3 @@ ${this._data.issueDescription}
|
||||
${this.getExtensionVersion()}
|
||||
-VS Code version: ${this._data.versionInfo && this._data.versionInfo.vscodeVersion}
|
||||
+VSCodium version: ${this._data.versionInfo && this._data.versionInfo.vscodeVersion}
|
||||
OS version: ${this._data.versionInfo && this._data.versionInfo.os}
|
||||
diff --git a/src/vs/code/electron-sandbox/issue/issueReporterPage.ts b/src/vs/code/electron-sandbox/issue/issueReporterPage.ts
|
||||
index 6467d66..d425016 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 20154ad..bca59b8 100644
|
||||
--- a/src/vs/workbench/contrib/extensions/electron-sandbox/extensionsSlowActions.ts
|
||||
+++ b/src/vs/workbench/contrib/extensions/electron-sandbox/extensionsSlowActions.ts
|
||||
@@ -148,3 +148,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}`);
|
||||
|
||||
|
||||
@@ -1,13 +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 93424ca..133657e 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
|
||||
@@ -53,7 +53,7 @@ export class Win32UpdateService extends AbstractUpdateService {
|
||||
|
||||
@memoize
|
||||
@@ -56,3 +56,3 @@ export class Win32UpdateService extends AbstractUpdateService implements IRelaun
|
||||
get cachePath(): Promise<string> {
|
||||
- const result = path.join(tmpdir(), `vscode-update-${this.productService.target}-${process.arch}`);
|
||||
+ const result = path.join(tmpdir(), `${this.productService.applicationName}-update-${this.productService.target}-${process.arch}`);
|
||||
return pfs.Promises.mkdir(result, { recursive: true }).then(() => result);
|
||||
}
|
||||
|
||||
- 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 fs.promises.mkdir(result, { recursive: true }).then(() => result);
|
||||
|
||||
@@ -1,443 +1,35 @@
|
||||
diff --git a/extensions/github-authentication/src/githubServer.ts b/extensions/github-authentication/src/githubServer.ts
|
||||
index e1f766d..4f11dbe 100644
|
||||
--- a/extensions/github-authentication/src/githubServer.ts
|
||||
+++ b/extensions/github-authentication/src/githubServer.ts
|
||||
@@ -6,4 +6,2 @@
|
||||
import * as vscode from 'vscode';
|
||||
-import * as path from 'path';
|
||||
-import { PromiseAdapter, promiseFromEvent } from './common/utils';
|
||||
import { ExperimentationTelemetry } from './common/experimentationService';
|
||||
@@ -11,14 +9,6 @@ import { AuthProviderType, UriEventHandler } from './github';
|
||||
import { Log } from './common/logger';
|
||||
-import { isSupportedEnvironment } from './common/env';
|
||||
-import { LoopbackAuthServer } from './node/authServer';
|
||||
-import { crypto } from './node/crypto';
|
||||
import { fetching } from './node/fetch';
|
||||
diff --git a/extensions/github-authentication/src/common/env.ts b/extensions/github-authentication/src/common/env.ts
|
||||
index ebc4749..18fd732 100644
|
||||
--- a/extensions/github-authentication/src/common/env.ts
|
||||
+++ b/extensions/github-authentication/src/common/env.ts
|
||||
@@ -7,21 +7,4 @@ import { AuthProviderType } from '../github';
|
||||
|
||||
-const CLIENT_ID = '01ab8ac9400c4e429b23';
|
||||
-const GITHUB_TOKEN_URL = 'https://vscode.dev/codeExchangeProxyEndpoints/github/login/oauth/access_token';
|
||||
const NETWORK_ERROR = 'network error';
|
||||
-const VALID_DESKTOP_CALLBACK_SCHEMES = [
|
||||
- 'vscode',
|
||||
- 'vscode-insiders',
|
||||
- // On Windows, some browsers don't seem to redirect back to OSS properly.
|
||||
- // As a result, you get stuck in the auth flow. We exclude this from the
|
||||
- // list until we can figure out a way to fix this behavior in browsers.
|
||||
- // 'code-oss',
|
||||
- 'vscode-wsl',
|
||||
- 'vscode-exploration'
|
||||
-];
|
||||
-
|
||||
-export function isSupportedClient(uri: Uri): boolean {
|
||||
- return (
|
||||
- VALID_DESKTOP_CALLBACK_SCHEMES.includes(uri.scheme) ||
|
||||
- // vscode.dev & insiders.vscode.dev
|
||||
- /(?:^|\.)vscode\.dev$/.test(uri.authority) ||
|
||||
- // github.dev & codespaces
|
||||
- /(?:^|\.)github\.dev$/.test(uri.authority)
|
||||
- );
|
||||
+export function isSupportedClient(_uri: Uri): boolean {
|
||||
+ return false;
|
||||
}
|
||||
@@ -35,4 +18,4 @@ export function isSupportedTarget(type: AuthProviderType, gheUri?: Uri): boolean
|
||||
|
||||
-const REDIRECT_URL_STABLE = 'https://vscode.dev/redirect';
|
||||
-const REDIRECT_URL_INSIDERS = 'https://insiders.vscode.dev/redirect';
|
||||
-
|
||||
export interface IGitHubServer {
|
||||
@@ -30,9 +20,2 @@ export interface IGitHubServer {
|
||||
|
||||
-interface IGitHubDeviceCodeResponse {
|
||||
- device_code: string;
|
||||
- user_code: string;
|
||||
- verification_uri: string;
|
||||
- interval: number;
|
||||
-}
|
||||
-
|
||||
async function getScopes(token: string, serverUri: vscode.Uri, logger: Log): Promise<string[]> {
|
||||
@@ -63,8 +46,4 @@ export class GitHubServer implements IGitHubServer {
|
||||
|
||||
- private readonly _pendingNonces = new Map<string, string[]>();
|
||||
- private readonly _codeExchangePromises = new Map<string, { promise: Promise<string>; cancel: vscode.EventEmitter<void> }>();
|
||||
private readonly _type: AuthProviderType;
|
||||
|
||||
- private _redirectEndpoint: string | undefined;
|
||||
-
|
||||
constructor(
|
||||
@@ -72,3 +51,5 @@ export class GitHubServer implements IGitHubServer {
|
||||
private readonly _telemetryReporter: ExperimentationTelemetry,
|
||||
+ // @ts-ignore
|
||||
private readonly _uriHandler: UriEventHandler,
|
||||
+ // @ts-ignore
|
||||
private readonly _supportDeviceCodeFlow: boolean,
|
||||
@@ -87,41 +68,2 @@ export class GitHubServer implements IGitHubServer {
|
||||
|
||||
- private async getRedirectEndpoint(): Promise<string> {
|
||||
- if (this._redirectEndpoint) {
|
||||
- return this._redirectEndpoint;
|
||||
- }
|
||||
- if (this._type === AuthProviderType.github) {
|
||||
- const proxyEndpoints = await vscode.commands.executeCommand<{ [providerId: string]: string } | undefined>('workbench.getCodeExchangeProxyEndpoints');
|
||||
- // If we are running in insiders vscode.dev, then ensure we use the redirect route on that.
|
||||
- this._redirectEndpoint = REDIRECT_URL_STABLE;
|
||||
- if (proxyEndpoints?.github && new URL(proxyEndpoints.github).hostname === 'insiders.vscode.dev') {
|
||||
- this._redirectEndpoint = REDIRECT_URL_INSIDERS;
|
||||
- }
|
||||
- return this._redirectEndpoint;
|
||||
- } else {
|
||||
- // GHES
|
||||
- const result = await fetching(this.getServerUri('/meta').toString(true));
|
||||
- if (result.ok) {
|
||||
- try {
|
||||
- const json: { installed_version: string } = await result.json();
|
||||
- const [majorStr, minorStr, _patch] = json.installed_version.split('.');
|
||||
- const major = Number(majorStr);
|
||||
- const minor = Number(minorStr);
|
||||
- if (major >= 4 || major === 3 && minor >= 8
|
||||
- ) {
|
||||
- // GHES 3.8 and above used vscode.dev/redirect as the route.
|
||||
- // It only supports a single redirect endpoint, so we can't use
|
||||
- // insiders.vscode.dev/redirect when we're running in Insiders, unfortunately.
|
||||
- this._redirectEndpoint = 'https://vscode.dev/redirect';
|
||||
- }
|
||||
- } catch (e) {
|
||||
- this._logger.error(e);
|
||||
- }
|
||||
- }
|
||||
-
|
||||
- // TODO in like 1 year change the default vscode.dev/redirect maybe
|
||||
- this._redirectEndpoint = 'https://vscode-auth.github.com/';
|
||||
- }
|
||||
- return this._redirectEndpoint;
|
||||
- }
|
||||
-
|
||||
// TODO@joaomoreno TODO@TylerLeonhardt
|
||||
@@ -137,58 +79,8 @@ export class GitHubServer implements IGitHubServer {
|
||||
let userCancelled: boolean | undefined;
|
||||
- const yes = vscode.l10n.t('Yes');
|
||||
- const no = vscode.l10n.t('No');
|
||||
- const promptToContinue = async () => {
|
||||
- if (userCancelled === undefined) {
|
||||
- // We haven't had a failure yet so wait to prompt
|
||||
- return;
|
||||
- }
|
||||
- const message = userCancelled
|
||||
- ? vscode.l10n.t('Having trouble logging in? Would you like to try a different way?')
|
||||
- : vscode.l10n.t('You have not yet finished authorizing this extension to use GitHub. Would you like to keep trying?');
|
||||
- const result = await vscode.window.showWarningMessage(message, yes, no);
|
||||
- if (result !== yes) {
|
||||
- throw new Error('Cancelled');
|
||||
- }
|
||||
- };
|
||||
-
|
||||
- const nonce: string = crypto.getRandomValues(new Uint32Array(2)).reduce((prev, curr) => prev += curr.toString(16), '');
|
||||
- const callbackUri = await vscode.env.asExternalUri(vscode.Uri.parse(`${vscode.env.uriScheme}://vscode.github-authentication/did-authenticate?nonce=${encodeURIComponent(nonce)}`));
|
||||
|
||||
- const supported = isSupportedEnvironment(callbackUri);
|
||||
- if (supported) {
|
||||
- try {
|
||||
- return await this.doLoginWithoutLocalServer(scopes, nonce, callbackUri);
|
||||
- } catch (e) {
|
||||
- this._logger.error(e);
|
||||
- userCancelled = e.message ?? e === 'User Cancelled';
|
||||
- }
|
||||
- }
|
||||
-
|
||||
- // Starting a local server isn't supported in web
|
||||
- if (vscode.env.uiKind === vscode.UIKind.Desktop) {
|
||||
- try {
|
||||
- await promptToContinue();
|
||||
- return await this.doLoginWithLocalServer(scopes);
|
||||
- } catch (e) {
|
||||
- this._logger.error(e);
|
||||
- userCancelled = e.message ?? e === 'User Cancelled';
|
||||
- }
|
||||
- }
|
||||
-
|
||||
- if (this._supportDeviceCodeFlow) {
|
||||
- try {
|
||||
- await promptToContinue();
|
||||
- return await this.doLoginDeviceCodeFlow(scopes);
|
||||
- } catch (e) {
|
||||
- this._logger.error(e);
|
||||
- userCancelled = e.message ?? e === 'User Cancelled';
|
||||
- }
|
||||
- } else if (!supported) {
|
||||
- try {
|
||||
- await promptToContinue();
|
||||
- return await this.doLoginWithPat(scopes);
|
||||
- } catch (e) {
|
||||
- this._logger.error(e);
|
||||
- userCancelled = e.message ?? e === 'User Cancelled';
|
||||
- }
|
||||
+ try {
|
||||
+ return await this.doLoginWithPat(scopes);
|
||||
+ } catch (e) {
|
||||
+ this._logger.error(e);
|
||||
+ userCancelled = e.message ?? e === 'User Cancelled';
|
||||
}
|
||||
@@ -198,136 +90,2 @@ export class GitHubServer implements IGitHubServer {
|
||||
|
||||
- private async doLoginWithoutLocalServer(scopes: string, nonce: string, callbackUri: vscode.Uri): Promise<string> {
|
||||
- this._logger.info(`Trying without local server... (${scopes})`);
|
||||
- return await vscode.window.withProgress<string>({
|
||||
- location: vscode.ProgressLocation.Notification,
|
||||
- title: vscode.l10n.t({
|
||||
- message: 'Signing in to {0}...',
|
||||
- args: [this.baseUri.authority],
|
||||
- comment: ['The {0} will be a url, e.g. github.com']
|
||||
- }),
|
||||
- cancellable: true
|
||||
- }, async (_, token) => {
|
||||
- const existingNonces = this._pendingNonces.get(scopes) || [];
|
||||
- this._pendingNonces.set(scopes, [...existingNonces, nonce]);
|
||||
- const redirectUri = await this.getRedirectEndpoint();
|
||||
- const searchParams = new URLSearchParams([
|
||||
- ['client_id', CLIENT_ID],
|
||||
- ['redirect_uri', redirectUri],
|
||||
- ['scope', scopes],
|
||||
- ['state', encodeURIComponent(callbackUri.toString(true))]
|
||||
- ]);
|
||||
-
|
||||
- const uri = vscode.Uri.parse(this.baseUri.with({
|
||||
- path: '/login/oauth/authorize',
|
||||
- query: searchParams.toString()
|
||||
- }).toString(true));
|
||||
- await vscode.env.openExternal(uri);
|
||||
-
|
||||
- // Register a single listener for the URI callback, in case the user starts the login process multiple times
|
||||
- // before completing it.
|
||||
- let codeExchangePromise = this._codeExchangePromises.get(scopes);
|
||||
- if (!codeExchangePromise) {
|
||||
- codeExchangePromise = promiseFromEvent(this._uriHandler!.event, this.handleUri(scopes));
|
||||
- this._codeExchangePromises.set(scopes, codeExchangePromise);
|
||||
- }
|
||||
-
|
||||
- try {
|
||||
- return await Promise.race([
|
||||
- codeExchangePromise.promise,
|
||||
- new Promise<string>((_, reject) => setTimeout(() => reject('Timed out'), 300_000)), // 5min timeout
|
||||
- promiseFromEvent<any, any>(token.onCancellationRequested, (_, __, reject) => { reject('User Cancelled'); }).promise
|
||||
- ]);
|
||||
- } finally {
|
||||
- this._pendingNonces.delete(scopes);
|
||||
- codeExchangePromise?.cancel.fire();
|
||||
- this._codeExchangePromises.delete(scopes);
|
||||
- }
|
||||
- });
|
||||
- }
|
||||
-
|
||||
- private async doLoginWithLocalServer(scopes: string): Promise<string> {
|
||||
- this._logger.info(`Trying with local server... (${scopes})`);
|
||||
- return await vscode.window.withProgress<string>({
|
||||
- location: vscode.ProgressLocation.Notification,
|
||||
- title: vscode.l10n.t({
|
||||
- message: 'Signing in to {0}...',
|
||||
- args: [this.baseUri.authority],
|
||||
- comment: ['The {0} will be a url, e.g. github.com']
|
||||
- }),
|
||||
- cancellable: true
|
||||
- }, async (_, token) => {
|
||||
- const redirectUri = await this.getRedirectEndpoint();
|
||||
- const searchParams = new URLSearchParams([
|
||||
- ['client_id', CLIENT_ID],
|
||||
- ['redirect_uri', redirectUri],
|
||||
- ['scope', scopes],
|
||||
- ]);
|
||||
-
|
||||
- const loginUrl = this.baseUri.with({
|
||||
- path: '/login/oauth/authorize',
|
||||
- query: searchParams.toString()
|
||||
- });
|
||||
- const server = new LoopbackAuthServer(path.join(__dirname, '../media'), loginUrl.toString(true));
|
||||
- const port = await server.start();
|
||||
-
|
||||
- let codeToExchange;
|
||||
- try {
|
||||
- vscode.env.openExternal(vscode.Uri.parse(`http://127.0.0.1:${port}/signin?nonce=${encodeURIComponent(server.nonce)}`));
|
||||
- const { code } = await Promise.race([
|
||||
- server.waitForOAuthResponse(),
|
||||
- new Promise<any>((_, reject) => setTimeout(() => reject('Timed out'), 300_000)), // 5min timeout
|
||||
- promiseFromEvent<any, any>(token.onCancellationRequested, (_, __, reject) => { reject('User Cancelled'); }).promise
|
||||
- ]);
|
||||
- codeToExchange = code;
|
||||
- } finally {
|
||||
- setTimeout(() => {
|
||||
- void server.stop();
|
||||
- }, 5000);
|
||||
- }
|
||||
-
|
||||
- const accessToken = await this.exchangeCodeForToken(codeToExchange);
|
||||
- return accessToken;
|
||||
- });
|
||||
- }
|
||||
-
|
||||
- private async doLoginDeviceCodeFlow(scopes: string): Promise<string> {
|
||||
- this._logger.info(`Trying device code flow... (${scopes})`);
|
||||
-
|
||||
- // Get initial device code
|
||||
- const uri = this.baseUri.with({
|
||||
- path: '/login/device/code',
|
||||
- query: `client_id=${CLIENT_ID}&scope=${scopes}`
|
||||
- });
|
||||
- const result = await fetching(uri.toString(true), {
|
||||
- method: 'POST',
|
||||
- headers: {
|
||||
- Accept: 'application/json'
|
||||
- }
|
||||
- });
|
||||
- if (!result.ok) {
|
||||
- throw new Error(`Failed to get one-time code: ${await result.text()}`);
|
||||
- }
|
||||
-
|
||||
- const json = await result.json() as IGitHubDeviceCodeResponse;
|
||||
-
|
||||
- const button = vscode.l10n.t('Copy & Continue to GitHub');
|
||||
- const modalResult = await vscode.window.showInformationMessage(
|
||||
- vscode.l10n.t({ message: 'Your Code: {0}', args: [json.user_code], comment: ['The {0} will be a code, e.g. 123-456'] }),
|
||||
- {
|
||||
- modal: true,
|
||||
- detail: vscode.l10n.t('To finish authenticating, navigate to GitHub and paste in the above one-time code.')
|
||||
- }, button);
|
||||
-
|
||||
- if (modalResult !== button) {
|
||||
- throw new Error('User Cancelled');
|
||||
- }
|
||||
-
|
||||
- await vscode.env.clipboard.writeText(json.user_code);
|
||||
-
|
||||
- const uriToOpen = await vscode.env.asExternalUri(vscode.Uri.parse(json.verification_uri));
|
||||
- await vscode.env.openExternal(uriToOpen);
|
||||
-
|
||||
- return await this.waitForDeviceCodeAccessToken(json);
|
||||
- }
|
||||
-
|
||||
private async doLoginWithPat(scopes: string): Promise<string> {
|
||||
@@ -355,124 +113,2 @@ export class GitHubServer implements IGitHubServer {
|
||||
|
||||
- private async waitForDeviceCodeAccessToken(
|
||||
- json: IGitHubDeviceCodeResponse,
|
||||
- ): Promise<string> {
|
||||
- return await vscode.window.withProgress<string>({
|
||||
- location: vscode.ProgressLocation.Notification,
|
||||
- cancellable: true,
|
||||
- title: vscode.l10n.t({
|
||||
- message: 'Open [{0}]({0}) in a new tab and paste your one-time code: {1}',
|
||||
- args: [json.verification_uri, json.user_code],
|
||||
- comment: [
|
||||
- 'The [{0}]({0}) will be a url and the {1} will be a code, e.g. 123-456',
|
||||
- '{Locked="[{0}]({0})"}'
|
||||
- ]
|
||||
- })
|
||||
- }, async (_, token) => {
|
||||
- const refreshTokenUri = this.baseUri.with({
|
||||
- path: '/login/oauth/access_token',
|
||||
- query: `client_id=${CLIENT_ID}&device_code=${json.device_code}&grant_type=urn:ietf:params:oauth:grant-type:device_code`
|
||||
- });
|
||||
-
|
||||
- // Try for 2 minutes
|
||||
- const attempts = 120 / json.interval;
|
||||
- for (let i = 0; i < attempts; i++) {
|
||||
- await new Promise(resolve => setTimeout(resolve, json.interval * 1000));
|
||||
- if (token.isCancellationRequested) {
|
||||
- throw new Error('User Cancelled');
|
||||
- }
|
||||
- let accessTokenResult;
|
||||
- try {
|
||||
- accessTokenResult = await fetching(refreshTokenUri.toString(true), {
|
||||
- method: 'POST',
|
||||
- headers: {
|
||||
- Accept: 'application/json'
|
||||
- }
|
||||
- });
|
||||
- } catch {
|
||||
- continue;
|
||||
- }
|
||||
-
|
||||
- if (!accessTokenResult.ok) {
|
||||
- continue;
|
||||
- }
|
||||
-
|
||||
- const accessTokenJson = await accessTokenResult.json();
|
||||
-
|
||||
- if (accessTokenJson.error === 'authorization_pending') {
|
||||
- continue;
|
||||
- }
|
||||
-
|
||||
- if (accessTokenJson.error) {
|
||||
- throw new Error(accessTokenJson.error_description);
|
||||
- }
|
||||
-
|
||||
- return accessTokenJson.access_token;
|
||||
- }
|
||||
-
|
||||
- throw new Error('Cancelled');
|
||||
- });
|
||||
- }
|
||||
-
|
||||
- private handleUri: (scopes: string) => PromiseAdapter<vscode.Uri, string> =
|
||||
- (scopes) => (uri, resolve, reject) => {
|
||||
- const query = new URLSearchParams(uri.query);
|
||||
- const code = query.get('code');
|
||||
- const nonce = query.get('nonce');
|
||||
- if (!code) {
|
||||
- reject(new Error('No code'));
|
||||
- return;
|
||||
- }
|
||||
- if (!nonce) {
|
||||
- reject(new Error('No nonce'));
|
||||
- return;
|
||||
- }
|
||||
-
|
||||
- const acceptedNonces = this._pendingNonces.get(scopes) || [];
|
||||
- if (!acceptedNonces.includes(nonce)) {
|
||||
- // A common scenario of this happening is if you:
|
||||
- // 1. Trigger a sign in with one set of scopes
|
||||
- // 2. Before finishing 1, you trigger a sign in with a different set of scopes
|
||||
- // In this scenario we should just return and wait for the next UriHandler event
|
||||
- // to run as we are probably still waiting on the user to hit 'Continue'
|
||||
- this._logger.info('Nonce not found in accepted nonces. Skipping this execution...');
|
||||
- return;
|
||||
- }
|
||||
-
|
||||
- resolve(this.exchangeCodeForToken(code));
|
||||
- };
|
||||
-
|
||||
- private async exchangeCodeForToken(code: string): Promise<string> {
|
||||
- this._logger.info('Exchanging code for token...');
|
||||
-
|
||||
- const proxyEndpoints: { [providerId: string]: string } | undefined = await vscode.commands.executeCommand('workbench.getCodeExchangeProxyEndpoints');
|
||||
- const endpointUrl = proxyEndpoints?.github ? `${proxyEndpoints.github}login/oauth/access_token` : GITHUB_TOKEN_URL;
|
||||
-
|
||||
- const body = new URLSearchParams([['code', code]]);
|
||||
- if (this._type === AuthProviderType.githubEnterprise) {
|
||||
- body.append('github_enterprise', this.baseUri.toString(true));
|
||||
- body.append('redirect_uri', await this.getRedirectEndpoint());
|
||||
- }
|
||||
- const result = await fetching(endpointUrl, {
|
||||
- method: 'POST',
|
||||
- headers: {
|
||||
- Accept: 'application/json',
|
||||
- 'Content-Type': 'application/x-www-form-urlencoded',
|
||||
- 'Content-Length': body.toString()
|
||||
-
|
||||
- },
|
||||
- body: body.toString()
|
||||
- });
|
||||
-
|
||||
- if (result.ok) {
|
||||
- const json = await result.json();
|
||||
- this._logger.info('Token exchange success!');
|
||||
- return json.access_token;
|
||||
- } else {
|
||||
- const text = await result.text();
|
||||
- const error = new Error(text);
|
||||
- error.name = 'GitHubTokenExchangeError';
|
||||
- throw error;
|
||||
- }
|
||||
- }
|
||||
-
|
||||
private getServerUri(path: string = '') {
|
||||
diff --git a/src/vs/workbench/browser/parts/activitybar/activitybarActions.ts b/src/vs/workbench/browser/parts/activitybar/activitybarActions.ts
|
||||
index 2fff6cf..46967ce 100644
|
||||
--- a/src/vs/workbench/browser/parts/activitybar/activitybarActions.ts
|
||||
+++ b/src/vs/workbench/browser/parts/activitybar/activitybarActions.ts
|
||||
@@ -307,3 +307,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 1d9ac76..57b915c 100644
|
||||
--- a/src/vs/workbench/services/authentication/browser/authenticationService.ts
|
||||
+++ b/src/vs/workbench/services/authentication/browser/authenticationService.ts
|
||||
@@ -267,12 +267,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()
|
||||
- },
|
||||
- });
|
||||
- }
|
||||
}
|
||||
-export function isHostedGitHubEnterprise(uri: Uri): boolean {
|
||||
- return /\.ghe\.com$/.test(uri.authority);
|
||||
+export function isHostedGitHubEnterprise(_uri: Uri): boolean {
|
||||
+ return false;
|
||||
}
|
||||
|
||||
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 caecd71..4c02afa 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 caecd71..4c02afa 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,11 +41,14 @@ index caecd71..4c02afa 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', '/mergetasks=runcode,!desktopicon,!quicklaunchicon'], {
|
||||
- spawn(this.availableUpdate.packagePath, ['/silent', '/log', '/mergetasks=runcode,!desktopicon,!quicklaunchicon'], {
|
||||
- detached: true,
|
||||
- stdio: ['ignore', 'ignore', 'ignore']
|
||||
- });
|
||||
@@ -56,7 +59,7 @@ index caecd71..4c02afa 100644
|
||||
+ stdio: ['ignore', 'ignore', 'ignore']
|
||||
+ });
|
||||
+ } else {
|
||||
+ spawn(this.availableUpdate.packagePath, ['/silent', '/mergetasks=runcode,!desktopicon,!quicklaunchicon'], {
|
||||
+ spawn(this.availableUpdate.packagePath, ['/silent', '/log', '/mergetasks=runcode,!desktopicon,!quicklaunchicon'], {
|
||||
+ detached: true,
|
||||
+ stdio: ['ignore', 'ignore', 'ignore']
|
||||
+ });
|
||||
@@ -1,9 +1,9 @@
|
||||
diff --git a/build/win32/code.iss b/build/win32/code.iss
|
||||
index d365ab1..1a02701 100644
|
||||
index 44c9f2f..454aa09 100644
|
||||
--- a/build/win32/code.iss
|
||||
+++ b/build/win32/code.iss
|
||||
@@ -28,3 +28,3 @@ ChangesEnvironment=true
|
||||
ChangesAssociations=true
|
||||
-MinVersion=6.2
|
||||
-MinVersion=10.0
|
||||
+MinVersion=6.1.7600
|
||||
SourceDir={#SourceDir}
|
||||
@@ -1,8 +1,11 @@
|
||||
#!/bin/bash
|
||||
#!/usr/bin/env bash
|
||||
# shellcheck disable=SC1091
|
||||
|
||||
set -e
|
||||
|
||||
APP_NAME_LC=$( echo "${APP_NAME}" | awk '{print tolower($0)}' )
|
||||
APP_NAME_LC="$( echo "${APP_NAME}" | awk '{print tolower($0)}' )"
|
||||
|
||||
. ./utils.sh
|
||||
|
||||
npm install -g checksum
|
||||
|
||||
@@ -17,33 +20,58 @@ sum_file() {
|
||||
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
|
||||
@@ -58,8 +86,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
|
||||
|
||||
@@ -68,6 +96,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; }
|
||||
@@ -75,7 +110,7 @@ elif [[ "${OS_NAME}" == "windows" ]]; then
|
||||
yarn gulp "vscode-win32-${VSCODE_ARCH}-inno-updater"
|
||||
|
||||
if [[ "${SHOULD_BUILD_ZIP}" != "no" ]]; then
|
||||
yarn gulp "vscode-win32-${VSCODE_ARCH}-archive"
|
||||
7z.exe a -tzip "../assets/${APP_NAME}-win32-${VSCODE_ARCH}-${RELEASE_VERSION}.zip" -x!CodeSignSummary*.md -x!tools "../VSCode-win32-${VSCODE_ARCH}/*" -r
|
||||
fi
|
||||
|
||||
if [[ "${SHOULD_BUILD_EXE_SYS}" != "no" ]]; then
|
||||
@@ -98,11 +133,6 @@ elif [[ "${OS_NAME}" == "windows" ]]; then
|
||||
|
||||
cd ..
|
||||
|
||||
if [[ "${SHOULD_BUILD_ZIP}" != "no" ]]; then
|
||||
echo "Moving ZIP"
|
||||
mv "vscode\\.build\\win32-${VSCODE_ARCH}\\archive\\VSCode-win32-${VSCODE_ARCH}.zip" "assets\\${APP_NAME}-win32-${VSCODE_ARCH}-${RELEASE_VERSION}.zip"
|
||||
fi
|
||||
|
||||
if [[ "${SHOULD_BUILD_EXE_SYS}" != "no" ]]; then
|
||||
echo "Moving System EXE"
|
||||
mv "vscode\\.build\\win32-${VSCODE_ARCH}\\system-setup\\VSCodeSetup.exe" "assets\\${APP_NAME}Setup-${VSCODE_ARCH}-${RELEASE_VERSION}.exe"
|
||||
@@ -129,6 +159,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
|
||||
@@ -143,6 +177,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}"
|
||||
@@ -179,8 +221,7 @@ fi
|
||||
|
||||
cd assets
|
||||
|
||||
for FILE in *
|
||||
do
|
||||
for FILE in *; do
|
||||
if [[ -f "${FILE}" ]]; then
|
||||
sum_file "${FILE}"
|
||||
fi
|
||||
|
||||
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 ..
|
||||
@@ -1,4 +1,5 @@
|
||||
#!/bin/bash
|
||||
#!/usr/bin/env bash
|
||||
# shellcheck disable=SC1091,2154
|
||||
|
||||
set -e
|
||||
|
||||
@@ -21,70 +22,110 @@ cd vscode || { echo "'vscode' dir not found"; exit 1; }
|
||||
{ set +x; } 2>/dev/null
|
||||
|
||||
for file in ../patches/*.patch; do
|
||||
if [ -f "${file}" ]; then
|
||||
if [[ -f "${file}" ]]; then
|
||||
echo applying patch: "${file}";
|
||||
git apply --ignore-whitespace "${file}"
|
||||
if [ $? -ne 0 ]; then
|
||||
echo failed to apply patch "${file}" 1>&2
|
||||
# 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
|
||||
fi
|
||||
fi
|
||||
done
|
||||
|
||||
if [[ "${VSCODE_QUALITY}" == "insider" ]]; then
|
||||
for file in ../patches/insider/*.patch; do
|
||||
if [ -f "${file}" ]; then
|
||||
if [[ -f "${file}" ]]; then
|
||||
echo applying patch: "${file}";
|
||||
git apply --ignore-whitespace "${file}"
|
||||
if [ $? -ne 0 ]; then
|
||||
echo failed to apply patch "${file}" 1>&2
|
||||
if ! git apply --ignore-whitespace "${file}"; then
|
||||
echo failed to apply patch "${file}" >&2
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
done
|
||||
fi
|
||||
|
||||
for file in ../patches/user/*.patch; do
|
||||
if [ -f "${file}" ]; then
|
||||
if [[ -f "${file}" ]]; then
|
||||
echo applying user patch: "${file}";
|
||||
git apply --ignore-whitespace "${file}"
|
||||
if [ $? -ne 0 ]; then
|
||||
echo failed to apply patch "${file}" 1>&2
|
||||
if ! git apply --ignore-whitespace "${file}"; then
|
||||
echo failed to apply patch "${file}" >&2
|
||||
exit 1
|
||||
fi
|
||||
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
|
||||
|
||||
if [[ "${OS_NAME}" == "osx" ]]; then
|
||||
CHILD_CONCURRENCY=1 yarn --frozen-lockfile
|
||||
export ELECTRON_SKIP_BINARY_DOWNLOAD=1
|
||||
export PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD=1
|
||||
|
||||
if [[ "${OS_NAME}" == "linux" ]]; then
|
||||
export VSCODE_SKIP_NODE_VERSION_CHECK=1
|
||||
|
||||
if [[ "${npm_config_arch}" == "arm" ]]; then
|
||||
export npm_config_arm_version=7
|
||||
fi
|
||||
|
||||
CHILD_CONCURRENCY=1 yarn --frozen-lockfile --check-files --network-timeout 180000
|
||||
elif [[ "${OS_NAME}" == "osx" ]]; then
|
||||
CHILD_CONCURRENCY=1 yarn --frozen-lockfile --network-timeout 180000
|
||||
|
||||
yarn postinstall
|
||||
elif [[ "${npm_config_arch}" == "armv7l" || "${npm_config_arch}" == "ia32" ]]; then
|
||||
# node-gyp@9.0.0 shipped with node@16.15.0 starts using config.gypi
|
||||
# from the custom headers path if dist-url option was set, instead of
|
||||
# using the config value from the process. Electron builds with pointer compression
|
||||
# enabled for x64 and arm64, but incorrectly ships a single copy of config.gypi
|
||||
# with v8_enable_pointer_compression option always set for all target architectures.
|
||||
# We use the force_process_config option to use the config.gypi from the
|
||||
# nodejs process executing npm for 32-bit architectures.
|
||||
export npm_config_force_process_config="true"
|
||||
CHILD_CONCURRENCY=1 yarn --frozen-lockfile
|
||||
else
|
||||
CHILD_CONCURRENCY=1 yarn --frozen-lockfile
|
||||
# TODO: Should be replaced with upstream URL once https://github.com/nodejs/node-gyp/pull/2825
|
||||
# gets merged.
|
||||
rm -rf .build/node-gyp
|
||||
mkdir -p .build/node-gyp
|
||||
cd .build/node-gyp
|
||||
|
||||
git config --global user.email "$( echo "${GITHUB_USERNAME}" | awk '{print tolower($0)}' )-ci@not-real.com"
|
||||
git config --global user.name "${GITHUB_USERNAME} CI"
|
||||
git clone https://github.com/nodejs/node-gyp.git .
|
||||
git checkout v10.0.1
|
||||
npm install
|
||||
|
||||
npm_config_node_gyp="$( pwd )/bin/node-gyp.js"
|
||||
export npm_config_node_gyp
|
||||
|
||||
cd ../..
|
||||
|
||||
if [[ "${npm_config_arch}" == "arm" ]]; then
|
||||
export npm_config_arm_version=7
|
||||
fi
|
||||
|
||||
CHILD_CONCURRENCY=1 yarn --frozen-lockfile --check-files --network-timeout 180000
|
||||
fi
|
||||
|
||||
setpath() {
|
||||
local jsonTmp
|
||||
{ set +x; } 2>/dev/null
|
||||
echo "$( cat "${1}.json" | jq --arg 'path' "${2}" --arg 'value' "${3}" 'setpath([$path]; $value)' )" > "${1}.json"
|
||||
jsonTmp=$( jq --arg 'path' "${2}" --arg 'value' "${3}" 'setpath([$path]; $value)' "${1}.json" )
|
||||
echo "${jsonTmp}" > "${1}.json"
|
||||
set -x
|
||||
}
|
||||
|
||||
setpath_json() {
|
||||
local jsonTmp
|
||||
{ set +x; } 2>/dev/null
|
||||
echo "$( cat "${1}.json" | jq --arg 'path' "${2}" --argjson 'value' "${3}" 'setpath([$path]; $value)' )" > "${1}.json"
|
||||
jsonTmp=$( jq --arg 'path' "${2}" --argjson 'value' "${3}" 'setpath([$path]; $value)' "${1}.json" )
|
||||
echo "${jsonTmp}" > "${1}.json"
|
||||
set -x
|
||||
}
|
||||
|
||||
# product.json
|
||||
cp product.json product.json.bak
|
||||
cp product.json{,.bak}
|
||||
|
||||
setpath "product" "checksumFailMoreInfoUrl" "https://go.microsoft.com/fwlink/?LinkId=828886"
|
||||
setpath "product" "documentationUrl" "https://go.microsoft.com/fwlink/?LinkID=533484#vscode"
|
||||
@@ -103,6 +144,7 @@ setpath "product" "twitterUrl" "https://go.microsoft.com/fwlink/?LinkID=533687"
|
||||
|
||||
if [[ "${DISABLE_UPDATE}" != "yes" ]]; then
|
||||
setpath "product" "updateUrl" "https://vscodium.now.sh"
|
||||
setpath "product" "downloadUrl" "https://github.com/VSCodium/vscodium/releases"
|
||||
fi
|
||||
|
||||
if [[ "${VSCODE_QUALITY}" == "insider" ]]; then
|
||||
@@ -152,20 +194,21 @@ else
|
||||
setpath "product" "win32arm64UserAppId" "{{57FD70A5-1B8D-4875-9F40-C5553F094828}"
|
||||
fi
|
||||
|
||||
echo "$( jq -s '.[0] * .[1]' product.json ../product.json )" > product.json
|
||||
jsonTmp=$( jq -s '.[0] * .[1]' product.json ../product.json )
|
||||
echo "${jsonTmp}" > product.json && unset jsonTmp
|
||||
|
||||
cat product.json
|
||||
|
||||
# package.json
|
||||
cp package.json package.json.bak
|
||||
cp package.json{,.bak}
|
||||
|
||||
setpath "package" "version" $( echo "${RELEASE_VERSION}" | sed -n -E "s/^(.*)\.([0-9]+)(-insider)?$/\1/p" )
|
||||
setpath "package" "release" $( echo "${RELEASE_VERSION}" | sed -n -E "s/^(.*)\.([0-9]+)(-insider)?$/\2/p" )
|
||||
setpath "package" "version" "$( echo "${RELEASE_VERSION}" | sed -n -E "s/^(.*)\.([0-9]+)(-insider)?$/\1/p" )"
|
||||
setpath "package" "release" "$( echo "${RELEASE_VERSION}" | sed -n -E "s/^(.*)\.([0-9]+)(-insider)?$/\2/p" )"
|
||||
|
||||
replace 's|Microsoft Corporation|VSCodium|' package.json
|
||||
|
||||
# announcements
|
||||
replace "s|\\[\\/\\* BUILTIN_ANNOUNCEMENTS \\*\\/\\]|$( cat ../announcements-builtin.json | tr -d '\n' )|" src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStarted.ts
|
||||
replace "s|\\[\\/\\* BUILTIN_ANNOUNCEMENTS \\*\\/\\]|$( tr -d '\n' < ../announcements-builtin.json )|" src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStarted.ts
|
||||
|
||||
../undo_telemetry.sh
|
||||
|
||||
|
||||
141
product.json
@@ -48,13 +48,17 @@
|
||||
],
|
||||
"extensionEnabledApiProposals": {
|
||||
"ms-vscode.vscode-selfhost-test-provider": [
|
||||
"testObserver"
|
||||
"testObserver",
|
||||
"testRelatedCode",
|
||||
"attributableCoverage"
|
||||
],
|
||||
"VisualStudioExptTeam.vscodeintellicode-completions": [
|
||||
"inlineCompletionsAdditions"
|
||||
],
|
||||
"ms-vsliveshare.vsliveshare": [
|
||||
"contribMenuBarHome",
|
||||
"contribShareMenu",
|
||||
"contribStatusBarItems",
|
||||
"diffCommand",
|
||||
"documentFiltersExclusive",
|
||||
"fileSearchProvider",
|
||||
@@ -75,9 +79,15 @@
|
||||
"resolvers"
|
||||
],
|
||||
"ms-python.python": [
|
||||
"contribEditorContentMenu",
|
||||
"quickPickSortByLabel",
|
||||
"portsAttributes",
|
||||
"testObserver",
|
||||
"telemetryLogger"
|
||||
"quickPickItemTooltip",
|
||||
"terminalDataWriteEvent",
|
||||
"terminalExecuteCommandEvent",
|
||||
"contribIssueReporter",
|
||||
"terminalShellIntegration"
|
||||
],
|
||||
"ms-dotnettools.dotnet-interactive-vscode": [
|
||||
"notebookMessaging"
|
||||
@@ -96,10 +106,10 @@
|
||||
"ms-vscode.azure-repos": [
|
||||
"extensionRuntime",
|
||||
"fileSearchProvider",
|
||||
"telemetryLogger",
|
||||
"textSearchProvider"
|
||||
],
|
||||
"ms-vscode.remote-repositories": [
|
||||
"canonicalUriProvider",
|
||||
"contribEditSessions",
|
||||
"contribRemoteHelp",
|
||||
"contribMenuBarHome",
|
||||
@@ -112,15 +122,16 @@
|
||||
"fileSearchProvider",
|
||||
"quickPickSortByLabel",
|
||||
"workspaceTrust",
|
||||
"shareProvider",
|
||||
"scmActionButton",
|
||||
"scmSelectedProvider",
|
||||
"scmValidation",
|
||||
"telemetryLogger",
|
||||
"textSearchProvider",
|
||||
"timeline"
|
||||
],
|
||||
"ms-vscode-remote.remote-wsl": [
|
||||
"resolvers",
|
||||
"contribRemoteHelp",
|
||||
"contribViewsRemote",
|
||||
"telemetry"
|
||||
],
|
||||
@@ -128,22 +139,28 @@
|
||||
"resolvers",
|
||||
"tunnels",
|
||||
"terminalDataWriteEvent",
|
||||
"contribRemoteHelp",
|
||||
"contribViewsRemote",
|
||||
"telemetry"
|
||||
],
|
||||
"ms-vscode.remote-server": [
|
||||
"resolvers"
|
||||
"resolvers",
|
||||
"tunnels",
|
||||
"contribViewsWelcome"
|
||||
],
|
||||
"ms-vscode.remote-explorer": [
|
||||
"contribRemoteHelp",
|
||||
"contribViewsRemote",
|
||||
"extensionsAny"
|
||||
],
|
||||
"ms-vscode-remote.remote-containers": [
|
||||
"contribEditSessions",
|
||||
"resolvers",
|
||||
"portsAttributes",
|
||||
"tunnels",
|
||||
"workspaceTrust",
|
||||
"terminalDimensions",
|
||||
"contribRemoteHelp",
|
||||
"contribViewsRemote"
|
||||
],
|
||||
"ms-vscode.js-debug-nightly": [
|
||||
@@ -155,22 +172,73 @@
|
||||
"ms-vscode.lsif-browser": [
|
||||
"documentFiltersExclusive"
|
||||
],
|
||||
"ms-vscode.vscode-speech": [
|
||||
"speech"
|
||||
],
|
||||
"GitHub.vscode-pull-request-github": [
|
||||
"contribCommentThreadAdditionalMenu",
|
||||
"tokenInformation",
|
||||
"commentsResolvedState",
|
||||
"contribShareMenu",
|
||||
"contribCommentPeekContext",
|
||||
"treeItemCheckbox",
|
||||
"activeComment",
|
||||
"codiconDecoration",
|
||||
"diffCommand"
|
||||
"codeActionRanges",
|
||||
"commentingRangeHint",
|
||||
"commentReactor",
|
||||
"commentReveal",
|
||||
"commentThreadApplicability",
|
||||
"contribAccessibilityHelpContent",
|
||||
"contribCommentEditorActionsMenu",
|
||||
"contribCommentPeekContext",
|
||||
"contribCommentThreadAdditionalMenu",
|
||||
"contribCommentsViewThreadMenus",
|
||||
"contribEditorContentMenu",
|
||||
"contribMultiDiffEditorMenus",
|
||||
"contribShareMenu",
|
||||
"diffCommand",
|
||||
"fileComments",
|
||||
"quickDiffProvider",
|
||||
"shareProvider",
|
||||
"tabInputTextMerge",
|
||||
"tokenInformation",
|
||||
"treeViewMarkdownMessage"
|
||||
],
|
||||
"GitHub.copilot": [
|
||||
"authGetSessions",
|
||||
"inlineCompletionsAdditions"
|
||||
],
|
||||
"GitHub.copilot-nightly": [
|
||||
"inlineCompletionsAdditions"
|
||||
],
|
||||
"GitHub.copilot-chat": [
|
||||
"interactive",
|
||||
"terminalDataWriteEvent",
|
||||
"terminalExecuteCommandEvent",
|
||||
"terminalSelection",
|
||||
"terminalQuickFixProvider",
|
||||
"chatParticipantAdditions",
|
||||
"defaultChatParticipant",
|
||||
"embeddings",
|
||||
"chatVariableResolver",
|
||||
"chatProvider",
|
||||
"mappedEditsProvider",
|
||||
"aiRelatedInformation",
|
||||
"codeActionAI",
|
||||
"findTextInFiles",
|
||||
"textSearchProvider",
|
||||
"activeComment",
|
||||
"commentReveal",
|
||||
"contribSourceControlInputBoxMenu",
|
||||
"contribCommentEditorActionsMenu",
|
||||
"contribCommentThreadAdditionalMenu",
|
||||
"contribCommentsViewThreadMenus",
|
||||
"newSymbolNamesProvider",
|
||||
"findFiles2",
|
||||
"extensionsAny",
|
||||
"authGetSessions",
|
||||
"authLearnMore",
|
||||
"testObserver",
|
||||
"aiTextSearchProvider",
|
||||
"documentFiltersExclusive",
|
||||
"chatParticipantPrivate",
|
||||
"lmTools"
|
||||
],
|
||||
"GitHub.remotehub": [
|
||||
"contribRemoteHelp",
|
||||
"contribMenuBarHome",
|
||||
@@ -184,8 +252,7 @@
|
||||
"scmSelectedProvider",
|
||||
"scmValidation",
|
||||
"textSearchProvider",
|
||||
"timeline",
|
||||
"telemetryLogger"
|
||||
"timeline"
|
||||
],
|
||||
"ms-python.gather": [
|
||||
"notebookCellExecutionState"
|
||||
@@ -193,11 +260,16 @@
|
||||
"ms-python.vscode-pylance": [
|
||||
"notebookCellExecutionState"
|
||||
],
|
||||
"ms-python.debugpy": [
|
||||
"contribIssueReporter",
|
||||
"contribViewsWelcome",
|
||||
"debugVisualization",
|
||||
"portsAttributes"
|
||||
],
|
||||
"ms-toolsai.jupyter-renderers": [
|
||||
"contribNotebookStaticPreloads"
|
||||
],
|
||||
"ms-toolsai.jupyter": [
|
||||
"notebookControllerKind",
|
||||
"notebookDeprecated",
|
||||
"notebookMessaging",
|
||||
"notebookMime",
|
||||
@@ -207,7 +279,11 @@
|
||||
"notebookKernelSource",
|
||||
"interactiveWindow",
|
||||
"notebookControllerAffinityHidden",
|
||||
"contribNotebookStaticPreloads"
|
||||
"contribNotebookStaticPreloads",
|
||||
"quickPickItemTooltip",
|
||||
"notebookExecution",
|
||||
"notebookCellExecution",
|
||||
"notebookVariableProvider"
|
||||
],
|
||||
"dbaeumer.vscode-eslint": [
|
||||
"notebookCellExecutionState"
|
||||
@@ -218,6 +294,15 @@
|
||||
"ms-azuretools.vscode-azureappservice": [
|
||||
"terminalDataWriteEvent"
|
||||
],
|
||||
"ms-azuretools.vscode-azureresourcegroups": [
|
||||
"authGetSessions"
|
||||
],
|
||||
"ms-azuretools.vscode-azure-github-copilot": [
|
||||
"chatParticipantAdditions",
|
||||
"embeddings",
|
||||
"languageModelSystem",
|
||||
"lmTools"
|
||||
],
|
||||
"ms-vscode.anycode": [
|
||||
"extensionsAny"
|
||||
],
|
||||
@@ -227,10 +312,34 @@
|
||||
"redhat.java": [
|
||||
"documentPaste"
|
||||
],
|
||||
"ms-dotnettools.csdevkit": [
|
||||
"inlineCompletionsAdditions"
|
||||
],
|
||||
"ms-dotnettools.vscodeintellicode-csharp": [
|
||||
"inlineCompletionsAdditions"
|
||||
],
|
||||
"microsoft-IsvExpTools.powerplatform-vscode": [
|
||||
"fileSearchProvider",
|
||||
"textSearchProvider"
|
||||
],
|
||||
"microsoft-IsvExpTools.powerplatform-vscode-preview": [
|
||||
"fileSearchProvider",
|
||||
"textSearchProvider"
|
||||
],
|
||||
"TeamsDevApp.ms-teams-vscode-extension": [
|
||||
"chatParticipantAdditions",
|
||||
"languageModelSystem"
|
||||
],
|
||||
"jeanp413.open-remote-ssh": [
|
||||
"resolvers",
|
||||
"tunnels",
|
||||
"terminalDataWriteEvent",
|
||||
"contribRemoteHelp",
|
||||
"contribViewsRemote"
|
||||
],
|
||||
"jeanp413.open-remote-wsl": [
|
||||
"resolvers",
|
||||
"contribRemoteHelp",
|
||||
"contribViewsRemote"
|
||||
]
|
||||
},
|
||||
|
||||
12
release.sh
@@ -1,8 +1,8 @@
|
||||
#!/bin/bash
|
||||
#!/usr/bin/env bash
|
||||
|
||||
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
|
||||
@@ -19,7 +19,7 @@ if [[ $( gh release view --repo "${ASSETS_REPOSITORY}" "${RELEASE_VERSION}" 2>&1
|
||||
NOTES="update vscode to [${MS_COMMIT}](https://github.com/microsoft/vscode/tree/${MS_COMMIT})"
|
||||
CREATE_OPTIONS=""
|
||||
else
|
||||
NOTES="update vscode to [${MS_TAG}](https://code.visualstudio.com/updates/v$( echo ${MS_TAG//./_} | cut -d'_' -f 1,2 ))"
|
||||
NOTES="update vscode to [${MS_TAG}](https://code.visualstudio.com/updates/v$( echo "${MS_TAG//./_}" | cut -d'_' -f 1,2 ))"
|
||||
CREATE_OPTIONS="--generate-notes"
|
||||
fi
|
||||
|
||||
@@ -30,8 +30,7 @@ cd assets
|
||||
|
||||
set +e
|
||||
|
||||
for FILE in *
|
||||
do
|
||||
for FILE in *; do
|
||||
if [[ -f "${FILE}" ]] && [[ "${FILE}" != *.sha1 ]] && [[ "${FILE}" != *.sha256 ]]; then
|
||||
echo "::group::Uploading '${FILE}' at $( date "+%T" )"
|
||||
gh release upload --repo "${ASSETS_REPOSITORY}" "${RELEASE_VERSION}" "${FILE}" "${FILE}.sha1" "${FILE}.sha256"
|
||||
@@ -40,8 +39,7 @@ do
|
||||
echo "exit: ${EXIT_STATUS}"
|
||||
|
||||
if (( "${EXIT_STATUS}" )); then
|
||||
for (( i=0; i<10; i++ ))
|
||||
do
|
||||
for (( i=0; i<10; i++ )); do
|
||||
github-release delete --owner "${REPOSITORY_OWNER}" --repo "${REPOSITORY_NAME}" --tag "${RELEASE_VERSION}" "${FILE}" "${FILE}.sha1" "${FILE}.sha256"
|
||||
|
||||
sleep $(( 15 * (i + 1)))
|
||||
|
||||