mirror of
https://github.com/cdr/code-server.git
synced 2025-12-06 08:27:17 +01:00
We tried to switch from `yarn` to `npm` because `yarn` ignores lockfiles but learned that we missed a few key things. For now, we are reverting docs and a few other changes that suggested using `npm` instead of `yarn` until we fully remove `yarn` from the codebase. t Please enter the commit message for your changes. Lines starting |
||
|---|---|---|
| .. | ||
| build | ||
| dev | ||
| helm-chart | ||
| release-image | ||
| steps | ||
| lib.sh | ||
| README.md | ||
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 (
yarn fmt)- Runs formatters.
- ./ci/dev/lint.sh (
yarn lint)- Runs linters.
- ./ci/dev/test-unit.sh (
yarn test:unit)- Runs unit tests.
- ./ci/dev/test-e2e.sh (
yarn test:e2e)- Runs end-to-end tests.
- ./ci/dev/ci.sh (
yarn ci)- Runs
yarn fmt,yarn lintandyarn test.
- Runs
- ./ci/dev/watch.ts (
yarn 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 (
yarn 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 (
yarn build)- Builds code-server into
./outand bundles the frontend into./dist.
- Builds code-server into
- ./ci/build/build-vscode.sh (
yarn build:vscode)- Builds vscode into
./lib/vscode/out-vscode.
- Builds vscode into
- ./ci/build/build-release.sh (
yarn 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/build-standalone-release.sh (
yarn release:standalone)- Requires a node module already built into
./releasewith the above script. - Will build a standalone release with node and node_modules bundled into
./release-standalone.
- Requires a node module already built into
- ./ci/build/clean.sh (
yarn 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 (
yarn 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 (
yarn 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 (
yarn release:github-draft)- Uses gh to create a draft release with a template description.
- ./ci/build/release-github-assets.sh (
yarn 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
yarn 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
yarn fmt.
- Runs
- ./steps/lint.sh
- Runs
yarn lint.
- Runs
- ./steps/test-unit.sh
- Runs
yarn test:unit.
- Runs
- ./steps/test-e2e.sh
- Runs
yarn 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