-
Notifications
You must be signed in to change notification settings - Fork 3
/
.travis.yml
86 lines (84 loc) · 2.71 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
language: julia
matrix:
include:
- os: linux
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- g++-5
env: COMPILER=gcc GCC=5
julia: 1.0.1
- os: linux
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- g++-6
env: COMPILER=gcc GCC=6
julia: 1.0.1
- os: osx
osx_image: xcode8
compiler: clang
julia: 1.0.1
env:
global:
- MINCONDA_VERSION="latest"
- MINCONDA_LINUX="Linux-x86_64"
- MINCONDA_OSX="MacOSX-x86_64"
before_install:
- |
# Configure build variables
if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then
if [[ "$COMPILER" == "gcc" ]]; then
export CXX=g++-$GCC CC=gcc-$GCC;
fi
if [[ "$COMPILER" == "clang" ]]; then
export CXX=clang++-$CLANG CC=clang-$CLANG;
fi
elif [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
export CXX=clang++ CC=clang PYTHONHOME=$HOME/miniconda;
fi
install:
# Download and update miniconda
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then
MINCONDA_OS=$MINCONDA_LINUX;
elif [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
MINCONDA_OS=$MINCONDA_OSX;
fi
- if [[ "$PY" == "3" ]]; then
wget "http://repo.continuum.io/miniconda/Miniconda3-$MINCONDA_VERSION-$MINCONDA_OS.sh" -O miniconda.sh;
else
wget "http://repo.continuum.io/miniconda/Miniconda2-$MINCONDA_VERSION-$MINCONDA_OS.sh" -O miniconda.sh;
fi
- bash miniconda.sh -b -p $HOME/miniconda
- export PATH="$HOME/miniconda/bin:$PATH"
- hash -r
- conda config --set always_yes yes --set changeps1 no
- conda clean --packages
- conda update -q conda
- conda info -a
# Install cmake and cookiecutter
- conda install cmake cookiecutter -c conda-forge
# Install CxxWrap and Xtensor
- julia -E "using Pkg; Pkg.add(PackageSpec(name=\"CxxWrap\", version=\"0.8.1\"))"
- julia -E "using Pkg; Pkg.add(PackageSpec(name=\"Xtensor\", version=\"0.6.1\"))"
# Run cookiecutter in build directory
- mkdir build
- cd build
- cookiecutter $TRAVIS_BUILD_DIR --no-input
# Defaults to
# "author_name": "",
# "author_email": "",
# "github_project_name": "Xexample.jl",
# "github_organization_name": "xtensor-stack",
# "julia_package_name": "Xexample",
# "cpp_namespace": "ext",
# "project_short_description": "An example xtensor extension",
# "git_init": "yes"
# Building the generated package
- julia -E "using Pkg; Pkg.add(PackageSpec(name=\"Xexample\", path=\"Xexample.jl\"));"
script:
- julia -E "using Pkg; Pkg.test(\"Xexample\")"