Skip to content

Commit bd3185a

Browse files
committed
modernize gh workflow
1 parent 6c5f294 commit bd3185a

1 file changed

Lines changed: 48 additions & 24 deletions

File tree

.github/workflows/build-and-test.yml

Lines changed: 48 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -8,67 +8,91 @@ jobs:
88
env:
99
CI: true
1010
steps:
11-
- uses: actions/checkout@v2
11+
- uses: actions/checkout@v4
1212
- run: git fetch --no-tags --prune --depth=1 origin +refs/heads/*:refs/remotes/origin/*
13-
- name: Setup node 14
14-
uses: actions/setup-node@v1
13+
- name: Setup node 24
14+
uses: actions/setup-node@v4
1515
with:
16-
node-version: 14.x
17-
- run: yarn install --frozen-lockfile --check-files
18-
- uses: actions/cache@v1
16+
node-version: 24.x
17+
- name: Install pnpm
18+
uses: pnpm/action-setup@v4
19+
with:
20+
version: 9.15.0
21+
- name: Get pnpm store directory
22+
shell: bash
23+
run: |
24+
echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV
25+
- uses: actions/cache@v4
26+
name: Setup pnpm cache
27+
with:
28+
path: ${{ env.STORE_PATH }}
29+
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
30+
restore-keys: |
31+
${{ runner.os }}-pnpm-store-
32+
- run: pnpm install --frozen-lockfile
33+
- uses: actions/cache@v4
1934
id: cache-deps
2035
with:
21-
token: ${{ github.token }}
2236
path: '.'
2337
key: ${{ github.sha }}-deps
2438
lint:
2539
runs-on: ubuntu-latest
2640
needs: install-dependencies
2741
steps:
28-
- uses: actions/cache@v1
42+
- uses: actions/cache@v4
2943
id: restore-deps
3044
with:
3145
path: '.'
3246
key: ${{ github.sha }}-deps
33-
- name: Setup node 14
34-
uses: actions/setup-node@v1
47+
- name: Setup node 24
48+
uses: actions/setup-node@v4
49+
with:
50+
node-version: 24.x
51+
- name: Install pnpm
52+
uses: pnpm/action-setup@v4
3553
with:
36-
node-version: 14.x
37-
- run: yarn lint
54+
version: 9.15.0
55+
- run: pnpm lint
3856
unit-test:
3957
runs-on: ubuntu-latest
4058
needs: install-dependencies
4159
steps:
42-
- uses: actions/cache@v1
60+
- uses: actions/cache@v4
4361
id: restore-deps
4462
with:
4563
path: '.'
4664
key: ${{ github.sha }}-deps
47-
- name: Setup node 14
48-
uses: actions/setup-node@v1
65+
- name: Setup node 24
66+
uses: actions/setup-node@v4
4967
with:
50-
node-version: 14.x
51-
- run: yarn test
68+
node-version: 24.x
69+
- name: Install pnpm
70+
uses: pnpm/action-setup@v4
71+
with:
72+
version: 9.15.0
73+
- run: pnpm test
5274
build:
5375
runs-on: ubuntu-latest
5476
needs: install-dependencies
5577
strategy:
5678
matrix:
57-
node-version: [14.x]
79+
node-version: [24.x]
5880
steps:
59-
- uses: actions/cache@v1
81+
- uses: actions/cache@v4
6082
id: restore-deps
6183
with:
6284
path: '.'
6385
key: ${{ github.sha }}
6486
- name: Use Node.js ${{ matrix.node-version }}
65-
uses: actions/setup-node@v1
87+
uses: actions/setup-node@v4
6688
with:
6789
node-version: ${{ matrix.node-version }}
68-
# HACK(johnrjj) - Rebuild node-sass in case build step runs on a separate machine than the dependency install
69-
- run: npm rebuild node-sass
70-
- run: yarn build:prod
71-
- uses: actions/cache@v1
90+
- name: Install pnpm
91+
uses: pnpm/action-setup@v4
92+
with:
93+
version: 9.15.0
94+
- run: pnpm build:prod
95+
- uses: actions/cache@v4
7296
id: cache-build
7397
with:
7498
path: '.'

0 commit comments

Comments
 (0)