|
9 | 9 | branches: [main, master]
|
10 | 10 |
|
11 | 11 | jobs:
|
12 |
| - basic_node_test: |
13 |
| - name: 'Basic tests on ubuntu-latest with nodejs v22 (current LTS version)' |
14 |
| - runs-on: ubuntu-latest |
15 |
| - steps: |
16 |
| - - uses: actions/checkout@v2 |
17 |
| - - uses: actions/setup-node@v2 |
18 |
| - with: |
19 |
| - node-version: ${{ matrix.node }} |
20 |
| - - name: Install npm dependencies |
21 |
| - run: npm install |
22 |
| - - name: Print put node & npm version |
23 |
| - run: node --version && npm --version |
24 |
| - - name: Install chromium |
25 |
| - run: npx playwright install chromium |
26 |
| - - name: Run unit test |
27 |
| - run: npm run test |
28 |
| - |
29 |
| - windows_and_macos_test: |
30 |
| - name: 'Platform tests on ${{matrix.os}} with nodejs v${{matrix.node}}' |
31 |
| - needs: basic_node_test |
| 12 | + test: |
| 13 | + name: 'Tests on ${{matrix.os}} with Node "${{matrix.node}}"' |
32 | 14 | strategy:
|
33 | 15 | matrix:
|
34 |
| - # Test all mainstream operating system |
35 |
| - os: [macos-latest, windows-latest] |
36 |
| - node: [22] |
37 |
| - runs-on: ${{ matrix.os }} |
38 |
| - steps: |
39 |
| - # Pull repo to test machine |
40 |
| - - uses: actions/checkout@v2 |
41 |
| - # Configures the node version used on GitHub-hosted runners |
42 |
| - - uses: actions/setup-node@v2 |
43 |
| - with: |
44 |
| - # The Node.js version to configure |
45 |
| - node-version: ${{ matrix.node }} |
46 |
| - - name: Install npm dependencies |
47 |
| - run: npm install |
48 |
| - - name: Print put node & npm version |
49 |
| - # Output useful info for debugging. |
50 |
| - run: node --version && npm --version |
51 |
| - - name: Install chromium |
52 |
| - run: npx playwright install chromium |
53 |
| - - name: Run unit test |
54 |
| - run: npm run test |
| 16 | + # Test all mainstream operating systems |
| 17 | + os: [ubuntu-latest, macos-latest, windows-latest] |
| 18 | + node: ['current'] |
| 19 | + include: |
| 20 | + - os: ubuntu-latest |
| 21 | + node: 'lts/*' |
| 22 | + - os: ubuntu-latest |
| 23 | + node: 'lts/-1' |
| 24 | + - os: ubuntu-latest |
| 25 | + node: 'lts/-2' |
| 26 | + - os: ubuntu-latest |
| 27 | + node: 'lts/-3' |
55 | 28 |
|
56 |
| - historical_versions_node_test: |
57 |
| - name: 'Historical version nodejs v${{matrix.node}} test' |
58 |
| - needs: basic_node_test |
59 |
| - strategy: |
60 |
| - matrix: |
61 |
| - os: [ubuntu-latest] |
62 |
| - node: [14, 16, 18, 20] |
63 | 29 | runs-on: ${{ matrix.os }}
|
| 30 | + # This has copy/paste steps and should be refactored using DRY |
64 | 31 | steps:
|
65 |
| - - uses: actions/checkout@v2 |
66 |
| - - uses: actions/setup-node@v2 |
67 |
| - with: |
68 |
| - node-version: ${{ matrix.node }} |
69 |
| - - name: Install npm dependencies |
70 |
| - run: npm install |
71 |
| - - name: Print put node & npm version |
72 |
| - run: node --version && npm --version |
73 |
| - - name: Install chromium |
74 |
| - run: npx playwright install chromium |
75 |
| - - name: Run unit test |
76 |
| - run: npm run test |
77 |
| - |
78 |
| - latest_nodejs_testing_node23: |
79 |
| - name: 'Latest nodejs v23 test' |
80 |
| - needs: basic_node_test |
81 |
| - runs-on: ubuntu-latest |
82 |
| - steps: |
83 |
| - - uses: actions/checkout@v2 |
84 |
| - - uses: actions/setup-node@v2 |
85 |
| - with: |
86 |
| - node-version: 23 |
87 |
| - - name: Install npm dependencies |
88 |
| - run: npm install |
89 |
| - - name: Print put node & npm version |
90 |
| - run: node --version && npm --version |
91 |
| - - name: Install chromium |
92 |
| - run: npx playwright install chromium |
93 |
| - - name: Run unit test |
94 |
| - run: npm run test |
| 32 | + - uses: actions/checkout@v4 |
| 33 | + - name: Install pnpm |
| 34 | + uses: pnpm/action-setup@v4 |
| 35 | + with: |
| 36 | + version: 8 |
| 37 | + - uses: actions/setup-node@v4 |
| 38 | + with: |
| 39 | + node-version: ${{ matrix.node }} |
| 40 | + cache: 'pnpm' |
| 41 | + - name: Install dependencies |
| 42 | + run: pnpm install |
| 43 | + - name: Print put node & npm version |
| 44 | + run: node --version && pnpm --version |
| 45 | + - name: Install chromium |
| 46 | + run: npx playwright install chromium |
| 47 | + - name: Run unit test |
| 48 | + run: pnpm run test |
0 commit comments