55 branches :
66 - master
77 - main
8- paths :
9- - ' src/**'
10- - ' test/**'
11- - ' Project.toml'
8+ # paths section removed to ensure CI runs on all commits (including workflow edits)
129 pull_request :
1310
1411concurrency :
@@ -28,44 +25,47 @@ jobs:
2825 os :
2926 - ubuntu-latest
3027 - windows-latest
31- - macos-latest
28+ - macos-13 # Explicit Intel Mac
29+ - macos-latest # Explicit Apple Silicon Mac
3230 arch :
3331 - x64
34- include :
35- # Test Native Apple Silicon (ARM)
36- - os : macos-latest
32+ - aarch64
33+ exclude :
34+ # Linux and Windows runners are x64 only on GitHub Actions (usually)
35+ - os : ubuntu-latest
36+ arch : aarch64
37+ - os : windows-latest
3738 arch : aarch64
38- version : ' 1'
39+ # macOS-13 is the last Intel runner
40+ - os : macos-13
41+ arch : aarch64
42+ # macOS-latest is Apple Silicon; avoiding x64 avoids Rosetta emulation confusion
43+ - os : macos-latest
44+ arch : x64
3945
4046 steps :
4147 - uses : actions/checkout@v4
48+
4249 - uses : julia-actions/setup-julia@v2
4350 with :
4451 version : ${{ matrix.version }}
4552 arch : ${{ matrix.arch }}
46-
47- - uses : actions/cache@v4
48- env :
49- cache-name : cache-artifacts
50- with :
51- path : ~/.julia/artifacts
52- key : ${{ runner.os }}-test-${{ env.cache-name }}-${{ hashFiles('**/Project.toml') }}
53- restore-keys : |
54- ${{ runner.os }}-test-${{ env.cache-name }}-
55- ${{ runner.os }}-test-
56- ${{ runner.os }}-
57-
53+
54+ # Use the dedicated Julia cache action (cleaner than manual caching)
55+ - uses : julia-actions/cache@v2
56+
57+ # Note: No TetrapodsRegistry needed here for WaveletsExt
58+
5859 - uses : julia-actions/julia-buildpkg@v1
59-
60+
6061 - uses : julia-actions/julia-runtest@v1
6162 env :
62- GKSwstype : " 100"
63-
63+ GKSwstype : " 100" # Fix for headless plotting
64+
6465 - uses : julia-actions/julia-processcoverage@v1
65-
66+
6667 - uses : codecov/codecov-action@v5
6768 with :
6869 files : lcov.info
6970 token : ${{ secrets.CODECOV_TOKEN }}
7071 fail_ci_if_error : false
71-
0 commit comments