Skip to content

Commit b5e33f2

Browse files
authored
Update actions and Node versions, fix CI job ordering (#75)
Co-authored-by: surilindur <surilindur@users.noreply.github.com>
1 parent 09cee6c commit b5e33f2

File tree

1 file changed

+49
-45
lines changed

1 file changed

+49
-45
lines changed

.github/workflows/ci.yml

Lines changed: 49 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -1,52 +1,56 @@
11
name: 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+
311
jobs:
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

Comments
 (0)