mirror of
https://github.com/coder/code-server.git
synced 2026-01-09 07:44:14 +08:00
We are trying to update Express to fix a vulnerability. We would have to update the plugins as well, but since we are no longer using the plugin system, we can just delete it instead.
ci
This directory contains scripts used for code-server's continuous integration infrastructure.
Some of these scripts contain more detailed documentation and options in header comments.
Any file or directory in this subdirectory should be documented here.
- ./ci/lib.sh
- Contains code duplicated across these scripts.
dev
This directory contains scripts used for the development of code-server.
- ./ci/dev/image
- See ./docs/CONTRIBUTING.md for docs on the development container.
- ./ci/dev/fmt.sh (
npm run fmt)- Runs formatters.
- ./ci/dev/lint.sh (
npm run lint)- Runs linters.
- ./ci/dev/test-unit.sh (
npm run test:unit)- Runs unit tests.
- ./ci/dev/test-e2e.sh (
npm run test:e2e)- Runs end-to-end tests.
- ./ci/dev/watch.ts (
npm run watch)- Starts a process to build and launch code-server and restart on any code changes.
- Example usage in ./docs/CONTRIBUTING.md.
- ./ci/dev/gen_icons.sh (
npm run icons)- Generates the various icons from a single
.svgfavicon insrc/browser/media/favicon.svg. - Requires imagemagick
- Generates the various icons from a single
build
This directory contains the scripts used to build and release code-server.
You can disable minification by setting MINIFY=.
- ./ci/build/build-code-server.sh (
npm run build)- Builds code-server into
./outand bundles the frontend into./dist.
- Builds code-server into
- ./ci/build/build-vscode.sh (
npm run build:vscode)- Builds vscode into
./lib/vscode/out-vscode.
- Builds vscode into
- ./ci/build/build-release.sh (
npm run release)- Bundles the output of the above two scripts into a single node module at
./release.
- Bundles the output of the above two scripts into a single node module at
- ./ci/build/clean.sh (
npm run clean)- Removes all build artifacts.
- Useful to do a clean build.
- ./ci/build/code-server.sh
- Copied into standalone releases to run code-server with the bundled node binary.
- ./ci/build/test-standalone-release.sh (
npm run test:standalone-release)- Ensures code-server in the
./release-standalonedirectory works by installing an extension.
- Ensures code-server in the
- ./ci/build/build-packages.sh (
npm run package)- Packages
./release-standaloneinto a.tar.gzarchive in./release-packages. - If on linux, nfpm is used to generate
.deband.rpm.
- Packages
- ./ci/build/nfpm.yaml
- Used to configure nfpm to generate
.deband.rpm.
- Used to configure nfpm to generate
- ./ci/build/code-server-nfpm.sh
- Entrypoint script for code-server for
.deband.rpm.
- Entrypoint script for code-server for
- ./ci/build/code-server.service
- systemd user service packaged into the
.deband.rpm.
- systemd user service packaged into the
- ./ci/build/release-github-draft.sh (
npm run release:github-draft)- Uses gh to create a draft release with a template description.
- ./ci/build/release-github-assets.sh (
npm run release:github-assets)- Downloads the release-package artifacts for the current commit from CI.
- Uses gh to upload the artifacts to the release
specified in
package.json.
- ./ci/build/npm-postinstall.sh
- Post install script for the npm package.
- Bundled by
npm run release.
release-image
This directory contains the release docker container image.
- ./ci/steps/build-docker-buildx-push.sh
- Builds the release containers with tags
codercom/code-server-$ARCH:$VERSIONfor amd64 and arm64 withdocker buildxand pushes them. - Assumes debian releases are ready in
./release-packages.
- Builds the release containers with tags
images
This directory contains the images for CI.
steps
This directory contains the scripts used in CI. Helps avoid clobbering the CI configuration.
- ./steps/fmt.sh
- Runs
npm run fmt.
- Runs
- ./steps/lint.sh
- Runs
npm run lint.
- Runs
- ./steps/test-unit.sh
- Runs
npm run test:unit.
- Runs
- ./steps/test-integration.sh
- Runs
npm run test:integration.
- Runs
- ./steps/test-e2e.sh
- Runs
npm run test:e2e.
- Runs
- ./steps/release.sh
- Runs the release process.
- Generates the npm package at
./release.
- ./steps/release-packages.sh
- Takes the output of the previous script and generates a standalone release and
release packages into
./release-packages.
- Takes the output of the previous script and generates a standalone release and
release packages into
- ./steps/publish-npm.sh
- Grabs the
npm-packagerelease artifact for the current commit and publishes it on npm.
- Grabs the
- ./steps/docker-buildx-push.sh
- Builds the docker image and then pushes it.
- ./steps/push-docker-manifest.sh
- Loads all images in
./release-imagesand then builds and pushes a multi architecture docker manifest for the amd64 and arm64 images tocodercom/code-server:$VERSIONandcodercom/code-server:latest.
- Loads all images in