1111permissions : {}
1212
1313jobs :
14+ lint :
15+ runs-on : ubuntu-latest
16+ steps :
17+ - uses : actions/checkout@v4
18+ - run : corepack enable
19+ - uses : actions/setup-node@v4
20+ with :
21+ node-version : 22
22+ cache : " pnpm"
23+
24+ - name : 📦 Install dependencies
25+ run : pnpm install
26+
27+ - run : pnpm dev:prepare
28+
29+ - name : 🔠 Lint project
30+ run : pnpm lint
31+
32+ - name : ✂️ Knip project
33+ run : pnpm knip --workspace .
34+
35+ - name : ⚙️ Check package engines
36+ run : pnpm installed-check -d --no-workspaces
37+
1438 ci :
1539 strategy :
1640 matrix :
@@ -23,36 +47,30 @@ jobs:
2347 with :
2448 node-version : 18
2549 cache : " pnpm"
26- - run : pnpm install
27-
28- # https://github.com/vitejs/vite/blob/main/.github/workflows/ci.yml#L62
29- # Install playwright's binary under custom directory to cache
30- - name : Set Playwright path (non-windows)
31- if : runner.os != 'Windows'
32- run : echo "PLAYWRIGHT_BROWSERS_PATH=$HOME/.cache/playwright-bin" >> $GITHUB_ENV
33- - name : Set Playwright path (windows)
34- if : runner.os == 'Windows'
35- run : echo "PLAYWRIGHT_BROWSERS_PATH=$HOME\.cache\playwright-bin" >> $env:GITHUB_ENV
36-
37- - name : Cache Playwright's binary
38- uses : actions/cache@v4
39- with :
40- # Playwright removes unused browsers automatically
41- # So does not need to add playwright version to key
42- key : ${{ runner.os }}-playwright-bin-v1
43- path : ${{ env.PLAYWRIGHT_BROWSERS_PATH }}
50+
51+ - name : 📦 Install dependencies
52+ run : pnpm install
4453
4554 - name : Install Playwright
4655 # does not need to explicitly set chromium after https://github.com/microsoft/playwright/issues/14862 is solved
4756 run : pnpm playwright-core install chromium
4857
4958 - run : pnpm dev:prepare
50- - run : pnpm lint
51- - run : pnpm test
52- - run : pnpm build
53- - run : pnpm test:types
59+
60+ - name : 🧪 Test project
61+ run : pnpm test
62+
63+ - name : 🛠 Build project
64+ run : pnpm build
65+
66+ - name : 💪 Type check
67+ run : pnpm test:types
68+
5469 - run : pnpm dev:build
55- - uses : codecov/codecov-action@v5
70+
71+
72+ - name : 🟩 Coverage
73+ uses : codecov/codecov-action@v5
5674 if : matrix.os != 'windows-latest'
5775 env :
5876 CODECOV_TOKEN : ${{ secrets.CODECOV_TOKEN }}
0 commit comments