@@ -17,54 +17,95 @@ jobs:
1717        with :
1818          version : 2 
1919  check-types :
20-     name : Check types  
21-     timeout-minutes : 5 
20+     name : Check Types  
21+     timeout-minutes : 10 
2222    runs-on : ubuntu-latest 
2323    steps :
2424      - uses : actions/checkout@v3 
25+       - name : Use Node.js 
26+         uses : actions/setup-node@v4 
27+         with :
28+           cache : npm 
2529      - run : npm ci 
26-       - name : Check types 
30+       - name : Type Definition Check 
31+         run : npm run ci:typecheck 
32+       - name : Test Types 
2733        run : npm run test:types 
34+   check-docs :
35+     name : Check Docs 
36+     timeout-minutes : 10 
37+     runs-on : ubuntu-latest 
38+     steps :
39+       - uses : actions/checkout@v3 
40+       - name : Use Node.js 
41+         uses : actions/setup-node@v4 
42+         with :
43+           cache : npm 
44+       - run : npm ci 
45+       - name : Check Docs 
46+         run : npm run docs 
47+   check-circular :
48+     name : Check Circular Dependencies 
49+     timeout-minutes : 15 
50+     runs-on : ubuntu-latest 
51+     steps :
52+       - uses : actions/checkout@v3 
53+       - name : Use Node.js 
54+         uses : actions/setup-node@v4 
55+         with :
56+           cache : npm 
57+       - run : npm ci 
58+       - name : Circular Dependencies 
59+         run : npm run madge:circular 
60+   check-lint :
61+     name : Lint 
62+     timeout-minutes : 15 
63+     runs-on : ubuntu-latest 
64+     steps :
65+       - uses : actions/checkout@v4 
66+       - name : Use Node.js 
67+         uses : actions/setup-node@v4 
68+         with :
69+           cache : npm 
70+       - name : Install dependencies 
71+         run : npm ci 
72+       - name : Lint 
73+         run : npm run lint 
2874  build :
2975    runs-on : ubuntu-latest 
3076    timeout-minutes : 30 
3177    strategy :
3278      matrix :
3379        include :
34-           - name : Node 14 
35-             NODE_VERSION : 14.21.1 
36-           - name : Node 16 
37-             NODE_VERSION : 16.18.1 
3880          - name : Node 18 
39-             NODE_VERSION : 18.12.1 
40-           - name : Node 19 
41-             NODE_VERSION : 19.3.0 
81+             NODE_VERSION : 18.20.4 
82+           - name : Node 20 
83+             NODE_VERSION : 20.15.1 
84+           - name : Node 22 
85+             NODE_VERSION : 22.4.1 
4286      fail-fast : false 
4387    steps :
4488    - name : Fix usage of insecure GitHub protocol 
4589      run : sudo git config --system url."https://github".insteadOf "git://github" 
46-     - name : Fix git protocol for Node 14 
47-       if : ${{ startsWith(matrix.NODE_VERSION, '14.') }} 
48-       run : sudo git config --system url."https://github".insteadOf "ssh://git@github" 
4990    - uses : actions/checkout@v3 
5091    - name : Use Node.js 
5192      uses : actions/setup-node@v3 
5293      with :
5394        node-version : ${{ matrix.NODE_VERSION }} 
54-     - name : Cache Node.js modules 
55-       uses : actions/cache@v3 
56-       with :
57-         path : ~/.npm 
58-         key : ${{ runner.os }}-node-${{ matrix.NODE_VERSION }}-${{ hashFiles('**/package-lock.json') }} 
59-         restore-keys : | 
60-             ${{ runner.os }}-node-${{ matrix.NODE_VERSION }}- 
95+         cache : npm 
6196    - run : npm ci 
62-     - run : npm run lint 
63-     - run : npm test -- --maxWorkers=4 
97+     #  Run unit tests
98+     - run : npm test -- --maxWorkers=4  
99+     #  Run integration tests
64100    - run : npm run test:mongodb 
65101      env :
66102        CI : true 
67-     - run : bash <(curl -s https://codecov.io/bash) 
103+     - name : Upload code coverage 
104+       uses : codecov/codecov-action@v4 
105+       with :
106+         #  Set to `true` once codecov token bug is fixed; https://github.com/parse-community/parse-server/issues/9129
107+         fail_ci_if_error : false 
108+         token : ${{ secrets.CODECOV_TOKEN }} 
68109concurrency :
69110  group : ${{ github.workflow }}-${{ github.ref }} 
70111  cancel-in-progress : true 
0 commit comments