Deploy Code-OSS
on a kubernetes cluster and connect with your Browser.
This repository is hosting the changes to have the Code-OSS
running inside a Browser and connecting to a remote HTTP(s) server (instead of using Desktop mode).
The terminal is aware of the running Pod. Then, you can open terminals in every container of the running pod (if the containers have shell access).
Upstream Code-OSS
is stored using Git subtree. It means that if you're not interested in updating/rebasing upstream code you don't need to setup anything else unlike git submodules. This repository is self-contained.
- NodeJS version used by
Code-OSS
(Exact version can be find inside https://github.com/microsoft/vscode/blob/main/remote/.yarnrc with target property) - Yarn v1.x
code
contains the upstream content (subtree) + changes required to have Code running in a remote server.build/dockerfiles
are for building a container.package.json
holds some top-level scripts that you can find also in thecode
folder.
- Fetch dependencies with
yarn
command - Compile and watch folders:
yarn run watch
- Run the server (another terminal for example):
yarn run server
docker build -f build/dockerfiles/linux-musl.Dockerfile -t linux-musl-amd64 .
docker build -f build/dockerfiles/linux-libc.Dockerfile -t linux-libc-amd64 .
export DOCKER_BUILDKIT=1
docker build -f build/dockerfiles/assembly.Dockerfile -t che-code .
This repository has a main branch being rebased on the main remote branch of Code-OSS
.
Then, for each stable version of Code-OSS
there is a matching branch.
For example remote release/1.60
is handled locally as a 1.62.x
branch.
Add the Code-OSS
remote by using for example the following command:
$ git remote add upstream-code https://github.com/microsoft/vscode
For a release branch:
$ git subtree pull --prefix code upstream-code release/1.62
For the main branch:
$ git subtree pull --prefix code upstream-code main
For a release branch:
$ git diff upstream-code/release/1.62 1.62.x:code
For a main branch:
$ git diff upstream-code/main main:code
How to fix the rebase-insiders
Workflow?
Upstream VS Code changes may bring a breakage to Che-Code. In this case, the rebase-insiders
Workflow run is failed. To fix it, follow the steps below:
- Checkout to a new branch, e.g.
fix-rebase
. - Fetch the latest changes from the upstream:
git remote add upstream-code https://github.com/microsoft/vscode
git fetch upstream-code main
./rebase.sh
- Fix the conflicts or other errors. Note, that
./rebase.sh
script also apllies the patches from the.rebase
directory. Sometimes, it also requires some updates there. - Open a PR with your changes.