From 73430e638b4fb499cdf07e7ddf504e084730eb15 Mon Sep 17 00:00:00 2001 From: Antoine ZANARDI Date: Mon, 19 Jun 2023 11:10:27 +0200 Subject: [PATCH] feat(stryker): enable dashboard --- .github/workflows/build.yml | 5 +++- config/stryker/stryker.conf.js | 36 +++++++++++++++++++++++++++++ config/stryker/stryker.conf.json | 39 -------------------------------- package.json | 4 ++-- 4 files changed, 42 insertions(+), 42 deletions(-) create mode 100644 config/stryker/stryker.conf.js delete mode 100644 config/stryker/stryker.conf.json diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index c6f829288..1f67db514 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -150,6 +150,9 @@ jobs: mutant-tests: name: Mutant Tests 👽 runs-on: ubuntu-latest + env: + STRYKER_DASHBOARD_API_KEY: ${{ secrets.STRYKER_DASHBOARD_API_KEY }} + VERSION: ${{ github.head_ref }} needs: - install steps: @@ -195,4 +198,4 @@ jobs: uses: SonarSource/sonarcloud-github-action@master env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - SONAR_TOKEN: ${{ secrets.SONARCLOUD_TOKEN }} + SONAR_TOKEN: ${{ secrets.SONARCLOUD_TOKEN }} \ No newline at end of file diff --git a/config/stryker/stryker.conf.js b/config/stryker/stryker.conf.js new file mode 100644 index 000000000..b551863b9 --- /dev/null +++ b/config/stryker/stryker.conf.js @@ -0,0 +1,36 @@ +const reporters = ["clear-text", "progress", "html", "json"]; + +if (process.env.STRYKER_DASHBOARD_API_KEY !== undefined) { + reporters.push("dashboard"); +} + +module.exports = { + cleanTempDir: "always", + incremental: true, + incrementalFile: "tests/stryker/incremental.json", + checkers: ["typescript"], + tsconfigFile: "tsconfig.json", + testRunner: "jest", + ignoreStatic: true, + mutate: [ + "src/**/*.ts", + "!**/*.dto.ts", + "!**/*.schema.ts", + "!**/*.constant.ts", + ], + jest: { configFile: "config/jest/jest-global.ts" }, + reporters, + htmlReporter: { fileName: "tests/stryker/coverage/index.html" }, + jsonReporter: { fileName: "tests/stryker/coverage/mutation.json" }, + thresholds: { + high: 100, + low: 100, + break: 100, + }, + disableTypeChecks: "{test,src,lib}/**/*.{js,ts,jsx,tsx,html,vue}", + dashboard: { + project: "github.com/antoinezanardi/werewolves-assistant-api-next", + baseUrl: "https://dashboard.stryker-mutator.io/api/reports", + reportType: "full", + }, +}; \ No newline at end of file diff --git a/config/stryker/stryker.conf.json b/config/stryker/stryker.conf.json deleted file mode 100644 index 553d658d1..000000000 --- a/config/stryker/stryker.conf.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "$schema": "../../node_modules/@stryker-mutator/core/schema/stryker-schema.json", - "cleanTempDir": "always", - "incremental": true, - "incrementalFile": "tests/stryker/incremental.json", - "checkers": ["typescript"], - "tsconfigFile": "tsconfig.json", - "testRunner": "jest", - "ignoreStatic": true, - "mutate": [ - "src/**/*.ts", - "!**/*.dto.ts", - "!**/*.schema.ts", - "!**/*.constant.ts" - ], - "jest": { - "configFile": "config/jest/jest-global.ts" - }, - "reporters": [ - "clear-text", "progress", "html", "json" - ], - "htmlReporter": { - "fileName": "tests/stryker/coverage/index.html" - }, - "jsonReporter": { - "fileName": "tests/stryker/coverage/mutation.json" - }, - "thresholds": { - "high": 100, - "low": 100, - "break": 100 - }, - "disableTypeChecks": "{test,src,lib}/**/*.{js,ts,jsx,tsx,html,vue}", - "dashboard": { - "project": "github.com/antoinezanardi/werewolves-assistant-api-next", - "baseUrl": "https://dashboard.stryker-mutator.io/api/reports", - "reportType": "full" - } -} \ No newline at end of file diff --git a/package.json b/package.json index f84015dd6..7c0b40de1 100644 --- a/package.json +++ b/package.json @@ -27,8 +27,8 @@ "test": "NODE_ENV=test jest --config config/jest/jest-global.ts", "test:watch": "NODE_ENV=test jest --watch --config config/jest/jest-global.ts", "test:cov": "NODE_ENV=test jest --coverage --config config/jest/jest-global.ts", - "test:stryker": "NODE_ENV=test rimraf tests/stryker/coverage && stryker run config/stryker/stryker.conf.json", - "test:stryker:force": "NODE_ENV=test rimraf tests/stryker/incremental.json tests/stryker/coverage && stryker run config/stryker/stryker.conf.json --force", + "test:stryker": "NODE_ENV=test rimraf tests/stryker/coverage && stryker run config/stryker/stryker.conf.js", + "test:stryker:force": "NODE_ENV=test rimraf tests/stryker/incremental.json tests/stryker/coverage && stryker run config/stryker/stryker.conf.js --force", "test:unit": "NODE_ENV=test jest --config config/jest/jest-unit.ts", "test:unit:watch": "NODE_ENV=test jest --watch --config config/jest/jest-unit.ts", "test:unit:cov": "NODE_ENV=test rimraf tests/unit/coverage && jest --coverage --config config/jest/jest-unit.ts",