feat: add support for code coverage shield

This commit is contained in:
Joe Previte 2021-01-25 10:34:51 -07:00
parent 05beccf671
commit 3044224729
No known key found for this signature in database
GPG Key ID: 2C91590C6B742C24
5 changed files with 35 additions and 6 deletions

View File

@ -1,5 +1,7 @@
# code-server · [!["GitHub Discussions"](https://img.shields.io/badge/%20GitHub-%20Discussions-gray.svg?longCache=true&logo=github&colorB=purple)](https://github.com/cdr/code-server/discussions) [!["Join us on Slack"](https://img.shields.io/badge/join-us%20on%20slack-gray.svg?longCache=true&logo=slack&colorB=brightgreen)](https://cdr.co/join-community) [![Twitter Follow](https://img.shields.io/twitter/follow/CoderHQ?label=%40CoderHQ&style=social)](https://twitter.com/coderhq) # code-server · [!["GitHub Discussions"](https://img.shields.io/badge/%20GitHub-%20Discussions-gray.svg?longCache=true&logo=github&colorB=purple)](https://github.com/cdr/code-server/discussions) [!["Join us on Slack"](https://img.shields.io/badge/join-us%20on%20slack-gray.svg?longCache=true&logo=slack&colorB=brightgreen)](https://cdr.co/join-community) [![Twitter Follow](https://img.shields.io/twitter/follow/CoderHQ?label=%40CoderHQ&style=social)](https://twitter.com/coderhq)
![Lines](https://img.shields.io/badge/Coverage-46.71%25-green.svg)
Run [VS Code](https://github.com/Microsoft/vscode) on any machine anywhere and access it in the browser. Run [VS Code](https://github.com/Microsoft/vscode) on any machine anywhere and access it in the browser.
![Screenshot](./doc/assets/screenshot.png) ![Screenshot](./doc/assets/screenshot.png)

View File

@ -21,6 +21,7 @@ Make sure you have `$GITHUB_TOKEN` set and [hub](https://github.com/github/hub)
- Remember to update the chart version as well on top of appVersion in `Chart.yaml`. - Remember to update the chart version as well on top of appVersion in `Chart.yaml`.
- Run `rg -g '!yarn.lock' -g '!*.svg' '3\.7\.5'` to ensure all values have been - Run `rg -g '!yarn.lock' -g '!*.svg' '3\.7\.5'` to ensure all values have been
changed. Replace the numbers as needed. changed. Replace the numbers as needed.
4. Update the code coverage badge (see [here](#updating-code-coverage-in-readme) for instructions)
2. GitHub actions will generate the `npm-package`, `release-packages` and `release-images` artifacts. 2. GitHub actions will generate the `npm-package`, `release-packages` and `release-images` artifacts.
1. You do not have to wait for these. 1. You do not have to wait for these.
3. Run `yarn release:github-draft` to create a GitHub draft release from the template with 3. Run `yarn release:github-draft` to create a GitHub draft release from the template with
@ -43,6 +44,19 @@ Make sure you have `$GITHUB_TOKEN` set and [hub](https://github.com/github/hub)
11. Update the homebrew package. 11. Update the homebrew package.
- Send a pull request to [homebrew-core](https://github.com/Homebrew/homebrew-core) with the URL in the [formula](https://github.com/Homebrew/homebrew-core/blob/master/Formula/code-server.rb) updated. - Send a pull request to [homebrew-core](https://github.com/Homebrew/homebrew-core) with the URL in the [formula](https://github.com/Homebrew/homebrew-core/blob/master/Formula/code-server.rb) updated.
## Updating Code Coverage in README
Currently, we run a command to manually generate the code coverage shield. Follow these steps:
1. Run `yarn badges`
2. Go into the README and change the color from `red` to `green` in this line:
```
![Lines](https://img.shields.io/badge/Coverage-46.71%25-red.svg)
```
NOTE: we have to manually change the color because the default is red if coverage is less than 80. See code [here](https://github.com/olavoparno/istanbul-badges-readme/blob/develop/src/editor.ts#L24-L33).
## dev ## dev
This directory contains scripts used for the development of code-server. This directory contains scripts used for the development of code-server.

View File

@ -26,7 +26,8 @@
"test": "./ci/dev/test.sh", "test": "./ci/dev/test.sh",
"ci": "./ci/dev/ci.sh", "ci": "./ci/dev/ci.sh",
"watch": "VSCODE_IPC_HOOK_CLI= NODE_OPTIONS=--max_old_space_size=32384 ts-node ./ci/dev/watch.ts", "watch": "VSCODE_IPC_HOOK_CLI= NODE_OPTIONS=--max_old_space_size=32384 ts-node ./ci/dev/watch.ts",
"icons": "./ci/dev/gen_icons.sh" "icons": "./ci/dev/gen_icons.sh",
"badges": "istanbul-badges-readme"
}, },
"main": "out/node/entry.js", "main": "out/node/entry.js",
"devDependencies": { "devDependencies": {
@ -53,6 +54,7 @@
"eslint-config-prettier": "^6.0.0", "eslint-config-prettier": "^6.0.0",
"eslint-plugin-import": "^2.18.2", "eslint-plugin-import": "^2.18.2",
"eslint-plugin-prettier": "^3.1.0", "eslint-plugin-prettier": "^3.1.0",
"istanbul-badges-readme": "^1.2.0",
"leaked-handles": "^5.2.0", "leaked-handles": "^5.2.0",
"parcel-bundler": "^1.12.4", "parcel-bundler": "^1.12.4",
"prettier": "^2.0.5", "prettier": "^2.0.5",
@ -124,10 +126,16 @@
"coverageDirectory": "<rootDir>/coverage", "coverageDirectory": "<rootDir>/coverage",
"coverageReporters": [ "coverageReporters": [
"json", "json",
"json-summary",
"text" "text"
], ],
"coveragePathIgnorePatterns": [ "coveragePathIgnorePatterns": [
"out" "out"
] ],
"coverageThreshold": {
"global": {
"lines": 40
}
}
} }
} }

View File

@ -14,8 +14,8 @@ describe("SocketProxyProvider", () => {
const onServerError = new Emitter<{ event: string; error: Error }>() const onServerError = new Emitter<{ event: string; error: Error }>()
const onClientError = new Emitter<{ event: string; error: Error }>() const onClientError = new Emitter<{ event: string; error: Error }>()
const onProxyError = new Emitter<{ event: string; error: Error }>() const onProxyError = new Emitter<{ event: string; error: Error }>()
const fromServerToClient = new Emitter<string>() const fromServerToClient = new Emitter<Buffer>()
const fromClientToServer = new Emitter<string>() const fromClientToServer = new Emitter<Buffer>()
const fromClientToProxy = new Emitter<Buffer>() const fromClientToProxy = new Emitter<Buffer>()
let errors = 0 let errors = 0
@ -92,10 +92,10 @@ describe("SocketProxyProvider", () => {
it("should work without a proxy", async () => { it("should work without a proxy", async () => {
server.write("server->client") server.write("server->client")
const dataFromServerToClient = await (await getData(fromServerToClient)).toString() const dataFromServerToClient = (await getData(fromServerToClient)).toString()
expect(dataFromServerToClient).toBe("server->client") expect(dataFromServerToClient).toBe("server->client")
client.write("client->server") client.write("client->server")
const dataFromClientToServer = await (await getData(fromClientToServer)).toString() const dataFromClientToServer = (await getData(fromClientToServer)).toString()
expect(dataFromClientToServer).toBe("client->server") expect(dataFromClientToServer).toBe("client->server")
expect(errors).toEqual(0) expect(errors).toEqual(0)
}) })

View File

@ -4360,6 +4360,11 @@ isstream@~0.1.2:
resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a"
integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo= integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=
istanbul-badges-readme@^1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/istanbul-badges-readme/-/istanbul-badges-readme-1.2.0.tgz#f6dc226fb2ef498b1743ca15ae2dd82ccd3b0c28"
integrity sha512-7yU9tFbl7IsqlgfFF52G1fj7w2Z2k+UykVrCCIAQ8pnezZIIwxtAD079cIcqsbyCH7gCAALhiW3waHv9C24vrg==
js-tokens@^4.0.0: js-tokens@^4.0.0:
version "4.0.0" version "4.0.0"
resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"