Skip to content

Commit e43445d

Browse files
Update CI config (#99)
* Update CI config - use `julia-actions/cache` instead of `actions/cache` - test macOS on native ARM / aarch64 where applicable - avoid concurrent PR CI runs - drop obsolete `file` argument to `codecov/codecov-action` --------- Co-authored-by: Lilith Orion Hafner <[email protected]>
1 parent ce49deb commit e43445d

File tree

1 file changed

+24
-15
lines changed

1 file changed

+24
-15
lines changed

.github/workflows/CI.yml

Lines changed: 24 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,19 @@ on:
55
branches:
66
- main
77
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+
821
jobs:
922
test:
1023
name: Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }} - ${{ github.event_name }}
@@ -23,30 +36,26 @@ jobs:
2336
- macOS-latest
2437
- windows-latest
2538
arch:
26-
- x64
39+
- '' # default arch, usually x64 but for macOS also aarch64
2740
- x86
2841
exclude:
29-
- os: macOS-latest
42+
- os: macOS-latest # Apple Silicon
3043
arch: x86
44+
- os: macOS-latest # Apple Silicon
45+
version: '1.0'
46+
arch: ''
47+
include:
48+
- os: macOS-latest # Apple Silicon
49+
version: '1.0'
50+
arch: 'x64' # run x86_64 build of Julia under Rosetta 2 emulation
3151
steps:
3252
- uses: actions/checkout@v4
3353
- uses: julia-actions/setup-julia@v2
3454
with:
3555
version: ${{ matrix.version }}
36-
arch: ${{ matrix.arch }}
37-
- uses: actions/cache@v4
38-
env:
39-
cache-name: cache-artifacts
40-
with:
41-
path: ~/.julia/artifacts
42-
key: ${{ runner.os }}-test-${{ env.cache-name }}-${{ hashFiles('**/Project.toml') }}
43-
restore-keys: |
44-
${{ runner.os }}-test-${{ env.cache-name }}-
45-
${{ runner.os }}-test-
46-
${{ runner.os }}-
56+
arch: ${{ (matrix.arch == '') && runner.arch || matrix.arch }}
57+
- uses: julia-actions/cache@v2
4758
- uses: julia-actions/julia-buildpkg@v1
4859
- uses: julia-actions/julia-runtest@v1
4960
- uses: julia-actions/julia-processcoverage@v1
5061
- uses: codecov/codecov-action@v5
51-
with:
52-
file: lcov.info

0 commit comments

Comments
 (0)