1- name : Test (Ubuntu)
1+ name : Test
22
33# Controls when the action will run.
44on :
@@ -47,13 +47,17 @@ jobs:
4747 - "!**/dictionary.txt"
4848
4949 # ======== ut ========
50- ut-ubuntu :
51- runs-on : ubuntu-latest
50+ ut :
51+ runs-on : ${{ matrix.os }}
5252 needs : changes
5353 if : ${{ needs.changes.outputs.changed == 'true' }}
5454 strategy :
5555 matrix :
56+ os : [ubuntu-latest]
5657 node-version : [18, 20, 22]
58+ include :
59+ - node-version : 18
60+ os : windows-latest
5761
5862 # Steps represent a sequence of tasks that will be executed as part of the job
5963 steps :
6266 with :
6367 fetch-depth : 10
6468
69+ - name : Git config
70+ if : ${{ matrix.os == 'windows-latest' }}
71+ shell : bash
72+ run : |
73+ git config --system core.longpaths true
74+
6575 - name : Install Pnpm
6676 run : corepack enable
6777
@@ -78,16 +88,26 @@ jobs:
7888 run : pnpm run test:unit
7989
8090 # ======== integration && e2e ========
81- integration-e2e-ubuntu :
82- runs-on : ubuntu-latest
91+ integration-e2e :
92+ runs-on : ${{ matrix.os }}
8393 needs : changes
8494 if : ${{ needs.changes.outputs.changed == 'true' }}
8595 strategy :
8696 matrix :
97+ os : [ubuntu-latest]
8798 node-version : [18, 20, 22]
99+ include :
100+ - node-version : 18
101+ os : windows-latest
88102
89103 # Steps represent a sequence of tasks that will be executed as part of the job
90104 steps :
105+ - name : Git config
106+ if : ${{ matrix.os == 'windows-latest' }}
107+ shell : bash
108+ run : |
109+ git config --system core.longpaths true
110+
91111 - name : Checkout
92112 uses : actions/checkout@v4
93113 with :
@@ -103,7 +123,7 @@ jobs:
103123 cache : ' pnpm'
104124
105125 - name : Install Dependencies
106- run : pnpm install && cd ./tests && npx playwright install
126+ run : pnpm install && cd ./tests && pnpx playwright install chromium
107127
108128 - name : Integration Test (Vitest)
109129 run : pnpm run test:integration
@@ -112,11 +132,11 @@ jobs:
112132 run : pnpm run test:e2e
113133
114134 # ======== benchmark ========
115- benchmark-ubuntu :
135+ benchmark :
116136 # Only Ubuntu 20.04 and 22.04 are supported at the moment.
117137 # See https://github.com/CodSpeedHQ/action/blob/016456b513677f9d4a1c509c7f8a38d8dd55b2b0/.github/workflows/ci.yml#L19.
118138 runs-on : ubuntu-22.04
119- needs : [integration-e2e-ubuntu ]
139+ needs : [integration-e2e]
120140 strategy :
121141 matrix :
122142 node-version : [20]
@@ -151,8 +171,8 @@ jobs:
151171 # ======== exit ========
152172 pr-check-required :
153173 if : (!cancelled() && !failure())
154- needs : [ut-ubuntu , integration-e2e-ubuntu , benchmark-ubuntu ]
174+ needs : [ut, integration-e2e, benchmark]
155175 runs-on : ubuntu-latest
156- name : Test passed or skipped (Ubuntu)
176+ name : Test passed or skipped
157177 steps :
158- - run : echo "All tests passed or skipped (Ubuntu) ."
178+ - run : echo "All tests passed or skipped."
0 commit comments