-
Notifications
You must be signed in to change notification settings - Fork 4
/
.travis.yml
67 lines (66 loc) · 3.08 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
# Travis Continuous Integration Configuration File
notifications:
email:
recipients:
- euslisp@jsk.t.u-tokyo.ac.jp
on_success: always #[always|never|change] # default: change
on_failure: always #[always|never|change] # default: always
slack: jsk-robotics:Av7tc8wj3IWkLYvlTzHE7x2g
dist: bionic
sudo: required
cache: apt
services: docker
addons:
homewbrew:
packages:
[make, jpeg, libpng, mesalib-glw, wget, poppler, bullet]
matrix:
include:
- os: linux
env: DOCKER_IMAGE=ubuntu:trusty
- os: linux
env: DOCKER_IMAGE=ubuntu:xenial
- os: linux
env: DOCKER_IMAGE=ubuntu:bionic
- os: linux
env: DOCKER_IMAGE=ubuntu:bionic COLLISION_LIB=PQP
- os: linux
env: DOCKER_IMAGE=ubuntu:bionic COLLISION_LIB=BULLET
- os: linux
env: DOCKER_IMAGE=osrf/ubuntu_armhf:trusty
- os: linux
env: DOCKER_IMAGE=osrf/ubuntu_armhf:xenial
- os: linux
env: DOCKER_IMAGE=osrf/ubuntu_arm64:trusty
- os: linux
env: DOCKER_IMAGE=osrf/ubuntu_arm64:xenial
- os: linux
env: DOCKER_IMAGE=debian:stretch
- os: linux
env: DOCKER_IMAGE=osrf/debian_arm64:stretch
- os: linux
env: BUILD_DOC=true
- os: osx
# allow_failures:
# - env: DOCKER_IMAGE=osrf/debian_arm64:stretch
before_install: # Use this to prepare the system to install prerequisites or dependencies
- echo -e "Host github.com\n\tStrictHostKeyChecking no\n" >> ~/.ssh/config
install:
# Define some config vars
- export CI_SOURCE_PATH=$(pwd)
- export REPOSITORY_NAME=${PWD##*/}
- if [[ "$DOCKER_IMAGE" == *"arm"* ]]; then sudo apt-get install -y -qq qemu-user-static git; fi
script:
- echo "Testing branch $TRAVIS_BRANCH of $REPOSITORY_NAME"
- if [[ "$DOCKER_IMAGE" == *"arm"* ]]; then COUNT=10; while [ $COUNT -gt 0 -a ! -e $CI_SOURCE_PATH/eus ] ; do echo $COUNT; sleep 1; GIT_SSL_NO_VERIFY=true git clone --depth 10 http://github.com/euslisp/EusLisp $CI_SOURCE_PATH/eus; COUNT=`expr $COUNT - 1`; done; fi # running git clone within arm VM is very slow
- if [ "$TRAVIS_OS_NAME" == "linux" -a "$BUILD_DOC" != "true" ]; then docker run --rm -i -v $CI_SOURCE_PATH:$CI_SOURCE_PATH -e "DOCKER_IMAGE=$DOCKER_IMAGE" -e "COLLISION_LIB=$COLLISION_LIB" -e "CI_SOURCE_PATH=$CI_SOURCE_PATH" -e "HOME=$HOME" -t $DOCKER_IMAGE sh -c "cd $CI_SOURCE_PATH; ./.travis.sh"; fi
# Test installing head version jskeus via Homebrew formula
- if [ "$TRAVIS_OS_NAME" = "osx" ]; then $CI_SOURCE_PATH/.travis-osx.sh; fi
# Test doc generation
- if [ "$BUILD_DOC" == "true" ]; then sudo apt-get install -y -qq git make gcc g++ libjpeg-dev libxext-dev libx11-dev libgl1-mesa-dev libglu1-mesa-dev libpq-dev libpng-dev xfonts-100dpi xfonts-75dpi pkg-config libbullet-dev; fi
- if [ "$BUILD_DOC" == "true" ]; then make; fi
- if [ "$BUILD_DOC" == "true" ]; then sudo apt-get install -y -qq texlive-binaries texlive-lang-cjk texlive-lang-japanese poppler-utils nkf latex2html; fi
- if [ "$BUILD_DOC" == "true" ]; then (source bashrc.eus; cd doc/; make pdf); fi
- if [ "$BUILD_DOC" == "true" ]; then (source bashrc.eus; cd doc/; make html); fi
after_failure:
- echo "failure"