Skip to content

Commit 09c54c8

Browse files
committed
Update Travis config for both Linux and OS X
1 parent a6bac58 commit 09c54c8

File tree

1 file changed

+84
-21
lines changed

1 file changed

+84
-21
lines changed

.travis.yml

Lines changed: 84 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,56 @@
11
sudo: false
22
language: rust
3-
rust:
4-
- stable
5-
- beta
6-
- nightly
3+
notifications:
4+
email:
5+
on_success: never
6+
addons:
7+
apt:
8+
packages:
9+
- pkg-config
10+
11+
matrix:
12+
include:
13+
- name: xenial-stable-conda-1.10.4
14+
os: linux
15+
dist: xenial
16+
rust: stable
17+
env:
18+
- H5_CONDA=1.10.4
19+
- name: xenial-beta-apt-1.8.13
20+
os: linux
21+
dist: xenial
22+
rust: beta
23+
addons:
24+
apt:
25+
packages:
26+
- libhdf5-dev
27+
env:
28+
- HDF5_VERSION=1.8.16
29+
- name: trusty-nightly-apt-1.8.11
30+
os: linux
31+
dist: trusty
32+
rust: nightly
33+
addons:
34+
apt:
35+
packages:
36+
- libhdf5-serial-dev
37+
- name: macos-stable-brew-1.10.*
38+
os: osx
39+
rust: stable
40+
env:
41+
- H5_BREW=1.8
42+
- name: macos-beta-brew-1.8.*
43+
os: osx
44+
rust: beta
45+
env:
46+
- H5_BREW=1.10
47+
- name: macos-nightly-conda-1.8.9
48+
os: osx
49+
rust: nightly
50+
env:
51+
- H5_CONDA=1.8.9
52+
- HDF5_VERSION=1.8.9
53+
754
before_script:
855
- |
956
if [ $TRAVIS_RUST_VERSION = "nightly" ]; then
@@ -18,32 +65,48 @@ script:
1865
fi
1966
fi
2067
- cargo clean
21-
- cargo test -v -p hdf5-derive
22-
- cargo clean
23-
- cargo build -v
68+
- cargo build -vv
2469
- cargo test -v --no-run --all --exclude hdf5-derive
2570
- cargo test -v --all --exclude hdf5-derive
71+
- cargo clean
72+
- cargo test -v -p hdf5-derive
2673
- |
27-
if [ $TRAVIS_RUST_VERSION = "stable" ] && [ `uname` = "Linux" ]; then
74+
if [ $TRAVIS_RUST_VERSION = "stable" ] && [ `uname` = "Linux" ] &&\
75+
[ $TRAVIS_BRANCH = "master" ] && [ $TRAVIS_PULL_REQUEST = "false" ]; then
76+
cargo clean;
2877
cargo doc --no-deps;
2978
fi
30-
addons:
31-
apt:
32-
packages:
33-
- libhdf5-serial-dev
34-
- pkg-config
35-
notifications:
36-
email:
37-
on_success: never
38-
os:
39-
- linux
40-
- osx
4179
before_install:
42-
- if [ `uname` = "Darwin" ]; then
80+
- |
81+
if [ `uname` = "Darwin" ] && [ ! -z "$H5_BREW" ]; then
4382
brew update >/dev/null;
4483
brew tap homebrew/science;
45-
brew install hdf5;
84+
brew install hdf5@${H5_BREW};
85+
fi
86+
- |
87+
if [ ! -z "$H5_CONDA" ]; then
88+
if [ `uname` = "Darwin" ]; then
89+
wget https://repo.continuum.io/miniconda/Miniconda3-latest-MacOSX-x86_64.sh -O miniconda.sh;
90+
# note: this is only required for older HDF5 installations on OS X
91+
export DYLD_FALLBACK_LIBRARY_PATH="$HOME/miniconda/envs/testenv/lib";
92+
else
93+
wget https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh -O miniconda.sh;
94+
fi
95+
bash miniconda.sh -b -p $HOME/miniconda;
96+
export PATH="$HOME/miniconda/bin:$PATH";
97+
hash -r;
98+
conda config --set always_yes yes --set changeps1 no;
99+
conda info -a;
100+
conda create -q -n testenv hdf5=${H5_CONDA};
101+
export HDF5_DIR="$HOME/miniconda/envs/testenv";
102+
export RUSTFLAGS="-C link-args=-Wl,-rpath,$HOME/miniconda/envs/testenv/lib";
103+
fi
104+
- |
105+
if [ $TRAVIS_OS_NAME = "linux" ]; then
106+
pkg-config hdf5 --modversion || true;
46107
fi
108+
- find /usr -name '*hdf5*' || true
109+
- find /usr -name 'H5*.h' || true
47110
after_success: |
48111
[ $TRAVIS_BRANCH = "master" ] &&
49112
[ $TRAVIS_PULL_REQUEST = "false" ] &&

0 commit comments

Comments
 (0)