forked from MilesCranmer/SymbolicRegression.jl
-
Notifications
You must be signed in to change notification settings - Fork 0
101 lines (97 loc) · 2.95 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
99
100
101
name: CI
on:
push:
branches:
- master
paths:
- "**"
pull_request:
branches:
- master
paths:
- "**"
concurrency:
# Skip intermediate builds: always.
# Cancel intermediate builds: only if it is a pull request build.
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ startsWith(github.ref, 'refs/pull/') }}
jobs:
test:
name: Julia ${{ matrix.julia-version }}-${{ matrix.os }}-${{ matrix.test }}-${{ github.event_name }}
runs-on: ${{ matrix.os }}
timeout-minutes: 120
strategy:
fail-fast: false
matrix:
test:
- "part1"
- "part2"
- "part3"
julia-version:
- "1.10"
- "1"
os:
- ubuntu-latest
include:
- os: windows-latest
julia-version: "1"
test: "part1"
- os: windows-latest
julia-version: "1"
test: "part2"
- os: windows-latest
julia-version: "1"
test: "part3"
- os: macOS-latest
julia-version: "1"
test: "part1"
- os: macOS-latest
julia-version: "1"
test: "part2"
- os: macOS-latest
julia-version: "1"
test: "part3"
- os: ubuntu-latest
julia-version: "~1.11.0-0"
test: "part1"
- os: ubuntu-latest
julia-version: "~1.11.0-0"
test: "part2"
- os: ubuntu-latest
julia-version: "~1.11.0-0"
test: "part3"
steps:
- uses: actions/checkout@v4
- name: "Set up Julia"
uses: julia-actions/setup-julia@v2
with:
version: ${{ matrix.julia-version }}
- name: "Cache dependencies"
uses: julia-actions/cache@v2
with:
cache-name: julia-cache;workflow=${{ github.workflow }};job=${{ github.job }};os=${{ matrix.os }};julia=${{ matrix.julia-version }};project=${{ hashFiles('**/Project.toml') }}
- name: "Build package"
uses: julia-actions/julia-buildpkg@v1
- name: "Run tests"
env:
SYMBOLIC_REGRESSION_TEST_SUITE: ${{ matrix.test }}
run: |
julia --color=yes -e 'import Pkg; Pkg.add("Coverage")'
julia --color=yes --threads=auto --check-bounds=yes --depwarn=yes --code-coverage=user -e 'import Coverage; import Pkg; Pkg.activate("."); Pkg.test(coverage=true)'
julia --color=yes coverage.jl
shell: bash
- name: "Coveralls"
uses: coverallsapp/github-action@v2
with:
path-to-lcov: lcov.info
parallel: true
flag-name: julia-${{ matrix.julia-version }}-${{ matrix.os }}-${{ matrix.test }}-${{ github.event_name }}
coveralls:
name: Indicate completion to coveralls
runs-on: ubuntu-latest
needs: test
steps:
- name: Finish
uses: coverallsapp/github-action@v2
with:
parallel-finished: true