docs: update sections around VS Code fork (#4571)
* docs(CONTRIBUTING): update workflow based on vscode changes * docs(MAINTAINING): add section for syncing VS Code upstream Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
This commit is contained in:
parent
80f30fc42c
commit
d15731a570
@ -84,32 +84,31 @@ Here are these steps you should follow to get your dev environment setup:
|
|||||||
|
|
||||||
1. `git clone https://github.com/cdr/code-server.git` - Clone `code-server`
|
1. `git clone https://github.com/cdr/code-server.git` - Clone `code-server`
|
||||||
2. `git clone https://github.com/cdr/vscode.git` - Clone `vscode`
|
2. `git clone https://github.com/cdr/vscode.git` - Clone `vscode`
|
||||||
3. `cd vscode && git checkout code-server-v2` - checkout the branch we use (not the default)
|
3. `cd vscode && yarn install` - install the dependencies in the `vscode` repo
|
||||||
4. `cd vscode && yarn install` - install the dependencies in the `vscode` repo
|
4. `cd code-server && yarn install` - install the dependencies in the `code-server` repo
|
||||||
5. `cd code-server && yarn install` - install the dependencies in the `code-server` repo
|
5. `cd vscode && yarn link` - use `yarn` to create a symlink to the `vscode` repo (`code-oss-dev` package)
|
||||||
6. `cd vscode && yarn link` - use `yarn` to create a symlink to the `vscode` repo (`code-oss-dev` package)
|
6. `cd code-server && yarn link code-oss-dev --modules-folder vendor/modules` - links your local `vscode` repo (`code-oss-dev` package) inside your local version of code-server
|
||||||
7. `cd code-server && yarn link code-oss-dev --modules-folder vendor/modules` - links your local `vscode` repo (`code-oss-dev` package) inside your local version of code-server
|
7. `cd code-server && yarn watch` - this will spin up code-server on localhost:8080 which you can start developing. It will live reload changes to the source.
|
||||||
8. `cd code-server && yarn watch` - this will spin up code-server on localhost:8080 which you can start developing. It will live reload changes to the source.
|
|
||||||
|
|
||||||
### Updates to VS Code
|
### Updates to VS Code
|
||||||
|
|
||||||
If changes are made and merged into `code-server-v2` in the `cdr/vscode` repo, then you'll need to update the version in the `code-server` repo by following these steps:
|
If changes are made and merged into `main` in the [`cdr/vscode`](https://github.com/cdr/vscode) repo, then you'll need to update the version in the `code-server` repo by following these steps:
|
||||||
|
|
||||||
1. Update the package tag listed in `vendor/package.json`:
|
1. Update the package tag listed in `vendor/package.json`:
|
||||||
|
|
||||||
```json
|
```json
|
||||||
{
|
{
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"vscode": "cdr/vscode#X.XX.X-code-server"
|
"vscode": "cdr/vscode#<latest-commit-sha>"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
1. From the code-server **project root**, run `yarn install`.
|
2. From the code-server **project root**, run `yarn install`.
|
||||||
Then, test code-server locally to make sure everything works.
|
Then, test code-server locally to make sure everything works.
|
||||||
1. Check the Node.js version that's used by Electron (which is shipped with VS
|
3. Check the Node.js version that's used by Electron (which is shipped with VS
|
||||||
Code. If necessary, update your version of Node.js to match.
|
Code. If necessary, update your version of Node.js to match.
|
||||||
1. Open a PR
|
4. Open a PR
|
||||||
|
|
||||||
> Watch for updates to
|
> Watch for updates to
|
||||||
> `vendor/modules/code-oss-dev/src/vs/code/browser/workbench/workbench.html`. You may need to
|
> `vendor/modules/code-oss-dev/src/vs/code/browser/workbench/workbench.html`. You may need to
|
||||||
|
@ -19,6 +19,7 @@
|
|||||||
- [Docker](#docker)
|
- [Docker](#docker)
|
||||||
- [Homebrew](#homebrew)
|
- [Homebrew](#homebrew)
|
||||||
- [npm](#npm)
|
- [npm](#npm)
|
||||||
|
- [Syncing with Upstream VS Code](#syncing-with-upstream-vs-code)
|
||||||
- [Testing](#testing)
|
- [Testing](#testing)
|
||||||
- [Documentation](#documentation)
|
- [Documentation](#documentation)
|
||||||
- [Troubleshooting](#troubleshooting)
|
- [Troubleshooting](#troubleshooting)
|
||||||
@ -126,8 +127,7 @@ the issue.
|
|||||||
|
|
||||||
### Merge strategies
|
### Merge strategies
|
||||||
|
|
||||||
For most things, we recommend the **squash and merge** strategy. If you're
|
For most things, we recommend the **squash and merge** strategy. There
|
||||||
updating `lib/vscode`, we suggest using the **rebase and merge** strategy. There
|
|
||||||
may be times where **creating a merge commit** makes sense as well. Use your
|
may be times where **creating a merge commit** makes sense as well. Use your
|
||||||
best judgment. If you're unsure, you can always discuss in the PR with the team.
|
best judgment. If you're unsure, you can always discuss in the PR with the team.
|
||||||
|
|
||||||
@ -215,6 +215,18 @@ We publish code-server as a npm package [here](https://www.npmjs.com/package/cod
|
|||||||
|
|
||||||
This is currently automated with the release process.
|
This is currently automated with the release process.
|
||||||
|
|
||||||
|
## Syncing with Upstream VS Code
|
||||||
|
|
||||||
|
The VS Code portion of code-server lives under [`cdr/vscode`](https://github.com/cdr/vscode). To update VS Code for code-server, follow these steps:
|
||||||
|
|
||||||
|
1. `git checkout -b vscode-update` - Create a new branch locally based off `main`
|
||||||
|
2. `git fetch upstream` - Fetch upstream (VS Code)'s latest `main` branch
|
||||||
|
3. `git merge upstream/main` - Merge it locally
|
||||||
|
1. If there are merge conflicts, fix them locally
|
||||||
|
4. Open a PR merging your branch (`vscode-update`) into `main` and add the code-server review team
|
||||||
|
|
||||||
|
Ideally, our fork stays as close to upstream as possible. See the differences between our fork and upstream [here](https://github.com/microsoft/vscode/compare/main...cdr:main).
|
||||||
|
|
||||||
## Testing
|
## Testing
|
||||||
|
|
||||||
Our testing structure is laid out under our [Contributing docs](https://coder.com/docs/code-server/latest/CONTRIBUTING#test).
|
Our testing structure is laid out under our [Contributing docs](https://coder.com/docs/code-server/latest/CONTRIBUTING#test).
|
||||||
|
Reference in New Issue
Block a user