11name : CI
2- on : [push, pull_request]
2+
3+ on :
4+ - push
5+ - pull_request
6+
7+ concurrency :
8+ group : ${{ github.workflow }}-${{ github.ref }}
9+ cancel-in-progress : true
10+
311jobs :
412
513 lint :
614 runs-on : ubuntu-latest
715 steps :
8- - uses : actions/checkout@v3
9- - uses : actions/cache@v3
16+ - uses : actions/checkout@v4
17+ - uses : actions/cache@v4
1018 with :
1119 path : ' **/node_modules'
1220 key : ${{ runner.os }}-lint-modules-${{ hashFiles('**/yarn.lock') }}
13- - uses : actions/setup-node@v3
21+ - uses : actions/setup-node@v4
1422 with :
15- node-version : 18.x
16- - run : yarn install
23+ node-version : 20.x
24+ - run : corepack enable
25+ - run : yarn install --frozen-lockfile
1726 - run : yarn run lint
1827
1928 test :
29+ needs : lint
2030 runs-on : ${{ matrix.os }}
2131 strategy :
2232 matrix :
23- os : [ubuntu-latest]
33+ os :
34+ - ubuntu-latest
2435 node-version :
25- - 14.x
2636 - 16.x
2737 - 18.x
2838 - 20.x
2939 steps :
30- - name : Use Node.js ${{ matrix.node-version }}
31- uses : actions/setup-node@v3
40+ - uses : actions/setup-node@v4
3241 with :
3342 node-version : ${{ matrix.node-version }}
34- - name : Ensure line endings are consistent
35- run : git config --global core.autocrlf input
36- - name : Check out repository
37- uses : actions/checkout@v3
38- - uses : actions/cache@v3
43+ - run : git config --global core.autocrlf input
44+ - uses : actions/checkout@v4
45+ - uses : actions/cache@v4
3946 with :
4047 path : ' **/node_modules'
4148 key : ${{ runner.os }}-test-modules-${{ hashFiles('**/yarn.lock') }}
42- - name : Install dependencies
43- run : yarn install
44- - name : Build project
45- run : yarn run build
46- - name : Run tests
47- run : yarn run test
48- - name : Submit coverage results
49- uses : coverallsapp/github-action@master
49+ - run : corepack enable
50+ - run : yarn install --frozen-lockfile
51+ - run : yarn run build
52+ - run : yarn run test
53+ - uses : coverallsapp/github-action@master
5054 with :
5155 github-token : ${{ secrets.github_token }}
5256 flag-name : run-${{ matrix.node-version }}
@@ -61,45 +65,45 @@ jobs:
6165 with :
6266 github-token : ${{ secrets.github_token }}
6367 parallel-finished : true
68+
6469 docker :
70+ needs : test
6571 runs-on : ${{ matrix.os }}
6672 strategy :
6773 matrix :
68- os : [ubuntu-latest]
74+ os :
75+ - ubuntu-latest
6976 node-version :
70- - 16 .x
77+ - 20 .x
7178 steps :
72- - name : Use Node.js ${{ matrix.node-version }}
73- uses : actions/setup-node@v3
79+ - uses : actions/setup-node@v4
7480 with :
7581 node-version : ${{ matrix.node-version }}
76- - name : Ensure line endings are consistent
77- run : git config --global core.autocrlf input
78- - name : Check out repository
79- uses : actions/checkout@v3
80- - name : Start Docker container
81- run : .github/workflows/start-docker.sh
82- - uses : actions/cache@v3
82+ - run : git config --global core.autocrlf input
83+ - uses : actions/checkout@v4
84+ - run : .github/workflows/start-docker.sh
85+ - uses : actions/cache@v4
8386 with :
8487 path : ' **/node_modules'
8588 key : ${{ runner.os }}-docker-modules-${{ hashFiles('**/yarn.lock') }}
86- - name : Install dependencies
87- run : yarn install
88- - name : Send update query
89- run : .github/workflows/test-docker.sh
90- - name : Stop Docker container
91- run : .github/workflows/stop-docker.sh
89+ - run : corepack enable
90+ - run : yarn install --frozen-lockfile
91+ - run : yarn build
92+ - run : .github/workflows/test-docker.sh
93+ - run : .github/workflows/stop-docker.sh
9294
9395 webpack :
96+ needs : test
9497 runs-on : ubuntu-latest
9598 steps :
96- - uses : actions/checkout@v3
97- - uses : actions/cache@v3
99+ - uses : actions/checkout@v4
100+ - uses : actions/cache@v4
98101 with :
99102 path : ' **/node_modules'
100103 key : ${{ runner.os }}-webpack-modules-${{ hashFiles('**/yarn.lock') }}
101- - uses : actions/setup-node@v3
104+ - uses : actions/setup-node@v4
102105 with :
103- node-version : 18.x
104- - run : yarn install
106+ node-version : 20.x
107+ - run : corepack enable
108+ - run : yarn install --frozen-lockfile
105109 - run : npx webpack
0 commit comments