Linux-based platforms requires a container image with the following softwares:
- GCC 5.2 or later
- CMake 3.1 or later
- Python 3.6
- pip
- OpenCV 2.4 or later
Currently it uses okapies/buildenv image for linux-x86_64 platform.
.travis.yml
-> run-build.sh
-> build.sh
-> scripts/*.sh
run-build.sh
just calls a platform'sbuild.sh
for running the actual build workflowbuild.sh
- For Linux-based platforms, the build workflow is executed in the container
build.sh
runs a Docker container at startup before executing the workflow- All commands are run via
docker_exec
anddocker_exec_script
functions (defined ininit-build-linux.sh
) - You can access
${HOME}
(/home/travis
) directory from inside the container transparently because it maps/home/travis
in the Travis environment to container's/home/travis
- For macOS (OSX), the build workflow is executed on the Travis' VM
- Install the prerequisites
- Run a build
- Run a test
- For Linux-based platforms, the build workflow is executed in the container
- Release and clean up
/home/travis
(=${HOME}
)/downloads
(cache)/build
/protobuf-<ver>
(cache)/mkl-dnn-<ver>
(cache)/<user>/<repo>
(=${TRAVIS_BUILD_DIR}
)/menoh
/test
/cmake
CMakeLists.txt
- ...
/build
/menoh
/test
- ...
cache:
directories:
- ${HOME}/downloads
- ${HOME}/build/protobuf-${PROTOBUF_VERSION}
- ${HOME}/build/mkl-dnn-${MKLDNN_VERSION}