@@ -39,20 +39,18 @@ jobs:
3939 - name : Checkout code
4040 uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
4141
42- - uses : erlef/setup-beam@9d5b75ddfda22fb979d2270283237aef8aa68d6b # v1.22 .0
42+ - uses : erlef/setup-beam@fc68ffb90438ef2936bbb3251622353b3dcb2f93 # v1.24 .0
4343 with :
4444 otp-version : ${{ matrix.otp }}
4545 elixir-version : ${{ matrix.elixir }}
4646
47- - name : Setup node
48- uses : actions /setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3 .0
47+ - name : Setup bun
48+ uses : oven-sh /setup-bun@0c5077e51419868618aeaa5fe8019c62421857d6 # v2.2 .0
4949 with :
50- node-version : 24
51- cache : " yarn"
52- cache-dependency-path : yarn.lock
50+ bun-version : " 1.3.13"
5351
5452 - name : Restore the deps and _build cache
55- uses : actions/cache@cdf6c1fa76f9f475f3d7449005a359c84ca0f306 # v5.0.3
53+ uses : actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5
5654 id : restore-cache
5755 env :
5856 MIX_LOCK_HASH : ${{ hashFiles(format('{0}{1}', github.workspace, '/mix.lock')) }}
@@ -75,23 +73,23 @@ jobs:
7573 run : mix compile --warnings-as-errors --force
7674
7775 - name : Cache node modules
78- uses : actions/cache@cdf6c1fa76f9f475f3d7449005a359c84ca0f306 # v5.0.3
79- id : yarn -cache
76+ uses : actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5
77+ id : bun -cache
8078 with :
8179 path : node_modules
82- key : ${{ runner.os }}-node-24-yarn -${{ hashFiles('yarn .lock') }}
80+ key : ${{ runner.os }}-node-24-bun -${{ hashFiles('bun .lock') }}
8381 restore-keys : |
84- ${{ runner.os }}-node-24-yarn -
82+ ${{ runner.os }}-node-24-bun -
8583
8684 - name : Install node dependencies
87- if : steps.yarn -cache.outputs.cache-hit != 'true'
88- run : yarn install --pure -lockfile
85+ if : steps.bun -cache.outputs.cache-hit != 'true'
86+ run : bun install --frozen -lockfile
8987
9088 - name : Check formatting
9189 run : mix format --check-formatted
9290
9391 - name : JavaScript Standard
94- run : yarn run lint:standard
92+ run : bun run lint:standard
9593
9694 - name : Build docs with warnings as errors
9795 run : mix docs --warnings-as-errors
@@ -131,7 +129,7 @@ jobs:
131129 - name : Checkout code
132130 uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
133131
134- - uses : erlef/setup-beam@9d5b75ddfda22fb979d2270283237aef8aa68d6b # v1.22 .0
132+ - uses : erlef/setup-beam@fc68ffb90438ef2936bbb3251622353b3dcb2f93 # v1.24 .0
135133 id : beam
136134 with :
137135 version-file : .tool-versions
@@ -154,7 +152,7 @@ jobs:
154152
155153 services :
156154 postgres :
157- image : postgres:16.13@sha256:2586e2a95d1c9b31cb2967feb562948f7d364854453d703039b6efa45fe48417
155+ image : postgres:16.13@sha256:5d143123fdf80462d1778cd4f24b9f7ca13c87174bca19141fb194c5a1ebca59
158156 env :
159157 POSTGRES_PASSWORD : postgres
160158 options : >-
@@ -170,21 +168,24 @@ jobs:
170168 uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
171169
172170 - name : Setup beam
173- uses : erlef/setup-beam@9d5b75ddfda22fb979d2270283237aef8aa68d6b # v1.22 .0
171+ uses : erlef/setup-beam@fc68ffb90438ef2936bbb3251622353b3dcb2f93 # v1.24 .0
174172 id : beam
175173 with :
176174 version-file : .tool-versions
177175 version-type : strict
178176
179177 - name : Setup node
180- uses : actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3 .0
178+ uses : actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4 .0
181179 with :
182180 node-version : 24
183- cache : " yarn"
184- cache-dependency-path : demo/yarn.lock
181+
182+ - name : Setup bun
183+ uses : oven-sh/setup-bun@0c5077e51419868618aeaa5fe8019c62421857d6 # v2.2.0
184+ with :
185+ bun-version : " 1.3.13"
185186
186187 - name : Restore the deps and _build cache
187- uses : actions/cache@cdf6c1fa76f9f475f3d7449005a359c84ca0f306 # v5.0.3
188+ uses : actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5
188189 id : restore-cache
189190 env :
190191 OTP_VERSION : ${{ steps.beam.outputs.otp-version }}
@@ -212,31 +213,31 @@ jobs:
212213 run : mix compile --warnings-as-errors --force
213214
214215 - name : Cache node modules
215- uses : actions/cache@cdf6c1fa76f9f475f3d7449005a359c84ca0f306 # v5.0.3
216- id : yarn -cache
216+ uses : actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5
217+ id : bun -cache
217218 with :
218219 path : demo/node_modules
219- key : ${{ runner.os }}-node-24-yarn -demo-${{ hashFiles('demo/yarn .lock') }}
220+ key : ${{ runner.os }}-node-24-bun -demo-${{ hashFiles('demo/bun .lock') }}
220221 restore-keys : |
221- ${{ runner.os }}-node-24-yarn -demo-
222+ ${{ runner.os }}-node-24-bun -demo-
222223
223224 - name : Install node dependencies
224- if : steps.yarn -cache.outputs.cache-hit != 'true'
225+ if : steps.bun -cache.outputs.cache-hit != 'true'
225226 working-directory : demo
226- run : yarn install --pure -lockfile
227+ run : bun install --frozen -lockfile
227228
228229 - name : Cache Backpex node modules
229- uses : actions/cache@cdf6c1fa76f9f475f3d7449005a359c84ca0f306 # v5.0.3
230- id : yarn -cache-backpex
230+ uses : actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5
231+ id : bun -cache-backpex
231232 with :
232233 path : node_modules
233- key : ${{ runner.os }}-node-24-yarn -backpex-${{ hashFiles('yarn .lock') }}
234+ key : ${{ runner.os }}-node-24-bun -backpex-${{ hashFiles('bun .lock') }}
234235 restore-keys : |
235- ${{ runner.os }}-node-24-yarn -backpex-
236+ ${{ runner.os }}-node-24-bun -backpex-
236237
237238 - name : Install Backpex node dependencies
238- if : steps.yarn -cache-backpex.outputs.cache-hit != 'true'
239- run : yarn install --pure -lockfile
239+ if : steps.bun -cache-backpex.outputs.cache-hit != 'true'
240+ run : bun install --frozen -lockfile
240241
241242 - name : Setup assets
242243 working-directory : demo
@@ -248,31 +249,31 @@ jobs:
248249
249250 - name : lint:mix
250251 working-directory : demo
251- run : yarn lint:mix
252+ run : bun run lint:mix
252253
253254 - name : lint:credo
254255 working-directory : demo
255- run : yarn lint:credo
256+ run : bun run lint:credo
256257
257258 - name : lint:sobelow
258259 working-directory : demo
259- run : yarn lint:sobelow
260+ run : bun run lint:sobelow
260261
261262 - name : lint:style
262263 working-directory : demo
263- run : yarn lint:style
264+ run : bun run lint:style
264265
265266 - name : lint:standard
266267 working-directory : demo
267- run : yarn lint:standard
268+ run : bun run lint:standard
268269
269270 - name : lint:deps-unused
270271 working-directory : demo
271- run : yarn lint:deps-unused
272+ run : bun run lint:deps-unused
272273
273274 - name : lint:gettext
274275 working-directory : demo
275- run : yarn lint:gettext
276+ run : bun run lint:gettext
276277
277278 - name : Deps audit
278279 working-directory : demo
@@ -286,21 +287,21 @@ jobs:
286287 DB_USERNAME : postgres
287288 DB_PASSWORD : postgres
288289 DB_DATABASE : test
289- run : yarn test
290+ run : bun run test
290291
291292 - name : Cache Playwright browsers
292- uses : actions/cache@cdf6c1fa76f9f475f3d7449005a359c84ca0f306 # v5.0.3
293+ uses : actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5
293294 id : playwright-cache
294295 with :
295296 path : ~/.cache/ms-playwright
296- key : ${{ runner.os }}-playwright-${{ hashFiles('demo/yarn .lock') }}
297+ key : ${{ runner.os }}-playwright-${{ hashFiles('demo/bun .lock') }}
297298 restore-keys : |
298299 ${{ runner.os }}-playwright-
299300
300301 - name : Install playwright
301302 if : steps.playwright-cache.outputs.cache-hit != 'true'
302303 working-directory : demo
303- run : yarn playwright install chromium --with-deps --only-shell
304+ run : bun x playwright install chromium --with-deps --only-shell
304305
305306 - name : Run playwright test
306307 working-directory : demo
@@ -309,11 +310,11 @@ jobs:
309310 DB_USERNAME : postgres
310311 DB_PASSWORD : postgres
311312 DB_DATABASE : test
312- run : yarn test:playwright || if [[ $? = 2 ]]; then PW_TRACE=true yarn test:playwright --max-cases 1 --failed; else false; fi
313+ run : bun run test:playwright || if [[ $? = 2 ]]; then PW_TRACE=true bun run test:playwright --max-cases 1 --failed; else false; fi
313314
314315 - name : Upload Playwright traces
315316 if : failure()
316- uses : actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
317+ uses : actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
317318 with :
318319 name : playwright-traces
319320 path : tmp/
@@ -339,7 +340,7 @@ jobs:
339340
340341 - name : Log in to the container registry
341342 if : env.PUSH_IMAGE == 'true'
342- uses : docker/login-action@b45d80f862d83dbcd57f89517bcf500b2ab88fb2 # v4.0 .0
343+ uses : docker/login-action@4907a6ddec9925e35a0a9e82d7399ccc52663121 # v4.1 .0
343344 with :
344345 registry : ${{ env.REGISTRY }}
345346 username : ${{ github.actor }}
@@ -352,7 +353,7 @@ jobs:
352353 images : ${{ env.REGISTRY }}/${{ env.IMAGE_NAME_RUNTIME }}
353354
354355 - name : Build container
355- uses : docker/build-push-action@d08e5c354a6adb9ed34480a06d141179aa583294 # v7.0 .0
356+ uses : docker/build-push-action@bcafcacb16a39f128d818304e6c9c0c18556b85f # v7.1 .0
356357 with :
357358 push : ${{ env.PUSH_IMAGE }}
358359 tags : ${{ steps.meta.outputs.tags }}
0 commit comments