55 branches :
66 - main
77jobs :
8- list-workspaces :
9- runs-on : ubuntu-latest
10- name : list workspaces
11- outputs :
12- test-types : ${{ steps.set-matrix.outputs.test-types }}
13- lint : ${{ steps.set-matrix.outputs.lint }}
14- test-unit : ${{ steps.set-matrix.outputs.test-unit }}
15- steps :
16- - name : Checkout the repository
17- uses : actions/checkout@v5
18- - name : Install Node.js
19- uses : actions/setup-node@v6
20- with :
21- node-version : 22
22- - id : set-matrix
23- run : node .github/workflows/list-workspaces.js test:types lint test:unit >> $GITHUB_OUTPUT
248 types :
259 runs-on : ubuntu-latest
26- needs : list-workspaces
27- strategy :
28- matrix :
29- workspace : ${{ fromJson(needs.list-workspaces.outputs.test-types) }}
30- name : ${{ matrix.workspace }} / types
10+ name : types
3111 steps :
3212 - name : Checkout the repository
3313 uses : actions/checkout@v5
@@ -43,14 +23,10 @@ jobs:
4323 - name : Install dependencies
4424 run : pnpm install
4525 - name : Check types
46- run : pnpm --filter ${{ matrix.workspace }} --if-present test:types
26+ run : pnpm test:types
4727 lint :
4828 runs-on : ubuntu-latest
49- needs : list-workspaces
50- strategy :
51- matrix :
52- workspace : ${{ fromJson(needs.list-workspaces.outputs.lint) }}
53- name : ${{ matrix.workspace }} / lint
29+ name : lint
5430 steps :
5531 - name : Checkout the repository
5632 uses : actions/checkout@v5
@@ -66,14 +42,10 @@ jobs:
6642 - name : Install dependencies
6743 run : pnpm install
6844 - name : Lint files
69- run : pnpm --filter ${{ matrix.workspace }} --if-present lint
45+ run : pnpm lint
7046 unit :
7147 runs-on : ubuntu-latest
72- needs : list-workspaces
73- strategy :
74- matrix :
75- workspace : ${{ fromJson(needs.list-workspaces.outputs.test-unit) }}
76- name : ${{ matrix.workspace }} / unit
48+ name : unit
7749 steps :
7850 - name : Checkout the repository
7951 uses : actions/checkout@v5
8961 - name : Install dependencies
9062 run : pnpm install
9163 - name : Run tests
92- run : pnpm --filter ${{ matrix.workspace }} --if-present test:unit
64+ run : pnpm test:unit
9365 - name : Collect coverage
9466 uses : codecov/codecov-action@v5
9567 if : success()
96- with :
97- files : ./packages/${{ matrix.workspace }}/coverage/lcov.info
98- name : ${{ matrix.workspace }}
99- flags : ${{ matrix.workspace }}
0 commit comments