Skip to content

Commit 9371cc4

Browse files
Merge pull request #299 from corbitsdev/cl-ci-fast
CL-6589: make CI itself fast — cache installs and lint, check only what changed
2 parents a823376 + 1c5c510 commit 9371cc4

1 file changed

Lines changed: 46 additions & 0 deletions

File tree

‎.github/workflows/ci.yml‎

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,40 +24,79 @@ jobs:
2424
runs-on: ubuntu-latest
2525
steps:
2626
- uses: actions/checkout@v4
27+
with:
28+
fetch-depth: 0
2729
- uses: oven-sh/setup-bun@v2
2830
with:
2931
bun-version: latest
32+
- uses: actions/cache@v4
33+
with:
34+
path: ~/.bun/install/cache
35+
key: bun-${{ runner.os }}-${{ hashFiles('bun.lock') }}
36+
restore-keys: bun-${{ runner.os }}-
3037
- run: bun install --frozen-lockfile
38+
- uses: actions/cache@v4
39+
with:
40+
path: |
41+
.eslintcache
42+
node_modules/.cache/prettier
43+
key: lint-${{ runner.os }}-${{ github.sha }}
44+
restore-keys: lint-${{ runner.os }}-
3145
- run: bun run lint
3246

3347
typecheck:
3448
runs-on: ubuntu-latest
3549
steps:
3650
- uses: actions/checkout@v4
51+
with:
52+
fetch-depth: 0
3753
- uses: oven-sh/setup-bun@v2
3854
with:
3955
bun-version: latest
56+
- uses: actions/cache@v4
57+
with:
58+
path: ~/.bun/install/cache
59+
key: bun-${{ runner.os }}-${{ hashFiles('bun.lock') }}
60+
restore-keys: bun-${{ runner.os }}-
4061
- run: bun install --frozen-lockfile
4162
- run: bun run typecheck
63+
env:
64+
WORKBENCH_CHECK_SINCE: ${{ github.event.pull_request.base.sha }}
4265

4366
build-test:
4467
runs-on: ubuntu-latest
4568
steps:
4669
- uses: actions/checkout@v4
70+
with:
71+
fetch-depth: 0
4772
- uses: oven-sh/setup-bun@v2
4873
with:
4974
bun-version: latest
75+
- uses: actions/cache@v4
76+
with:
77+
path: ~/.bun/install/cache
78+
key: bun-${{ runner.os }}-${{ hashFiles('bun.lock') }}
79+
restore-keys: bun-${{ runner.os }}-
5080
- run: bun install --frozen-lockfile
5181
- run: bun run build
5282
- run: bun run test
83+
env:
84+
WORKBENCH_CHECK_SINCE: ${{ github.event.pull_request.base.sha }}
5385

5486
structural:
5587
runs-on: ubuntu-latest
5688
steps:
5789
- uses: actions/checkout@v4
90+
with:
91+
fetch-depth: 0
5892
- uses: oven-sh/setup-bun@v2
5993
with:
6094
bun-version: latest
95+
- uses: actions/cache@v4
96+
with:
97+
path: ~/.bun/install/cache
98+
key: bun-${{ runner.os }}-${{ hashFiles('bun.lock') }}
99+
restore-keys: bun-${{ runner.os }}-
61100
- run: bun install --frozen-lockfile
62101
- name: Structural check self-tests
63102
run: bun test scripts/checks/test
@@ -99,9 +138,16 @@ jobs:
99138
100139
steps:
101140
- uses: actions/checkout@v4
141+
with:
142+
fetch-depth: 0
102143
- uses: oven-sh/setup-bun@v2
103144
with:
104145
bun-version: latest
146+
- uses: actions/cache@v4
147+
with:
148+
path: ~/.bun/install/cache
149+
key: bun-${{ runner.os }}-${{ hashFiles('bun.lock') }}
150+
restore-keys: bun-${{ runner.os }}-
105151
- run: bun install --frozen-lockfile
106152

107153
# The committed template ships a placeholder secret and a

0 commit comments

Comments
 (0)