Skip to content

Commit 7c7f62d

Browse files
committed
Fixes for CI from @code-asher's review
1 parent 231e316 commit 7c7f62d

File tree

8 files changed

+43
-20
lines changed

8 files changed

+43
-20
lines changed

.github/workflows/ci.yaml

+1
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,7 @@ jobs:
8181
- run: ./ci/steps/release-static.sh
8282
env:
8383
# Otherwise we get rate limited when fetching the ripgrep binary.
84+
# For whatever reason only MacOS needs it.
8485
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
8586
- name: Upload release artifacts
8687
uses: actions/upload-artifact@v2

ci/README.md

+20-11
Original file line numberDiff line numberDiff line change
@@ -10,13 +10,15 @@ Any file and directory added into this tree should be documented here.
1010

1111
1. Update the version of code-server in `package.json` and push a commit
1212
1. CI will run and generate the `npm-package` and `release-packages` artifacts on the GH actions workflow
13-
1. Create a new draft release and attach all the files in `release-packages`
14-
1. Run some basic sanity tests on one of the released packages
13+
1. Create a new draft release and attach all files in `release-packages`
14+
1. Run some basic sanity tests on one of the released packages
15+
1. Summarize the major changes in the release notes and link to the relevant issues.
16+
1. Make sure to mention the VS Code version in the release notes
1517
1. Publish the release
16-
1. CI will automatically grab the artifacts and then
17-
1. Publish the NPM package.
18-
1. Publish the AMD64 docker image.
19-
1. Publish the ARM64 docker image.
18+
1. CI will automatically grab the artifacts and then
19+
1. Publish the NPM package
20+
1. Publish the AMD64 docker image
21+
1. Publish the ARM64 docker image
2022

2123
## dev
2224

@@ -63,9 +65,9 @@ You can disable minification by setting `MINIFY=`.
6365
- Useful to do a clean build.
6466
- [./build/code-server.sh](./build/code-server.sh)
6567
- Copied into static releases to run code-server with the bundled node binary.
66-
- [./build/test-release.sh](./build/test-static-release.sh)
68+
- [./build/test-static-release.sh](./build/test-static-release.sh) (`yarn test:static-release`)
6769
- Ensures code-server in the `./release-static` directory runs
68-
- [./build/build-packages.sh](./build/build-static-pkgs.sh) (`yarn package`)
70+
- [./build/build-packages.sh](./build/build-packages.sh) (`yarn package`)
6971
- Packages `./release-static` into an archive in `./release-packages`
7072
- If on linux, [nfpm](https://github.com/goreleaser/nfpm) is used to generate .deb and .rpm
7173
- [./build/nfpm.yaml](./build/nfpm.yaml)
@@ -77,14 +79,20 @@ You can disable minification by setting `MINIFY=`.
7779

7880
This directory contains the release docker container.
7981

82+
- [./release-container/build.sh](./release-container/build.sh)
83+
- Builds the release container
84+
- Assumes debian releases are ready in `./release-packages`
85+
- [./release-container/push.sh](./release-container/push.sh)
86+
- Pushes the built release container to docker hub and updates the latest tag
87+
8088
## container
8189

8290
This directory contains the container for CI.
8391

8492
## steps
8593

8694
This directory contains a few scripts used in CI.
87-
Just helps avoid clobbering .travis.yml.
95+
Just helps avoid clobbering the CI configuration.
8896

8997
- [./steps/test.sh](./steps/test.sh)
9098
- Runs `yarn ci` after ensuring VS Code is patched
@@ -98,5 +106,6 @@ Just helps avoid clobbering .travis.yml.
98106
- [./steps/publish-npm.sh](./steps/publish-npm.sh)
99107
- Grabs the `npm-package` release artifact for the current commit and publishes it on NPM
100108
- [./steps/publish-docker.sh](./steps/publish-docker.sh)
101-
- Grabs the `release-packages` release artifact for the current commit and builds a docker
102-
image with it and publishes that onto docker hub
109+
- Grabs the `release-packages` release artifact for the current commit and
110+
builds a docker image with it and publishes that onto docker hub with the
111+
correct tag and updates latest

ci/release-container/build.sh

+14
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
#!/usr/bin/env bash
2+
set -euo pipefail
3+
4+
main() {
5+
cd "$(dirname "$0")/../.."
6+
source ./ci/lib.sh
7+
VERSION="$(pkg_json_version)"
8+
9+
imageTag="codercom/code-server:$VERSION"
10+
11+
docker build -t "$imageTag" -f ./ci/release-container/Dockerfile .
12+
}
13+
14+
main "$@"

ci/release-container/push.sh

+2-7
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
#!/usr/bin/env bash
2-
32
set -euo pipefail
43

54
main() {
@@ -8,14 +7,10 @@ main() {
87
VERSION="$(pkg_json_version)"
98

109
imageTag="codercom/code-server:$VERSION"
11-
if [[ $(arch) == "arm64" ]]; then
12-
imageTag+="-arm64"
13-
fi
1410

15-
docker build \
16-
-t "$imageTag" \
17-
-f ./ci/release-container/Dockerfile .
1811
docker push "$imageTag"
12+
docker tag "$imageTag" codercom/code-server:latest
13+
docker push codercom/code-server:latest
1914
}
2015

2116
main "$@"

ci/steps/publish-docker.sh

+1
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ main() {
1010
fi
1111

1212
download_artifact release-packages ./release-packages
13+
./ci/release-container/build.sh
1314
./ci/release-container/push.sh
1415
}
1516

ci/steps/release-static.sh

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ main() {
55
cd "$(dirname "$0")/../.."
66

77
yarn release:static
8-
./ci/build/test-static-release.sh
8+
yarn test:static-release
99
yarn package
1010
}
1111

doc/CONTRIBUTING.md

+3-1
Original file line numberDiff line numberDiff line change
@@ -41,5 +41,7 @@ yarn vscode
4141
yarn build
4242
yarn build:vscode
4343
yarn release
44-
node ./release # Run the built JavaScript with Node.
44+
cd release
45+
yarn --production
46+
node . # Run the built JavaScript with Node.
4547
```

package.json

+1
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
"build:vscode": "./ci/build/build-vscode.sh",
1818
"release": "./ci/build/build-release.sh",
1919
"release:static": "./ci/build/build-static-release.sh",
20+
"test:static-release": "./ci/build/test-static-release.sh",
2021
"package": "./ci/build/build-packages.sh",
2122
"_____": "",
2223
"fmt": "./ci/dev/fmt.sh",

0 commit comments

Comments
 (0)