@@ -10,6 +10,12 @@ concurrency:
1010 # Cancel intermediate builds: only if it is a pull request build.
1111 group : ${{ github.workflow }}-${{ github.ref }}
1212 cancel-in-progress : ${{ startsWith(github.ref, 'refs/pull/') }}
13+
14+ # needed to allow julia-actions/cache to delete old caches that it has created
15+ permissions :
16+ actions : write
17+ contents : read
18+
1319jobs :
1420 test :
1521 name : Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }}
@@ -19,39 +25,33 @@ jobs:
1925 matrix :
2026 version :
2127 - " 1" # Latest Release
22- - " 1.6 " # LTS
28+ - " min " # Oldest supported Julia release
2329 os :
2430 - ubuntu-latest
25- - macOS-latest
31+ - macOS-13 # Intel
2632 - windows-latest
2733 arch :
2834 - x64
2935 - x86
3036 exclude :
3137 # Test 32-bit only on Linux
32- - os : macOS-latest
38+ - os : macOS-13
3339 arch : x86
3440 - os : windows-latest
3541 arch : x86
42+ include :
43+ - os : macOS-latest # Apple Silicon
44+ version : " 1"
45+ arch : aarch64
3646 steps :
3747 - uses : actions/checkout@v4
3848 - uses : julia-actions/setup-julia@v2
3949 with :
4050 version : ${{ matrix.version }}
4151 arch : ${{ matrix.arch }}
42- - uses : actions/cache@v4
43- env :
44- cache-name : cache-artifacts
45- with :
46- path : ~/.julia/artifacts
47- key : ${{ runner.os }}-${{ matrix.arch }}-test-${{ env.cache-name }}-${{ hashFiles('**/Project.toml') }}
48- restore-keys : |
49- ${{ runner.os }}-${{ matrix.arch }}-test-${{ env.cache-name }}-
50- ${{ runner.os }}-${{ matrix.arch }}-test-
51- ${{ runner.os }}-${{ matrix.arch }}-
52- ${{ runner.os }}-
53- - uses : julia-actions/julia-buildpkg@latest
54- - uses : julia-actions/julia-runtest@latest
52+ - uses : julia-actions/cache@v2
53+ - uses : julia-actions/julia-buildpkg@v1
54+ - uses : julia-actions/julia-runtest@v1
5555 - uses : julia-actions/julia-processcoverage@v1
5656 - uses : codecov/codecov-action@v5
5757 with :
@@ -62,11 +62,16 @@ jobs:
6262 docs :
6363 name : Documentation
6464 runs-on : ubuntu-latest
65+ permissions :
66+ contents : write # Required when authenticating with `GITHUB_TOKEN`, not needed when authenticating with SSH deploy keys
67+ pull-requests : read # Required when using `push_preview=true`
68+ statuses : write # Optional, used to report documentation build statuses
6569 steps :
6670 - uses : actions/checkout@v4
6771 - uses : julia-actions/setup-julia@v2
6872 with :
6973 version : ' 1.6'
74+ - uses : julia-actions/cache@v2
7075 - run : |
7176 julia --project=docs -e '
7277 using Pkg
0 commit comments