1
1
name : CI
2
-
2
+ # Run on master, tags, or any pull request
3
3
on :
4
+ schedule :
5
+ - cron : ' 0 2 * * *' # Daily at 2 AM UTC (8 PM CST)
4
6
push :
5
7
branches : [master]
6
8
tags : ["*"]
7
9
pull_request :
8
-
10
+ concurrency :
11
+ # Skip intermediate builds: always.
12
+ # Cancel intermediate builds: only if it is a pull request build.
13
+ group : ${{ github.workflow }}-${{ github.ref }}
14
+ cancel-in-progress : ${{ startsWith(github.ref, 'refs/pull/') }}
9
15
jobs :
10
16
test :
11
17
name : Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }}
@@ -14,36 +20,56 @@ jobs:
14
20
fail-fast : false
15
21
matrix :
16
22
version :
17
- - " 1.6"
18
- - " 1"
19
- - " nightly"
23
+ - " 1.6" # earliest supported release
24
+ - " 1" # Latest Release
25
+ - " nightly" # test on nightly since we use a lot of internals that might break
20
26
os :
21
27
- ubuntu-latest
22
28
- macOS-latest
23
29
- windows-latest
24
30
arch :
25
31
- x64
32
+ - x86
33
+ exclude :
34
+ # Test 32-bit only on Linux
35
+ - os : macOS-latest
36
+ arch : x86
37
+ - os : windows-latest
38
+ arch : x86
39
+ include :
40
+ # Add specific version used to run the reference tests.
41
+ # Must be kept in sync with version check in `test/runtests.jl`,
42
+ # and with the branch protection rules on the repository which
43
+ # require this specific job to pass on all PRs
44
+ # (see Settings > Branches > Branch protection rules).
45
+ - os : ubuntu-latest
46
+ version : 1.10.6
47
+ arch : x64
26
48
steps :
27
- - uses : actions/checkout@v2
28
- - uses : julia-actions/setup-julia@v1
49
+ - uses : actions/checkout@v4
50
+ - uses : julia-actions/setup-julia@v2
29
51
with :
30
52
version : ${{ matrix.version }}
31
53
arch : ${{ matrix.arch }}
32
- - name : Cache artifacts
33
- uses : actions/cache@v1
54
+ - uses : actions/cache@v4
34
55
env :
35
56
cache-name : cache-artifacts
36
57
with :
37
58
path : ~/.julia/artifacts
38
- key : ${{ runner.os }}-test-${{ env.cache-name }}-${{ hashFiles('**/Project.toml') }}
59
+ key : ${{ runner.os }}-${{ matrix.arch }}- test-${{ env.cache-name }}-${{ hashFiles('**/Project.toml') }}
39
60
restore-keys : |
40
- ${{ runner.os }}-test-${{ env.cache-name }}-
41
- ${{ runner.os }}-test-
61
+ ${{ runner.os }}-${{ matrix.arch }}-test-${{ env.cache-name }}-
62
+ ${{ runner.os }}-${{ matrix.arch }}-test-
63
+ ${{ runner.os }}-${{ matrix.arch }}-
42
64
${{ runner.os }}-
43
65
- uses : julia-actions/julia-buildpkg@latest
66
+ - run : |
67
+ git config --global user.name Tester
68
+ git config --global user.email [email protected]
44
69
- uses : julia-actions/julia-runtest@latest
45
70
- uses : julia-actions/julia-processcoverage@v1
46
- - uses : codecov/codecov-action@v1
71
+ - uses : codecov/codecov-action@v5
47
72
with :
48
- file : ./lcov.info
49
- flags : unittests
73
+ files : lcov.info
74
+ token : ${{ secrets.CODECOV_TOKEN }}
75
+ fail_ci_if_error : false
0 commit comments