History

Cache CI dependencies and image layers

Rhys Sullivan committed 4 months ago

Commit 91d59f01 parent 79c85521 file · +70 −0Browse files

Showing the changes to .github (1 of 1 file). Show all

Unified · Split

.github/workflows/ci.yml+70−0
@@ -21,6 +21,14 @@ jobs: · 20 unmodified lines
2121 with:
2222 bun-version: 1.3.11
2323
24+ - name: Cache Bun package cache
25+ uses: actions/cache@v4
26+ with:
27+ path: ~/.bun/install/cache
28+ key: ${{ runner.os }}-bun-1.3.11-${{ hashFiles('bun.lock') }}
29+ restore-keys: |
30+ ${{ runner.os }}-bun-1.3.11-
31+
2432 - run: bun install --frozen-lockfile
2533
2634 - run: bun run format:check
@@ -35,6 +43,14 @@ jobs: · 8 unmodified lines
3543 with:
3644 bun-version: 1.3.11
3745
46+ - name: Cache Bun package cache
47+ uses: actions/cache@v4
48+ with:
49+ path: ~/.bun/install/cache
50+ key: ${{ runner.os }}-bun-1.3.11-${{ hashFiles('bun.lock') }}
51+ restore-keys: |
52+ ${{ runner.os }}-bun-1.3.11-
53+
3854 - run: bun install --frozen-lockfile
3955
4056 - run: bun run lint
@@ -49,6 +65,14 @@ jobs: · 8 unmodified lines
4965 with:
5066 bun-version: 1.3.11
5167
68+ - name: Cache Bun package cache
69+ uses: actions/cache@v4
70+ with:
71+ path: ~/.bun/install/cache
72+ key: ${{ runner.os }}-bun-1.3.11-${{ hashFiles('bun.lock') }}
73+ restore-keys: |
74+ ${{ runner.os }}-bun-1.3.11-
75+
5276 - run: bun install --frozen-lockfile
5377
5478 - run: bun run typecheck
@@ -65,6 +89,14 @@ jobs: · 10 unmodified lines
6589 with:
6690 bun-version: 1.3.11
6791
92+ - name: Cache Bun package cache
93+ uses: actions/cache@v4
94+ with:
95+ path: ~/.bun/install/cache
96+ key: ${{ runner.os }}-bun-1.3.11-${{ hashFiles('bun.lock') }}
97+ restore-keys: |
98+ ${{ runner.os }}-bun-1.3.11-
99+
68100 # apps/cloud's test script invokes `node` directly; undici 8.x (pulled
69101 # in by @cloudflare/vitest-pool-workers) calls webidl.markAsUncloneable
70102 # which only exists in Node 22.10+. Pin a known-good runtime.
@@ -107,6 +139,14 @@ jobs: · 36 unmodified lines
107139 with:
108140 bun-version: 1.3.11
109141
142+ - name: Cache Bun package cache
143+ uses: actions/cache@v4
144+ with:
145+ path: ~/.bun/install/cache
146+ key: ${{ runner.os }}-bun-1.3.11-${{ hashFiles('bun.lock') }}
147+ restore-keys: |
148+ ${{ runner.os }}-bun-1.3.11-
149+
110150 # The dev stacks spawn Node sidecars (vite/workerd tooling); pin the
111151 # same known-good runtime the unit-test job uses.
112152 - uses: actions/setup-node@v4
@@ -115,6 +155,12 @@ jobs: · 2 unmodified lines
115155
116156 - run: bun install --frozen-lockfile
117157
158+ - name: Cache Playwright browsers
159+ uses: actions/cache@v4
160+ with:
161+ path: ~/.cache/ms-playwright
162+ key: ${{ runner.os }}-playwright-1.60.0
163+
118164 # Install from e2e so bunx resolves ITS pinned playwright (the version
119165 # the tests run against) rather than floating to the latest.
120166 - name: Install Playwright Chromium
@@ -154,6 +200,14 @@ jobs: · 33 unmodified lines
154200 with:
155201 bun-version: 1.3.11
156202
203+ - name: Cache Bun package cache
204+ uses: actions/cache@v4
205+ with:
206+ path: ~/.bun/install/cache
207+ key: ${{ runner.os }}-bun-1.3.11-${{ hashFiles('bun.lock') }}
208+ restore-keys: |
209+ ${{ runner.os }}-bun-1.3.11-
210+
157211 # The local scenarios boot a real `executor web` (which spawns a Node
158212 # sidecar) and some drive a browser, so pin Node 22 and install Chromium.
159213 - uses: actions/setup-node@v4
@@ -162,6 +216,12 @@ jobs: · 2 unmodified lines
162216
163217 - run: bun install --frozen-lockfile
164218
219+ - name: Cache Playwright browsers
220+ uses: actions/cache@v4
221+ with:
222+ path: ~/.cache/ms-playwright
223+ key: ${{ runner.os }}-playwright-1.60.0
224+
165225 # `chromium` and the new `chromium-headless-shell` ship as separate
166226 # downloads; the browser-driven scenarios launch the headless shell.
167227 # Install from e2e so bunx resolves ITS pinned playwright (the version the
@@ -192,6 +252,14 @@ jobs: · 24 unmodified lines
192252 with:
193253 bun-version: 1.3.11
194254
255+ - name: Cache Bun package cache
256+ uses: actions/cache@v4
257+ with:
258+ path: ~/.bun/install/cache
259+ key: ${{ runner.os }}-bun-1.3.11-${{ hashFiles('bun.lock') }}
260+ restore-keys: |
261+ ${{ runner.os }}-bun-1.3.11-
262+
195263 - run: bun install --frozen-lockfile
196264
197265 - name: Build web app
@@ -223,3 +291,5 @@ jobs: · 25 unmodified lines
223291 file: apps/host-selfhost/Dockerfile
224292 push: false
225293 tags: executor-selfhost:ci
294+ cache-from: type=gha
295+ cache-to: type=gha,mode=max