-
Notifications
You must be signed in to change notification settings - Fork 6
/
.travis.yml
151 lines (139 loc) · 7.15 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
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
sudo: required
services: docker
os:
- linux
language: c
# XXX: couldn't see how it's possible to define a per-stage environment
# variable matrix so this is quite verbose...
jobs:
include:
# XXX: We have to be carefull about using env: as a hack for giving
# jobs names that are visible in the travis web ui. It turns out that
# the environment forms part of the key used to look up caches which we
# sometimes need to share between stages.
#
# See this issue requesting a better way of naming jobs:
# https://github.com/travis-ci/travis-ci/issues/5898
#
# It also looks like upstream are tracking a related request
# for future iterations of the (beta) stages feature:
#
# "Making the native cache feature more configurable by specifying
# cache keys per job. This would allow you to reuse caches in more
# flexible ways in subsequent stages."
#
# https://github.com/travis-ci/beta-features/issues/28
# XXX: without lots of copy & paste it's awkward to avoid using the
# shared before_install: rules here which effectively adds ~3 minutes
# to the NOP case where the cache already exists...
- stage: render training data cache
script: sudo docker run -t -i -v $TRAVIS_BUILD_DIR:/home/$USER/build
-e TRAVIS_BUILD_DIR="/home/$USER/build"
-e CFLAGS="-march=native -mtune=native"
-e CXXFLAGS="-march=native -mtune=native"
-e CONFIG_OPTS="--buildtype=release -Duse_system_libs=true"
final-travis-ci-image ./travis/travis-ci-render.sh
# The 'quick build' stage avoids needing to compile the pcl subproject
# and instead links with the ubuntu packaged libpcl. It also doesn't
# install blender or clone the glimpse-training-data + glimpse-models
# repos...
- stage: quick checks
env: _="Quick Debug Build (clang, distro provided dependencies)"
script: sudo docker run -t -i -v $TRAVIS_BUILD_DIR:/home/$USER/build
-e TRAVIS_BUILD_DIR="/home/$USER/build"
-e CC=clang-6.0
-e CXX=clang++-6.0
-e CONFIG_OPTS="--buildtype=debug -Duse_system_libs=true"
final-travis-ci-image ./travis/travis-ci-build.sh
- stage: quick checks
env: _="Quick Release Build (clang, distro provided dependencies)"
script: sudo docker run -t -i -v $TRAVIS_BUILD_DIR:/home/$USER/build
-e TRAVIS_BUILD_DIR="/home/$USER/build"
-e CC=clang-6.0
-e CXX=clang++-6.0
-e CFLAGS="-march=native -mtune=native"
-e CXXFLAGS="-march=native -mtune=native"
-e CONFIG_OPTS="--buildtype=release --optimization=0 -Duse_system_libs=true"
final-travis-ci-image ./travis/travis-ci-build.sh
- stage: quick checks
env: _="Quick Debug Build (gcc, distro provided dependencies)"
script: sudo docker run -t -i -v $TRAVIS_BUILD_DIR:/home/$USER/build
-e TRAVIS_BUILD_DIR="/home/$USER/build"
-e CC=gcc
-e CXX=g++
-e CONFIG_OPTS="--buildtype=debug -Duse_system_libs=true"
final-travis-ci-image ./travis/travis-ci-build.sh
- stage: quick checks
env: _="Quick Release Build (gcc, distro provided dependencies)"
script: sudo docker run -t -i -v $TRAVIS_BUILD_DIR:/home/$USER/build
-e TRAVIS_BUILD_DIR="/home/$USER/build"
-e CC=gcc
-e CXX=g++
-e CFLAGS="-march=native -mtune=native"
-e CXXFLAGS="-march=native -mtune=native"
-e CONFIG_OPTS="--buildtype=release --optimization=0 -Duse_system_libs=true"
final-travis-ci-image ./travis/travis-ci-build.sh
- stage: quick checks
# XXX: can't use env: here because we need to share the cache with
# 'render training data cache' stage
#env: _="Mini Training Run"
script: sudo docker run -t -i -v $TRAVIS_BUILD_DIR:/home/$USER/build
-e TRAVIS_BUILD_DIR="/home/$USER/build"
-e CC=clang-6.0
-e CXX=clang++-6.0
-e CFLAGS="-march=native -mtune=native"
-e CXXFLAGS="-march=native -mtune=native"
-e CONFIG_OPTS="--buildtype=release -Duse_system_libs=true"
final-travis-ci-image ./travis/travis-ci-train.sh
# Only if the quick builds pass we will do a full compilation of
# our dependencies as subprojects and test our blender addon and
# pre-trained model
- stage: build
env: _="Debug Build (subproject dependencies)"
script: sudo docker run -t -i -v $TRAVIS_BUILD_DIR:/home/$USER/build
-e TRAVIS_BUILD_DIR="/home/$USER/build"
-e CC=clang-6.0
-e CXX=clang++-6.0
-e CONFIG_OPTS="--buildtype=debug -Duse_system_libs=false"
final-travis-ci-image ./travis/travis-ci-build.sh
- stage: build
env: _="Release Build (subproject dependencies)"
script: sudo docker run -t -i -v $TRAVIS_BUILD_DIR:/home/$USER/build
-e TRAVIS_BUILD_DIR="/home/$USER/build"
-e CC=clang-6.0
-e CXX=clang++-6.0
-e CFLAGS="-march=native -mtune=native"
-e CXXFLAGS="-march=native -mtune=native"
-e CONFIG_OPTS="--buildtype=release --optimization=0 -Duse_system_libs=false"
final-travis-ci-image ./travis/travis-ci-build.sh
- stage: build
env: _="Android Debug Build"
script: sudo docker run -t -i -v $TRAVIS_BUILD_DIR:/home/$USER/build
-e TRAVIS_BUILD_DIR="/home/$USER/build"
-e CONFIG_OPTS="--cross-file=../android-armeabi-v7a-cross-file.txt --buildtype=debug"
final-travis-ci-image ./travis/travis-ci-build.sh
- stage: build
env: _="Android Release Build"
script: sudo docker run -t -i -v $TRAVIS_BUILD_DIR:/home/$USER/build
-e TRAVIS_BUILD_DIR="/home/$USER/build"
-e CONFIG_OPTS="--cross-file=../android-armeabi-v7a-cross-file.txt --buildtype=release --optimization=0"
final-travis-ci-image ./travis/travis-ci-build.sh
- stage: build
env: _="Windows Debug Build"
script: sudo docker run -t -i -v $TRAVIS_BUILD_DIR:/home/$USER/build
-e TRAVIS_BUILD_DIR="/home/$USER/build"
-e CONFIG_OPTS="--cross-file=/windows-sdk/meson/windows-x64-debug-cross-file.txt --buildtype=debug"
final-travis-ci-image ./travis/travis-ci-build.sh
- stage: build
env: _="Windows Release Build"
script: sudo docker run -t -i -v $TRAVIS_BUILD_DIR:/home/$USER/build
-e TRAVIS_BUILD_DIR="/home/$USER/build"
-e CONFIG_OPTS="--cross-file=/windows-sdk/meson/windows-x64-release-cross-file.txt --buildtype=release --optimization=0"
final-travis-ci-image ./travis/travis-ci-build.sh
cache:
directories:
- blender-2.79-linux-glibc219-x86_64
- rendered-training-data
before_install:
- docker pull rib1/glimpse-travis
- ./travis/travis-ci-prep-docker-image.sh rib1/glimpse-travis final-travis-ci-image