forked from jts/nanopolish
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.travis.yml
105 lines (99 loc) · 2.98 KB
/
.travis.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
# travis.yml for github.com/jts/nanopolish
dist: trusty
services: docker
sudo: false
language: generic
cache: apt
git:
depth: 1
.nanopolish.ci.matrix-definitions:
- &cron-only
if: type = cron OR env(CI_CRON) = true
- &arch
before_install:
- |
sed -i "/^FROM / s/arm64/${ARCH}/" Dockerfile-arm
- |
docker run --rm --privileged \
multiarch/qemu-user-static:register --reset && \
docker build --rm -t nanopolish -f Dockerfile-arm .
script:
- |
docker run --rm -t \
-e HDF5="${HDF5:-install}" \
-e H5_CFLAGS="${H5_CFLAGS}" \
-e HDF5_VERSION="1.10.4" \
-e H5_INCLUDE="${H5_INCLUDE}" \
-e LDFLAGS="${LDFLAGS}" \
nanopolish
matrix:
include:
# Set env for both nanoplish and the dependency hdf5.
- env:
- CC=gcc-4.8
- CXX=g++-4.8
- AR=gcc-ar-4.8
- NM=gcc-nm-4.8
- RANLIB=gcc-ranlib-4.8
- env:
- CC=gcc-8
- CXX=g++-8
- AR=gcc-ar-8
- NM=gcc-nm-8
- RANLIB=gcc-ranlib-8
# aarch64 - ARM 64-bit
- name: aarch64
sudo: required
env:
- ARCH=arm64
<<: *arch
<<: *cron-only
- name: aarch64-system-hdf5
sudo: required
env:
- ARCH=arm64
- HDF5="system"
- H5_INCLUDE="-I/usr/include/hdf5/serial"
- LDFLAGS="-L/usr/lib/aarch64-linux-gnu/hdf5/serial"
<<: *arch
# armv7l - ARM 32-bit
- name: armv7l
sudo: required
env:
- ARCH=armhf
<<: *arch
<<: *cron-only
- name: armv7l-system-hdf5
sudo: required
env:
- ARCH=armhf
- HDF5="system"
- H5_INCLUDE="-I/usr/include/hdf5/serial"
- LDFLAGS="-L/usr/lib/arm-linux-gnueabihf/hdf5/serial"
<<: *arch
allow_failures:
# The jobs installing hdf5 from source in docker finishes with error
# because of the job exceeded the maximum time limit (50 minutes).
- name: aarch64
- name: armv7l
# Install and export newer gcc
before_install:
- sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test
- sudo apt-get update -qq
- |
if [[ "${CC}" =~ ^gcc- ]]; then
echo "Installing ${CC}."
sudo apt-get install -qq "${CC}"
fi
- |
if [[ "${CXX}" =~ ^g\+\+- ]]; then
echo "Installing ${CXX}."
sudo apt-get install -qq "${CXX}"
fi
before_script:
# Suppress all compiler warnings for hdf5 Makefile
# to display the log without downloading the raw log on Travis log page.
# Travis finishs with error when exceeding the limit of 4 MB of log length.
- export H5_CFLAGS="-w"
script:
- make && make test