@@ -6,6 +6,20 @@ Many of these scripts contain more detailed documentation and options in comment
6
6
7
7
Any file and directory added into this tree should be documented here.
8
8
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
+
9
23
## dev
10
24
11
25
This 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.
32
46
## build
33
47
34
48
This directory contains the scripts used to build code-server.
49
+ You can disable minification by setting ` MINIFY= ` .
35
50
51
+ - [ ./lib.sh] ( ./lib.sh )
52
+ - Contains code duplicated across these scripts.
36
53
- [ ./build/build-code-server.sh] ( ./build/build-code-server.sh ) (` yarn build ` )
37
54
- Builds code-server into ./out and bundles the frontend into ./dist.
38
55
- [ ./build/build-vscode.sh] ( ./build/build-vscode.sh ) (` yarn build:vscode ` )
39
56
- Builds vscode into ./lib/vscode/out-vscode.
40
57
- [ ./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 `
44
62
- [ ./build/clean.sh] ( ./build/clean.sh ) (` yarn clean ` )
45
63
- Removes all git ignored files like build artifacts.
46
64
- Will also ` git reset --hard lib/vscode `
47
65
- Useful to do a clean build.
48
66
- [ ./build/code-server.sh] ( ./build/code-server.sh )
49
67
- 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
52
68
- [ ./build/test-release.sh] ( ./build/test-static-release.sh )
53
69
- 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
56
73
- [ ./build/nfpm.yaml] ( ./build/nfpm.yaml )
57
74
- Used to configure [ nfpm] ( https://github.com/goreleaser/nfpm ) to generate .deb and .rpm
58
75
- [ ./build/code-server-nfpm.sh] ( ./build/code-server-nfpm.sh )
@@ -68,15 +85,13 @@ This directory contains the container for CI.
68
85
69
86
## steps
70
87
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.
72
90
73
91
- [ ./steps/test.sh] ( ./steps/test.sh )
74
92
- 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 `
75
96
- [ ./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