-
Notifications
You must be signed in to change notification settings - Fork 69
169 lines (140 loc) · 3.88 KB
/
ci-scripts.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
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
156
157
158
159
160
161
162
163
164
165
166
167
168
169
name: ADCore
# Trigger on pushes and PRs to any branch
on:
push:
paths-ignore:
- '**/*.md'
- '**/*.txt'
pull_request:
env:
SETUP_PATH: .ci-local:.ci
jobs:
test:
name: ${{ matrix.os }}/${{ matrix.deps }}/${{ matrix.base }}/${{ matrix.cmp }}/${{ matrix.configuration }}
runs-on: ${{ matrix.os }}
env:
CMP: ${{ matrix.cmp }}
BCFG: ${{ matrix.configuration }}
BASE: ${{ matrix.base }}
SET: ${{ matrix.deps }}
strategy:
fail-fast: false
matrix:
# Job names also name artifacts, character limitations apply
include:
- os: ubuntu-latest
cmp: gcc
configuration: default
base: "7.0"
deps: os
test: true
- os: ubuntu-latest
cmp: gcc
configuration: static
base: "7.0"
deps: os
test: true
- os: ubuntu-latest
cmp: gcc
configuration: static
base: "7.0"
deps: adsupport
- os: ubuntu-20.04
cmp: gcc
configuration: default
base: "7.0"
deps: os
- os: ubuntu-latest
cmp: gcc
configuration: default
base: "3.15"
deps: os
- os: ubuntu-latest
cmp: gcc
configuration: static
base: "3.15"
deps: os
# - os: windows-2019
# cmp: vs2019
# configuration: default
# base: "7.0"
# deps: adsupport
- os: windows-2019
cmp: vs2019
configuration: static
base: "7.0"
deps: adsupport
steps:
- uses: actions/checkout@v3
with:
submodules: true
- name: "Linux OS Deps"
if: ${{ matrix.deps == 'os' && matrix.os == 'ubuntu-latest' }}
shell: bash
run: |
sudo apt-get update
sudo apt-get -y install \
libgraphicsmagick++-dev libhdf5-dev libjpeg-dev libnetcdf-dev libtiff-dev libxml2-dev libz-dev \
libblosc-dev libnexus-dev libnetcdf-dev libusb-1.0-0-dev libboost-test-dev libboost-system-dev
cat <<EOF > configure/CONFIG_SITE.linux-x86_64.Common
WITH_PVA=YES
WITH_BOOST=YES
BOOST_EXTERNAL=YES
WITH_HDF5=YES
HDF5_EXTERNAL=YES
USR_CPPFLAGS+=-I/usr/include/hdf5/serial
USR_LDFLAGS+=-L/usr/lib/x86_64-linux-gnu/hdf5/serial
XML2_EXTERNAL=YES
XML2_INCLUDE=/usr/include/libxml2
WITH_NETCDF=YES
NETCDF_EXTERNAL=YES
WITH_NEXUS=YES
NEXUS_EXTERNAL=YES
USR_CPPFLAGS+=-I/usr/include/nexus
WITH_TIFF=YES
TIFF_EXTERNAL=YES
WITH_JPEG=YES
JPEG_EXTERNAL=YES
WITH_SZIP=NO
WITH_ZLIB=YES
ZLIB_EXTERNAL=YES
WITH_BLOSC=YES
BLOSC_EXTERNAL=YES
WITH_BITSHUFFLE=NO
EOF
cat configure/CONFIG_SITE.linux-x86_64.Common
- name: Prepare and compile EPICS dependencies
run: python .ci/cue.py prepare
- name: "ADSupport Deps"
if: ${{ matrix.deps == 'adsupport' }}
shell: bash
run: |
cat <<EOF >> configure/CONFIG_SITE.local
WITH_PVA=YES
WITH_BOOST=NO
WITH_HDF5=YES
HDF5_EXTERNAL=NO
XML2_EXTERNAL=NO
WITH_NETCDF=YES
NETCDF_EXTERNAL=NO
WITH_NEXUS=YES
NEXUS_EXTERNAL=NO
WITH_TIFF=YES
TIFF_EXTERNAL=NO
WITH_JPEG=YES
JPEG_EXTERNAL=NO
WITH_SZIP=YES
SZIP_EXTERNAL=NO
WITH_ZLIB=YES
ZLIB_EXTERNAL=NO
WITH_BLOSC=YES
BLOSC_EXTERNAL=NO
WITH_BITSHUFFLE=YES
BITSHUFFLE_EXTERNAL=NO
EOF
- name: Build main module
run: python .ci/cue.py build
- name: Run test
if: ${{ matrix.test }}
shell: bash
run: ./bin/*/plugin-test