Skip to content

Commit c8a19ef

Browse files
committed
Update CI config
- latest TagBot.yml - 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`
1 parent 20c256a commit c8a19ef

File tree

2 files changed

+40
-15
lines changed

2 files changed

+40
-15
lines changed

.github/workflows/CI.yml

+24-15
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 }}
@@ -21,30 +34,26 @@ jobs:
2134
- macOS-latest
2235
- windows-latest
2336
arch:
24-
- x64
37+
- '' # default arch, usually x64 but for macOS also aarch64
2538
- x86
2639
exclude:
27-
- os: macOS-latest
40+
- os: macos-latest # Apple Silicon
2841
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
2949
steps:
3050
- uses: actions/checkout@v4
3151
- uses: julia-actions/setup-julia@v2
3252
with:
3353
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
4556
- uses: julia-actions/julia-buildpkg@v1
4657
- uses: julia-actions/julia-runtest@v1
4758
- uses: julia-actions/julia-processcoverage@v1
4859
- uses: codecov/codecov-action@v5
49-
with:
50-
file: lcov.info

.github/workflows/TagBot.yml

+16
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,22 @@ on:
44
types:
55
- created
66
workflow_dispatch:
7+
inputs:
8+
lookback:
9+
default: "3"
10+
# permissions:
11+
# actions: read
12+
# checks: read
13+
# contents: write
14+
# deployments: read
15+
# issues: read
16+
# discussions: read
17+
# packages: read
18+
# pages: read
19+
# pull-requests: read
20+
# repository-projects: read
21+
# security-events: read
22+
# statuses: read
723
jobs:
824
TagBot:
925
if: github.event_name == 'workflow_dispatch' || github.actor == 'JuliaTagBot'

0 commit comments

Comments
 (0)