@@ -6,6 +6,20 @@ Many of these scripts contain more detailed documentation and options in comment
66
77Any file and directory added into this tree should be documented here.
88
9+ ## Publishing a release
10+
11+ 1 . Change the version of code-server in ` package.json ` and push this commit.
12+ 1 . CI will run and generate an NPM package and release packages that you can download
13+ as artifacts on Github Actions.
14+ 1 . Create a new draft release with the built release packages.
15+ 1 . Run some basic sanity tests on one of the released packages.
16+ 1 . Publish.
17+ 1 . Download the built npm package and publish it.
18+ 1 . Place the debian releases into ` ./release-packages ` and then push the docker
19+ image with ` ./ci/release-container/push.sh ` .
20+ 1 . This will need to be ran on an ARM64 instance as well.
21+ 1 . At some point we need to automate this.
22+
923## dev
1024
1125This directory contains scripts used for the development of code-server.
@@ -32,27 +46,30 @@ This directory contains scripts used for the development of code-server.
3246## build
3347
3448This directory contains the scripts used to build code-server.
49+ You can disable minification by setting ` MINIFY= ` .
3550
51+ - [ ./lib.sh] ( ./lib.sh )
52+ - Contains code duplicated across these scripts.
3653- [ ./build/build-code-server.sh] ( ./build/build-code-server.sh ) (` yarn build ` )
3754 - Builds code-server into ./out and bundles the frontend into ./dist.
3855- [ ./build/build-vscode.sh] ( ./build/build-vscode.sh ) (` yarn build:vscode ` )
3956 - Builds vscode into ./lib/vscode/out-vscode.
4057- [ ./build/build-release.sh] ( ./build/build-release.sh ) (` yarn release ` )
41- - Bundles the output of the above two scripts into a single node module at ./release.
42- - Will build a static release with node/node_modules into ` ./release-static `
43- if ` STATIC=1 ` is set.
58+ - Bundles the output of the above two scripts into a single node module at ` ./release ` .
59+ - [ ./build/build-static-release.sh] ( ./build/build-static-release.sh ) (` yarn release:static ` )
60+ - Requires a release already built in ` ./release ` .
61+ - Will build a static release with node and node_modules into ` ./release-static `
4462- [ ./build/clean.sh] ( ./build/clean.sh ) (` yarn clean ` )
4563 - Removes all git ignored files like build artifacts.
4664 - Will also ` git reset --hard lib/vscode `
4765 - Useful to do a clean build.
4866- [ ./build/code-server.sh] ( ./build/code-server.sh )
4967 - Copied into static releases to run code-server with the bundled node binary.
50- - [ ./build/archive-static-release.sh] ( ./build/archive-static-release.sh )
51- - Archives ` ./release-static ` into a tar/zip for CI with the proper directory name scheme
5268- [ ./build/test-release.sh] ( ./build/test-static-release.sh )
5369 - Ensures code-server in the ` ./release-static ` directory runs
54- - [ ./build/build-static-pkgs.sh] ( ./build/build-static-pkgs.sh ) (` yarn pkg ` )
55- - Uses [ nfpm] ( https://github.com/goreleaser/nfpm ) to generate .deb and .rpm from a static release
70+ - [ ./build/build-packages.sh] ( ./build/build-static-pkgs.sh ) (` yarn package ` )
71+ - Packages ` ./release-static ` into an archive in ` ./release-packages `
72+ - If on linux, [ nfpm] ( https://github.com/goreleaser/nfpm ) is used to generate .deb and .rpm
5673- [ ./build/nfpm.yaml] ( ./build/nfpm.yaml )
5774 - Used to configure [ nfpm] ( https://github.com/goreleaser/nfpm ) to generate .deb and .rpm
5875- [ ./build/code-server-nfpm.sh] ( ./build/code-server-nfpm.sh )
@@ -68,15 +85,13 @@ This directory contains the container for CI.
6885
6986## steps
7087
71- This directory contains a few scripts used in CI. Just helps avoid clobbering .travis.yml.
88+ This directory contains a few scripts used in CI.
89+ Just helps avoid clobbering .travis.yml.
7290
7391- [ ./steps/test.sh] ( ./steps/test.sh )
7492 - Runs ` yarn ci ` after ensuring VS Code is patched
93+ - [ ./steps/release.sh] ( ./steps/release.sh )
94+ - Runs the full release process
95+ - Generates the npm package at ` ./release `
7596- [ ./steps/static-release.sh] ( ./steps/static-release.sh )
76- - Runs the full static build process for CI
77- - [ ./steps/linux-release.sh] ( ./steps/linux-release.sh )
78- - Runs the full static build process for CI
79- - Packages the release into a .deb and .rpm
80- - Builds and pushes a docker release
81- - [ ./steps/publish-npm.sh] ( ./steps/publish-npm.sh )
82- - Authenticates yarn and publishes the built package from ` ./release `
97+ - Takes the output of the previous script and generates a static release and packages
0 commit comments