Skip to content

Commit 4f63b20

Browse files
committed
CI: cache MLX build artifacts and bump to Node.js 24 actions
Cache ~/Library/Caches/emily (MLX cmake build + NIF object files) to avoid rebuilding MLX from source on every CI run (~6 min). Bump checkout v4→v6 and cache v4→v5 to silence Node.js 20 deprecation warnings.
1 parent 381ea74 commit 4f63b20

1 file changed

Lines changed: 13 additions & 4 deletions

File tree

.github/workflows/ci.yml

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ jobs:
2222
env:
2323
MIX_ENV: test
2424
steps:
25-
- uses: actions/checkout@v4
25+
- uses: actions/checkout@v6
2626
with:
2727
submodules: recursive
2828

@@ -33,25 +33,34 @@ jobs:
3333
version-type: strict
3434

3535
- name: Cache deps
36-
uses: actions/cache@v4
36+
uses: actions/cache@v5
3737
with:
3838
path: deps
3939
key: deps-${{ runner.os }}-${{ hashFiles('mix.lock') }}
4040
restore-keys: deps-${{ runner.os }}-
4141

4242
- name: Cache build
43-
uses: actions/cache@v4
43+
uses: actions/cache@v5
4444
with:
4545
path: _build
4646
key: build-${{ runner.os }}-${{ hashFiles('mix.lock', 'c_src/**', 'Makefile', '.tool-versions', '.gitmodules') }}
4747
restore-keys: build-${{ runner.os }}-
4848

49+
# MLX cmake build (~6 min from source) and NIF object files.
50+
# Keyed by the vendored MLX submodule commit + NIF sources.
51+
- name: Cache MLX and NIF objects
52+
uses: actions/cache@v5
53+
with:
54+
path: ~/Library/Caches/emily
55+
key: mlx-${{ runner.os }}-${{ hashFiles('.gitmodules', 'c_src/**', 'Makefile') }}
56+
restore-keys: mlx-${{ runner.os }}-
57+
4958
# The Bumblebee cache holds tiny-random HuggingFace fixtures
5059
# downloaded by the conformance suite (~3 MB across 7 repos).
5160
# Cached by conformance test content so new fixtures invalidate;
5261
# restore-keys lets unrelated changes reuse the existing cache.
5362
- name: Cache Bumblebee fixtures
54-
uses: actions/cache@v4
63+
uses: actions/cache@v5
5564
with:
5665
path: ~/Library/Caches/bumblebee
5766
key: bumblebee-${{ runner.os }}-${{ hashFiles('test/emily/conformance/**') }}

0 commit comments

Comments
 (0)