-
-
Notifications
You must be signed in to change notification settings - Fork 214
98 lines (96 loc) · 2.99 KB
/
CI.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
name: CI
on:
pull_request:
branches:
- master
push:
branches:
- master
jobs:
test:
runs-on: ubuntu-latest
continue-on-error: ${{ matrix.group == 'Downstream' }}
strategy:
fail-fast: false
matrix:
group:
- InterfaceI
- InterfaceII
- InterfaceIII
- Integrators_I
- AlgConvergence_I
- AlgConvergence_II
- AlgConvergence_III
- Downstream
- ODEInterfaceRegression
- Multithreading
- OrdinaryDiffEqAdamsBashforthMoulton
- OrdinaryDiffEqBDF
- OrdinaryDiffEqCore
- OrdinaryDiffEqDefault
- OrdinaryDiffEqDifferentiation
- OrdinaryDiffEqExplicitRK
- OrdinaryDiffEqExponentialRK
- OrdinaryDiffEqExtrapolation
- OrdinaryDiffEqFIRK
- OrdinaryDiffEqFIRKGenerator
- OrdinaryDiffEqFeagin
- OrdinaryDiffEqFunctionMap
- OrdinaryDiffEqHighOrderRK
- OrdinaryDiffEqIMEXMultistep
- OrdinaryDiffEqLinear
- OrdinaryDiffEqLowOrderRK
- OrdinaryDiffEqLowStorageRK
- OrdinaryDiffEqNordsieck
- OrdinaryDiffEqPDIRK
- OrdinaryDiffEqPRK
- OrdinaryDiffEqQPRK
- OrdinaryDiffEqRKN
- OrdinaryDiffEqRosenbrock
- OrdinaryDiffEqSDIRK
- OrdinaryDiffEqSSPRK
- OrdinaryDiffEqStabilizedIRK
- OrdinaryDiffEqStabilizedRK
- OrdinaryDiffEqSymplecticRK
- OrdinaryDiffEqTsit5
- OrdinaryDiffEqVerner
version:
- 'lts'
- '1'
- 'pre'
steps:
- uses: actions/checkout@v4
- uses: julia-actions/setup-julia@v2
with:
version: ${{ matrix.version }}
- uses: actions/cache@v4
env:
cache-name: cache-artifacts
with:
path: ~/.julia/artifacts
key: ${{ runner.os }}-test-${{ env.cache-name }}-${{ hashFiles('**/Project.toml') }}
restore-keys: |
${{ runner.os }}-test-${{ env.cache-name }}-
${{ runner.os }}-test-
${{ runner.os }}-
# Explicitly develop the libraries first before running the tests for now.
# This is necessary since the tests are likely to fail otherwise, given that all
# the libs haven't been registered yet.
- name: "Develop the libraries since they haven't been registered yet"
run: |
julia --project=. -e '
using Pkg;
Pkg.develop(map(path ->Pkg.PackageSpec.(;path="$(@__DIR__)/lib/$(path)"), readdir("./lib")));
'
- uses: julia-actions/julia-runtest@v1
with:
coverage: false
check_bounds: auto
env:
GROUP: ${{ matrix.group }}
- uses: julia-actions/julia-processcoverage@v1
- uses: codecov/codecov-action@v5
with:
token: ${{ secrets.CODECOV_TOKEN }}
file: lcov.info
fail_ci_if_error: false