5
5
branches :
6
6
- main
7
7
tags : ' *'
8
+
9
+ concurrency :
10
+ # group by workflow and ref; the last slightly strange component ensures that for pull
11
+ # requests, we limit to 1 concurrent job, but for the default repository branch we don't
12
+ group : ${{ github.workflow }}-${{ github.ref }}-${{ github.ref_name != github.event.repository.default_branch || github.run_number }}
13
+ # Cancel intermediate builds, but only if it is a pull request build.
14
+ cancel-in-progress : ${{ startsWith(github.ref, 'refs/pull/') }}
15
+
16
+ # needed to allow julia-actions/cache to delete old caches that it has created
17
+ permissions :
18
+ actions : write
19
+ contents : read
20
+
8
21
jobs :
9
22
test :
10
23
name : Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }} - ${{ github.event_name }}
@@ -21,30 +34,26 @@ jobs:
21
34
- macOS-latest
22
35
- windows-latest
23
36
arch :
24
- - x64
37
+ - ' ' # default arch, usually x64 but for macOS also aarch64
25
38
- x86
26
39
exclude :
27
- - os : macOS -latest
40
+ - os : macos -latest # Apple Silicon
28
41
arch : x86
42
+ - os : macos-latest # Apple Silicon
43
+ version : ' 1.0'
44
+ arch : ' '
45
+ include :
46
+ - os : macos-latest # Apple Silicon
47
+ version : ' 1.0'
48
+ arch : ' x64' # run x86_64 build of Julia under Rosetta 2 emulation
29
49
steps :
30
50
- uses : actions/checkout@v4
31
51
- uses : julia-actions/setup-julia@v2
32
52
with :
33
53
version : ${{ matrix.version }}
34
- arch : ${{ matrix.arch }}
35
- - uses : actions/cache@v4
36
- env :
37
- cache-name : cache-artifacts
38
- with :
39
- path : ~/.julia/artifacts
40
- key : ${{ runner.os }}-test-${{ env.cache-name }}-${{ hashFiles('**/Project.toml') }}
41
- restore-keys : |
42
- ${{ runner.os }}-test-${{ env.cache-name }}-
43
- ${{ runner.os }}-test-
44
- ${{ runner.os }}-
54
+ arch : ${{ (matrix.arch == '') && runner.arch || matrix.arch }}
55
+ - uses : julia-actions/cache@v2
45
56
- uses : julia-actions/julia-buildpkg@v1
46
57
- uses : julia-actions/julia-runtest@v1
47
58
- uses : julia-actions/julia-processcoverage@v1
48
59
- uses : codecov/codecov-action@v5
49
- with :
50
- file : lcov.info
0 commit comments