mirror of
https://github.com/cdr/code-server.git
synced 2025-12-06 08:27:17 +01:00
* Update Code to 1.94.2 * Convert from yarn to npm This is to match VS Code. We were already partially using npm for the releases so this is some nice alignment. * Update caniuse-lite This was complaining on every unit test. * Update eslint I was having a bunch of dependency conflicts and eslint seemed to be the culprit so I just removed it and set it up again, since it seems things have changed quite a bit. * Update test dependencies I was getting oom when running the unit tests...updating seems to work. * Remove package.json `scripts` property in release The new pre-install script was being included, which is dev-only. This was always the intent; did not realize jq's merge was recursive. * Remove jest and devDependencies in release as well * Update test extension dependencies This appears to be conflicting with the root dependencies. * Fix playwright exec npm does not let you run binaries like yarn does, as far as I know. * Fix import of server-main.js * Fix several tests by waiting for selectors
5.3 KiB
5.3 KiB
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