|
1 | 1 | name: CI
|
2 |
| - |
3 | 2 | on:
|
4 | 3 | push:
|
5 | 4 | branches:
|
6 | 5 | - main
|
7 |
| - |
8 | 6 | pull_request:
|
9 | 7 | branches:
|
10 | 8 | - main
|
11 | 9 |
|
12 | 10 | jobs:
|
13 |
| - lint: |
14 |
| - runs-on: ubuntu-latest |
15 |
| - steps: |
16 |
| - - uses: actions/checkout@v4 |
17 |
| - with: |
18 |
| - submodules: recursive |
19 |
| - |
20 |
| - - name: Install pnpm |
21 |
| - uses: pnpm/action-setup@v2 |
22 |
| - |
23 |
| - - name: Set node |
24 |
| - uses: actions/setup-node@v4 |
25 |
| - with: |
26 |
| - node-version: lts/* |
27 |
| - |
28 |
| - - name: Setup |
29 |
| - run: npm i -g @antfu/ni |
30 |
| - |
31 |
| - - name: Install |
32 |
| - run: nci |
33 |
| - |
34 |
| - - name: Lint |
35 |
| - run: nr lint |
36 |
| - |
37 |
| - typecheck: |
38 |
| - runs-on: ubuntu-latest |
39 |
| - steps: |
40 |
| - - uses: actions/checkout@v4 |
41 |
| - with: |
42 |
| - submodules: recursive |
43 |
| - |
44 |
| - - name: Install pnpm |
45 |
| - uses: pnpm/action-setup@v2 |
46 |
| - |
47 |
| - - name: Set node |
48 |
| - uses: actions/setup-node@v4 |
49 |
| - with: |
50 |
| - node-version: lts/* |
51 |
| - |
52 |
| - - name: Setup |
53 |
| - run: npm i -g @antfu/ni |
54 |
| - |
55 |
| - - name: Install |
56 |
| - run: nci |
57 |
| - |
58 |
| - - name: Build |
59 |
| - run: nr build |
60 |
| - |
61 |
| - - name: Typecheck |
62 |
| - run: nr typecheck |
63 |
| - |
64 | 11 | test:
|
65 | 12 | runs-on: ${{ matrix.os }}
|
66 | 13 |
|
67 | 14 | strategy:
|
68 | 15 | matrix:
|
69 |
| - node: [lts/*] |
70 |
| - os: [ubuntu-latest, windows-latest, macos-latest] |
71 |
| - include: |
72 |
| - - node: 16.x |
73 |
| - os: ubuntu-latest |
74 |
| - - node: 18.x |
75 |
| - os: ubuntu-latest |
76 |
| - fail-fast: false |
| 16 | + os: [ubuntu-latest, windows-latest] |
77 | 17 |
|
78 | 18 | steps:
|
79 |
| - - uses: actions/checkout@v4 |
| 19 | + - uses: actions/checkout@v3 |
| 20 | + - uses: actions/setup-node@v3 |
80 | 21 | with:
|
81 |
| - submodules: recursive |
| 22 | + node-version: lts/* |
82 | 23 |
|
83 |
| - - name: Install pnpm |
| 24 | + - name: pnpm setup |
84 | 25 | uses: pnpm/action-setup@v2
|
85 | 26 |
|
86 |
| - - name: Set node ${{ matrix.node }} |
87 |
| - uses: actions/setup-node@v4 |
88 |
| - with: |
89 |
| - node-version: ${{ matrix.node }} |
| 27 | + - name: Install dependencies |
| 28 | + run: pnpm install |
90 | 29 |
|
91 |
| - - name: Setup |
92 |
| - run: npm i -g @antfu/ni |
| 30 | + - run: pnpm run update |
| 31 | + - run: pnpm run build |
| 32 | + - run: pnpm run gen |
| 33 | + working-directory: ./packages/site |
93 | 34 |
|
94 |
| - - name: Install |
95 |
| - run: nci |
| 35 | + - run: pnpm run test |
96 | 36 |
|
97 |
| - - name: Build |
98 |
| - run: nr build |
| 37 | + - name: Install E2E test browsers |
| 38 | + if: runner.os != 'Windows' |
| 39 | + run: pnpm exec playwright install --with-deps chromium |
99 | 40 |
|
100 |
| - - name: Test |
101 |
| - run: nr test --coverage |
| 41 | + - name: Run E2E tests |
| 42 | + if: runner.os != 'Windows' |
| 43 | + run: pnpm run test:e2e |
102 | 44 |
|
103 |
| - - name: Upload coverage reports to Codecov |
104 |
| - uses: codecov/codecov-action@v3 |
105 |
| - env: |
106 |
| - CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} |
| 45 | + - name: Upload E2E results |
| 46 | + uses: actions/upload-artifact@v3 |
| 47 | + if: runner.os != 'Windows' |
| 48 | + with: |
| 49 | + name: playwright-report |
| 50 | + path: playwright-report/ |
| 51 | + retention-days: 30 |
0 commit comments