From 6615ab950b8ea776b69a776266f8a8cc9e8713a0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Krist=C3=B3f=20Marussy?= Date: Mon, 10 Jan 2022 01:54:45 +0100 Subject: ci: Export test and coverage report --- .gitignore | 1 + .gitlab-ci.yml | 7 ++++++- jest.config.js | 6 ++++-- package.json | 2 ++ yarn.lock | 29 +++++++++++++++++++++++++++++ 5 files changed, 42 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index f6eb288..b8bc9ef 100644 --- a/.gitignore +++ b/.gitignore @@ -312,3 +312,4 @@ $RECYCLE.BIN/ .log/ .vite/ !.yarn/patches +junit.xml diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 1e94ade..3b20a62 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -30,8 +30,13 @@ typecheck: test: stage: test + coverage: /All files[^|]*\|[^|]*\s+([\d\.]+)/ script: - - yarn test + - yarn test:ci + artifacts: + reports: + cobertura: coverage/cobertura-coverage.xml + junit: junit.xml # TODO: GitlabCI free runners are only for linux - need to investigate for macos and windows artifacts build: diff --git a/jest.config.js b/jest.config.js index 174322a..b9a4ccf 100644 --- a/jest.config.js +++ b/jest.config.js @@ -1,7 +1,9 @@ /** @type {import('@jest/types').Config.InitialOptions} */ export default { projects: ['/packages/*'], - /** @type {'babel' | 'v8'} */ - coverageProvider: 'v8', collectCoverageFrom: ['src/**/*.{ts,tsx}'], + /** @type {'v8'} */ + coverageProvider: 'v8', + /** @type {['cobertura', 'text']} */ + coverageReporters: ['cobertura', 'text'], }; diff --git a/package.json b/package.json index 062d358..dc43274 100644 --- a/package.json +++ b/package.json @@ -21,6 +21,7 @@ "scripts": { "clean": "rimraf coverage dist packages/*/dist packages/*/*.tsbuildinfo .vite", "test": "node --experimental-vm-modules node_modules/jest/bin/jest.js", + "test:ci": "yarn test --ci --coverage --reporters=default --reporters=jest-junit", "build": "node scripts/build.js", "precompile": "cross-env MODE=production yarn run build", "compile": "yarn precompile && yarn compile:electron-builder", @@ -83,6 +84,7 @@ "git-repo-info": "^2.1.1", "is-ci": "^3.0.1", "jest": "^27.4.7", + "jest-junit": "^13.0.0", "nano-staged": "^0.5.0", "prettier": "^2.5.1", "rimraf": "^3.0.2", diff --git a/yarn.lock b/yarn.lock index 09dff68..881e6df 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5837,6 +5837,18 @@ __metadata: languageName: node linkType: hard +"jest-junit@npm:^13.0.0": + version: 13.0.0 + resolution: "jest-junit@npm:13.0.0" + dependencies: + mkdirp: ^1.0.4 + strip-ansi: ^6.0.1 + uuid: ^8.3.2 + xml: ^1.0.1 + checksum: d3a1bf6e98250837d1a9939cd54f29a7bd4fb835af30e92d0d544300fbe634eb86d2b018c79a7a35b123d933bf3e6c96ba13c0161cdefbf66fc3ab771707572e + languageName: node + linkType: hard + "jest-leak-detector@npm:^27.4.6": version: 27.4.6 resolution: "jest-leak-detector@npm:27.4.6" @@ -8229,6 +8241,7 @@ __metadata: git-repo-info: ^2.1.1 is-ci: ^3.0.1 jest: ^27.4.7 + jest-junit: ^13.0.0 nano-staged: ^0.5.0 preload: ^0.1.0 prettier: ^2.5.1 @@ -8978,6 +8991,15 @@ __metadata: languageName: node linkType: hard +"uuid@npm:^8.3.2": + version: 8.3.2 + resolution: "uuid@npm:8.3.2" + bin: + uuid: dist/bin/uuid + checksum: 5575a8a75c13120e2f10e6ddc801b2c7ed7d8f3c8ac22c7ed0c7b2ba6383ec0abda88c905085d630e251719e0777045ae3236f04c812184b7c765f63a70e58df + languageName: node + linkType: hard + "v8-compile-cache@npm:^2.0.3": version: 2.3.0 resolution: "v8-compile-cache@npm:2.3.0" @@ -9314,6 +9336,13 @@ __metadata: languageName: node linkType: hard +"xml@npm:^1.0.1": + version: 1.0.1 + resolution: "xml@npm:1.0.1" + checksum: 11b5545ef3f8fec3fa29ce251f50ad7b6c97c103ed4d851306ec23366f5fa4699dd6a942262df52313a0cd1840ab26256da253c023bad3309d8ce46fe6020ca0 + languageName: node + linkType: hard + "xmlbuilder@npm:>=11.0.1": version: 15.1.1 resolution: "xmlbuilder@npm:15.1.1" -- cgit v1.2.3