Go to file
Joe Previte c51ff3bce1
refactor: move integration tests to Jest (#5275)
* feat: add installExtension integration test

This adds a new helper function called `runCodeServerCommand` along with
a test for `--install-extension`. We can use this approach for writing
integration tests (i.e. testing a real code-server build, CLI commands,
etc).

* refactor: s/ test:standalone with test:integration

This replaces our integration approach to use Jest instead of a single
bash script. By doing this, we will be able to easily maintain and add
to our integration test suite.

* refactor: filter unit tests

Now that our integration tests also use Jest, we need to update our unit
test script to ignore `test/integration`.

* refactor: add SKIP_SUBMODULE_DEPS to postinstall

* refactor: add SKIP_SUBMODULE_DEPS to postinstall

* fixup!: skip submod deps

* refactor: move runCodeServerCommand into sep. file

When Jest runs a test, it loads all the files and imports for that test.
This means you might be "requiring" code that's unrelated to your tests.

This leads to unexpected errors depending on where the code runs.

Moved this file to avoid GLIBC and other errors relaed to argon2 when
running integration tests in CI.

* fizup: formatting

* fizup: increase timeout

* refactor: use fixture in installExtension test

Instead of relying on a network to install an extension, we use a
fixture - vsix file in the repo. This is also faster.

* feat: add integration test for listExtensions

* chore: ignore integration fixtures

* fixup: formatting

* fixup: remove custom-hacks.css

* fixup: formatting

* Update test/integration/installExtension.test.ts

Co-authored-by: Asher <ash@coder.com>

* Update test/integration/listExtensions.test.ts

Co-authored-by: Asher <ash@coder.com>

* Update test/integration/installExtension.test.ts

Co-authored-by: Asher <ash@coder.com>

* Update test/integration/listExtensions.test.ts

Co-authored-by: Asher <ash@coder.com>

* fixup: contributing integration tests section

* fixup: update ci/readme

* fixup: use RELEASE_PATH in test-integration.sh

* refactor: unzip vsix for listExtensions

* refactor: use exec instead of spawn

* Update docs/CONTRIBUTING.md

Co-authored-by: Asher <ash@coder.com>

* Update test/integration/listExtensions.test.ts

Co-authored-by: Asher <ash@coder.com>

* Update test/integration/listExtensions.test.ts

Co-authored-by: Asher <ash@coder.com>

* Update test/integration/listExtensions.test.ts

Co-authored-by: Asher <ash@coder.com>

* refactor: use different default binary path

* fixup!: formatting

Co-authored-by: Asher <ash@coder.com>
2022-06-24 16:33:38 +00:00
.github refactor: move integration tests to Jest (#5275) 2022-06-24 16:33:38 +00:00
.tours docs: rename master to main in all github doc links (#5190) 2022-05-11 14:39:57 -07:00
ci refactor: move integration tests to Jest (#5275) 2022-06-24 16:33:38 +00:00
docs refactor: move integration tests to Jest (#5275) 2022-06-24 16:33:38 +00:00
lib chore: update Code to 1.68 (#5263) 2022-06-21 21:51:46 +00:00
patches chore: update Code to 1.68 (#5263) 2022-06-21 21:51:46 +00:00
src chore: update Code to 1.68 (#5263) 2022-06-21 21:51:46 +00:00
test refactor: move integration tests to Jest (#5275) 2022-06-24 16:33:38 +00:00
typings docs: Update some more links (#4806) 2022-02-01 09:45:19 -07:00
.dockerignore Simplify packaging and improve scripts 2020-05-08 01:04:24 -04:00
.editorconfig Revert .editorconfig (#4640) 2021-12-16 15:30:07 -06:00
.eslintrc.yaml chore: replace eslint-import-resolver-alias with eslint-import-resolver-typescript (#4546) 2021-12-07 14:39:01 -07:00
.gitattributes browser: Add favicon.afdesign 2021-01-08 23:03:34 -05:00
.gitignore chore(Code): upgrade to 1.65 (#5047) 2022-03-30 18:33:58 -05:00
.gitmodules chore: move to patches (#4997) 2022-03-22 15:07:14 -05:00
.node-version chore: upgrade developmemt node version to v16 (#5167) 2022-05-06 09:57:19 -05:00
.nvmrc chore: Update dependency requirements. Fix node version manager. 2021-07-21 14:32:16 -04:00
.prettierrc.yaml chore: move Code to a submodule (#4990) 2022-03-14 21:37:29 -05:00
.stylelintrc.yaml Fix bugs in CI 2020-02-18 19:06:35 -05:00
CHANGELOG.md release: 4.4.0 (#5169) 2022-05-06 13:45:49 -07:00
LICENSE chore: remove file ext. from LICENSE (#5070) 2022-04-07 10:36:33 -07:00
ThirdPartyNotices.txt Add ThirdPartyNotices.txt 2020-07-16 19:01:09 -06:00
install.sh feat: Add a shrinkwrap file to the NPM release (#5010) 2022-03-29 12:33:56 -05:00
package.json refactor: move integration tests to Jest (#5275) 2022-06-24 16:33:38 +00:00
renovate.json chore(rennovate): ignore updates for express (#5044) 2022-03-30 13:25:37 -07:00
tsconfig.json chore: move Code to a submodule (#4990) 2022-03-14 21:37:29 -05:00
yarn.lock chore(deps): update minor dependency updates (#5244) 2022-06-15 13:29:52 -07:00

docs/README.md

code-server

"GitHub Discussions" "Join us on Slack" Twitter Follow codecov See latest

Run VS Code on any machine anywhere and access it in the browser.

Screenshot

Highlights

  • Code on any device with a consistent development environment
  • Use cloud servers to speed up tests, compilations, downloads, and more
  • Preserve battery life when you're on the go; all intensive tasks run on your server

Note To manage multiple IDEs, workspaces, and teams, see our new project: coder/coder

Requirements

See requirements for minimum specs, as well as instructions on how to set up a Google VM on which you can install code-server.

TL;DR: Linux machine with WebSockets enabled, 1 GB RAM, and 2 CPUs

Getting started

There are three ways to get started:

  1. Using the install script, which automates most of the process. The script uses the system package manager if possible.
  2. Manually installing code-server
  3. Using our one-click buttons and guides to deploy code-server to a cloud provider

If you use the install script, you can preview what occurs during the install process:

curl -fsSL https://code-server.dev/install.sh | sh -s -- --dry-run

To install, run:

curl -fsSL https://code-server.dev/install.sh | sh

When done, the install script prints out instructions for running and starting code-server.

We also have an in-depth setup and configuration guide.

Questions?

See answers to frequently asked questions.

Want to help?

See Contributing for details.

Hiring

Interested in working at Coder? Check out our open positions!

For Organizations

Want remote development for your organization or enterprise? Visit our website to learn more about Coder.