-
Notifications
You must be signed in to change notification settings - Fork 19
155 lines (148 loc) · 5.55 KB
/
CI.yaml
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
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
---
name: CI
on:
release:
type:
- created
push:
branches:
- master
pull_request:
branches:
- master
schedule:
# Weekly on Sundays:
- cron: '00 04 * * 0'
workflow_dispatch:
env:
TEST_SCRIPT: ./build.sh
jobs:
lint:
name: Lint sources
runs-on: ubuntu-20.04
steps:
- name: Check out sources
uses: actions/checkout@v3
- name: Prepare container
run: ./scripts/prepare-container-focal.sh
- run: bundle install
- run: bundle exec danger || true
- run: BML_OPENMP=no EMACS=emacs27 ./build.sh --debug check_indent
- uses: actions/upload-artifact@v3
if: failure()
with:
name: lint-artifacts
path: |
**/*.indented
build.log
docs:
name: Build docs
runs-on: ubuntu-20.04
steps:
- name: Check out sources
uses: actions/checkout@v3
- name: Prepare container
run: ./scripts/prepare-container-focal.sh
- name: Build docs
run: ./build.sh --debug docs
build_osx:
name: Build and test the library on OS-X Server (${{ matrix.JOBNAME }})
runs-on: macos-latest
strategy:
fail-fast: false
matrix:
include:
- JOBNAME: gcc-11 C single real
TEST_SCRIPT: ./scripts/ci-gcc-11-C-single-real.sh
- JOBNAME: gcc-11 C double real
TEST_SCRIPT: ./scripts/ci-gcc-11-C-double-real.sh
- JOBNAME: gcc-11 C single complex
TEST_SCRIPT: ./scripts/ci-gcc-11-C-single-complex.sh
- JOBNAME: gcc-11 C double complex
TEST_SCRIPT: ./scripts/ci-gcc-11-C-double-complex.sh
- JOBNAME: gcc-11 Fortran single real
TEST_SCRIPT: ./scripts/ci-gcc-11-Fortran-single-real.sh
- JOBNAME: gcc-11 Fortran double real
TEST_SCRIPT: ./scripts/ci-gcc-11-Fortran-double-real.sh
- JOBNAME: gcc-11 Fortran single complex
TEST_SCRIPT: ./scripts/ci-gcc-11-Fortran-single-complex.sh
- JOBNAME: gcc-11 Fortran double complex
TEST_SCRIPT: ./scripts/ci-gcc-11-Fortran-double-complex.sh
steps:
- name: Check out sources
uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Prepare container
run: ./scripts/prepare-container-macos.sh
- name: Build and test library
env:
TEST_SCRIPT: ${{ matrix.TEST_SCRIPT || env.TEST_SCRIPT }}
run: ${TEST_SCRIPT} testing
- name: Get library version
run: ./build/src/bml-version
build:
name: Build and test the library (${{ matrix.JOBNAME }})
runs-on: ubuntu-20.04
strategy:
fail-fast: false
matrix:
include:
- JOBNAME: gcc-10 C single real
TEST_SCRIPT: ./scripts/ci-gcc-10-C-single-real.sh
- JOBNAME: gcc-10 C double real
TEST_SCRIPT: ./scripts/ci-gcc-10-C-double-real.sh
- JOBNAME: gcc-10 C single complex
TEST_SCRIPT: ./scripts/ci-gcc-10-C-single-complex.sh
- JOBNAME: gcc-10 C double complex
TEST_SCRIPT: ./scripts/ci-gcc-10-C-double-complex.sh
- JOBNAME: gcc-10 C single real (OpenBLAS)
BLAS_VENDOR: OpenBLAS
TEST_SCRIPT: ./scripts/ci-gcc-10-C-single-real.sh
- JOBNAME: gcc-10 C double real (OpenBLAS)
BLAS_VENDOR: OpenBLAS
TEST_SCRIPT: ./scripts/ci-gcc-10-C-double-real.sh
- JOBNAME: gcc-10 C single complex (OpenBLAS)
BLAS_VENDOR: OpenBLAS
TEST_SCRIPT: ./scripts/ci-gcc-10-C-single-complex.sh
- JOBNAME: gcc-10 C double complex (OpenBLAS)
BLAS_VENDOR: OpenBLAS
TEST_SCRIPT: ./scripts/ci-gcc-10-C-double-complex.sh
- JOBNAME: gcc-10 Fortran single real
TEST_SCRIPT: ./scripts/ci-gcc-10-Fortran-single-real.sh
- JOBNAME: gcc-10 Fortran double real
TEST_SCRIPT: ./scripts/ci-gcc-10-Fortran-double-real.sh
- JOBNAME: gcc-10 Fortran single complex
TEST_SCRIPT: ./scripts/ci-gcc-10-Fortran-single-complex.sh
- JOBNAME: gcc-10 Fortran double complex
TEST_SCRIPT: ./scripts/ci-gcc-10-Fortran-double-complex.sh
- JOBNAME: MPI single real
TEST_SCRIPT: ./scripts/ci-MPI-single-real.sh
- JOBNAME: MPI double real
TEST_SCRIPT: ./scripts/ci-MPI-double-real.sh
- JOBNAME: MPI single complex
TEST_SCRIPT: ./scripts/ci-MPI-single-complex.sh
- JOBNAME: MPI double complex
TEST_SCRIPT: ./scripts/ci-MPI-double-complex.sh
- JOBNAME: clang-16 / gfortran-10 C single real
TEST_SCRIPT: ./scripts/ci-clang-16-gfortran-10-C-single-real.sh
- JOBNAME: clang-16 / gfortran-10 C double real
TEST_SCRIPT: ./scripts/ci-clang-16-gfortran-10-C-double-real.sh
- JOBNAME: clang-16 / gfortran-10 C single complex
TEST_SCRIPT: ./scripts/ci-clang-16-gfortran-10-C-single-complex.sh
- JOBNAME: clang-16 / gfortran-10 C double complex
TEST_SCRIPT: ./scripts/ci-clang-16-gfortran-10-C-double-complex.sh
steps:
- name: Check out sources
uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Prepare container
run: ./scripts/prepare-container-focal.sh
- name: Build and test library
env:
BLAS_VENDOR: ${{ matrix.BLAS_VENDOR || env.BLAS_VENDOR }}
TEST_SCRIPT: ${{ matrix.TEST_SCRIPT || env.TEST_SCRIPT }}
run: ${TEST_SCRIPT} testing
- name: Get library version
run: ./build/src/bml-version