Skip to content

Commit 7175f5a

Browse files
authored
ci: setup code-pushup to measure conformance progress (#112)
1 parent 43d468a commit 7175f5a

21 files changed

+1417
-1248
lines changed

.github/workflows/code-pushup.yml

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
name: Code PushUp
2+
3+
on:
4+
push:
5+
branches: [main]
6+
pull_request:
7+
branches: [main]
8+
9+
permissions:
10+
contents: read
11+
actions: read
12+
pull-requests: write
13+
14+
jobs:
15+
code-pushup:
16+
runs-on: ubuntu-latest
17+
name: Code PushUp
18+
timeout-minutes: 30
19+
steps:
20+
- name: Checkout repository
21+
uses: actions/checkout@v4
22+
23+
- uses: pnpm/action-setup@v4
24+
25+
- name: Install dependencies
26+
run: pnpm i --frozen-lockfile
27+
28+
- uses: nrwl/nx-set-shas@v4
29+
30+
- name: Collect Code PushUp report
31+
uses: code-pushup/github-action@v0.6.0
32+
env:
33+
NX_NO_CLOUD: true
34+
CP_API_KEY: ${{ secrets.CP_API_KEY }}
35+
ACTIONS_STEP_DEBUG: true
36+
with:
37+
monorepo: nx
38+
retention: 14

code-pushup.config.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
import { CoreConfig } from '@code-pushup/models';
2+
import { mergeConfigs } from '@code-pushup/utils';
3+
import {
4+
baseConfig,
5+
eslintConfig,
6+
} from './tools/reports/code-pushup.preset.config';
7+
8+
export default mergeConfigs(baseConfig as CoreConfig, await eslintConfig());

nx.json

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,13 @@
4646
"max-warnings": 0
4747
}
4848
},
49+
"code-pushup": {
50+
"command": "code-pushup",
51+
"options": {
52+
"config": "{projectRoot}/code-pushup.config.ts",
53+
"persist.outputDir": ".code-pushup/{projectName}"
54+
}
55+
},
4956
"integration-test": {
5057
"cache": true,
5158
"options": {

package.json

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -45,8 +45,8 @@
4545
"@nx/workspace": "20.3.0",
4646
"@playwright/test": "^1.36.0",
4747
"@rsbuild/core": "^1.1.12",
48-
"@rsbuild/plugin-sass": "^1.1.2",
4948
"@rsbuild/plugin-less": "^1.1.1",
49+
"@rsbuild/plugin-sass": "^1.1.2",
5050
"@rspack/cli": "^1.1.8",
5151
"@rspack/core": "^1.1.8",
5252
"@rspack/dev-server": "1.0.9",
@@ -64,7 +64,7 @@
6464
"@vitest/coverage-v8": "^1.0.4",
6565
"@vitest/ui": "^1.3.1",
6666
"angular-eslint": "^19.0.2",
67-
"commitlint-plugin-tense": "^1.0.4",
67+
"commitlint-plugin-tense": "1.0.4",
6868
"eslint": "^9.8.0",
6969
"eslint-config-prettier": "^9.0.0",
7070
"eslint-plugin-playwright": "^1.6.2",
@@ -106,10 +106,11 @@
106106
"@angular/platform-server": "19.1.6",
107107
"@angular/router": "19.1.6",
108108
"@angular/ssr": "19.1.6",
109-
"@code-pushup/cli": "^0.59.0",
110-
"@code-pushup/eslint-plugin": "^0.59.0",
111-
"@code-pushup/models": "^0.59.0",
112-
"@code-pushup/utils": "^0.59.0",
109+
"@code-pushup/cli": "^0.63.0",
110+
"@code-pushup/eslint-plugin": "^0.63.0",
111+
"@code-pushup/models": "^0.63.0",
112+
"@code-pushup/portal-client": "0.11.0",
113+
"@code-pushup/utils": "^0.63.0",
113114
"@commitlint/config-nx-scopes": "^19.5.0",
114115
"@netlify/functions": "^3.0.0",
115116
"@nx/devkit": "20.3.0",

packages/build/code-pushup.config.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
import { CoreConfig } from '@code-pushup/models';
2+
import { mergeConfigs } from '@code-pushup/utils';
3+
import {
4+
baseConfig,
5+
eslintConfig,
6+
} from '../../tools/reports/code-pushup.preset.config';
7+
8+
export default mergeConfigs(baseConfig as CoreConfig, await eslintConfig());

packages/build/package.json

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,8 @@
6464
"name": "build",
6565
"sourceRoot": "packages/build/src",
6666
"projectType": "library",
67-
"targets": {}
67+
"targets": {
68+
"code-pushup": {}
69+
}
6870
}
6971
}
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
import { CoreConfig } from '@code-pushup/models';
2+
import { mergeConfigs } from '@code-pushup/utils';
3+
import {
4+
baseConfig,
5+
eslintConfig,
6+
} from '../../tools/reports/code-pushup.preset.config';
7+
8+
export default mergeConfigs(baseConfig as CoreConfig, await eslintConfig());

packages/compiler/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@
5252
"projectType": "library",
5353
"name": "compiler",
5454
"targets": {
55+
"code-pushup": {},
5556
"integration-test": {
5657
"configName": "vitest.integration.config.mts"
5758
},
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
import { CoreConfig } from '@code-pushup/models';
2+
import { mergeConfigs } from '@code-pushup/utils';
3+
import {
4+
baseConfig,
5+
eslintConfig,
6+
} from '../../tools/reports/code-pushup.preset.config';
7+
8+
export default mergeConfigs(baseConfig as CoreConfig, await eslintConfig());

packages/nx-plugin/package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,8 +41,9 @@
4141
"nx": {
4242
"sourceRoot": "packages/nx-plugin/src",
4343
"projectType": "library",
44-
"name": "nx",
44+
"name": "nx-plugin",
4545
"targets": {
46+
"code-pushup": {},
4647
"integration-test": {
4748
"options": {
4849
"config": "vitest.integration.config.mts"

0 commit comments

Comments
 (0)