Add Travis CI settings for Xenial and Bionic
This commit is contained in:
7
.ci/docker/env.list
Normal file
7
.ci/docker/env.list
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
TRAVIS_OS_NAME
|
||||||
|
TRAVIS_PULL_REQUEST
|
||||||
|
|
||||||
|
BUILD_NAME
|
||||||
|
CC
|
||||||
|
CXX
|
||||||
|
SUDO
|
||||||
18
.ci/docker/ubuntu-bionic
Normal file
18
.ci/docker/ubuntu-bionic
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
FROM ubuntu:bionic
|
||||||
|
|
||||||
|
RUN apt-get update -qq
|
||||||
|
RUN apt-get install -y \
|
||||||
|
build-essential \
|
||||||
|
clang \
|
||||||
|
cmake \
|
||||||
|
curl \
|
||||||
|
git \
|
||||||
|
libgl-dev \
|
||||||
|
libglu-dev \
|
||||||
|
libpython3-dev \
|
||||||
|
lsb-release \
|
||||||
|
pkg-config \
|
||||||
|
python3 \
|
||||||
|
python3-distutils \
|
||||||
|
software-properties-common \
|
||||||
|
sudo
|
||||||
17
.ci/docker/ubuntu-xenial
Normal file
17
.ci/docker/ubuntu-xenial
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
FROM ubuntu:xenial
|
||||||
|
|
||||||
|
RUN apt-get update -qq
|
||||||
|
RUN apt-get install -y \
|
||||||
|
build-essential \
|
||||||
|
clang \
|
||||||
|
cmake \
|
||||||
|
curl \
|
||||||
|
git \
|
||||||
|
libgl-dev \
|
||||||
|
libglu-dev \
|
||||||
|
libpython3-dev \
|
||||||
|
lsb-release \
|
||||||
|
pkg-config \
|
||||||
|
python3 \
|
||||||
|
software-properties-common \
|
||||||
|
sudo
|
||||||
29
.ci/script.sh
Executable file
29
.ci/script.sh
Executable file
@@ -0,0 +1,29 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
set -ex
|
||||||
|
|
||||||
|
echo "CXX="$CXX
|
||||||
|
echo "CC="$CC
|
||||||
|
if [[ "$TRAVIS_OS_NAME" == "linux" && "$CXX" = "g++" ]]; then
|
||||||
|
$SUDO apt-get install -y python3
|
||||||
|
$SUDO apt-get install -y python3-pip
|
||||||
|
$SUDO pip3 install -U wheel
|
||||||
|
$SUDO pip3 install -U setuptools
|
||||||
|
$SUDO python3 setup.py install
|
||||||
|
python3 examples/pybullet/unittests/unittests.py --verbose
|
||||||
|
python3 examples/pybullet/unittests/userDataTest.py --verbose
|
||||||
|
python3 examples/pybullet/unittests/saveRestoreStateTest.py --verbose
|
||||||
|
fi
|
||||||
|
cmake . -DBUILD_PYBULLET=ON -G"Unix Makefiles" #-DCMAKE_CXX_FLAGS=-Werror
|
||||||
|
make -j8
|
||||||
|
ctest -j8 --output-on-failure
|
||||||
|
|
||||||
|
# Build again with double precision
|
||||||
|
cmake . -G "Unix Makefiles" -DUSE_DOUBLE_PRECISION=ON #-DCMAKE_CXX_FLAGS=-Werror
|
||||||
|
make -j8
|
||||||
|
ctest -j8 --output-on-failure
|
||||||
|
|
||||||
|
# Build again with shared libraries
|
||||||
|
cmake . -G "Unix Makefiles" -DBUILD_SHARED_LIBS=ON
|
||||||
|
make -j8
|
||||||
|
ctest -j8 --output-on-failure
|
||||||
|
$SUDO make install
|
||||||
87
.travis.yml
87
.travis.yml
@@ -1,35 +1,56 @@
|
|||||||
language: cpp
|
language: cpp
|
||||||
os:
|
matrix:
|
||||||
- linux
|
include:
|
||||||
- osx
|
- os: linux
|
||||||
compiler:
|
compiler: gcc
|
||||||
- gcc
|
env:
|
||||||
- clang
|
- BUILD_NAME=TRUSTY_GCC
|
||||||
addons:
|
- SUDO=sudo
|
||||||
apt:
|
- os: linux
|
||||||
packages:
|
compiler: clang
|
||||||
- python3
|
env:
|
||||||
|
- BUILD_NAME=TRUSTY_CLANG
|
||||||
|
- SUDO=sudo
|
||||||
|
- os: linux
|
||||||
|
compiler: gcc
|
||||||
|
env:
|
||||||
|
- BUILD_NAME=XENIAL_GCC
|
||||||
|
- DOCKER_FILE="ubuntu-xenial"
|
||||||
|
services: docker
|
||||||
|
- os: linux
|
||||||
|
compiler: clang
|
||||||
|
env:
|
||||||
|
- BUILD_NAME=XENIAL_CLANG
|
||||||
|
- DOCKER_FILE="ubuntu-xenial"
|
||||||
|
services: docker
|
||||||
|
- os: linux
|
||||||
|
compiler: gcc
|
||||||
|
env:
|
||||||
|
- BUILD_NAME=BIONIC_GCC
|
||||||
|
- DOCKER_FILE="ubuntu-bionic"
|
||||||
|
services: docker
|
||||||
|
- os: linux
|
||||||
|
compiler: clang
|
||||||
|
env:
|
||||||
|
- BUILD_NAME=BIONIC_CLANG
|
||||||
|
- DOCKER_FILE="ubuntu-bionic"
|
||||||
|
services: docker
|
||||||
|
- os: osx
|
||||||
|
compiler: gcc
|
||||||
|
env:
|
||||||
|
- BUILD_NAME=OSX_GCC
|
||||||
|
- os: osx
|
||||||
|
compiler: clang
|
||||||
|
env:
|
||||||
|
- BUILD_NAME=OSX_CLANG
|
||||||
|
before_install:
|
||||||
|
- if [ -n "$DOCKER_FILE" ]; then
|
||||||
|
docker build -t "$DOCKER_FILE" -f ".ci/docker/$DOCKER_FILE" .;
|
||||||
|
docker run -itd -v $TRAVIS_BUILD_DIR:$TRAVIS_BUILD_DIR --env-file .ci/docker/env.list --name bullet-docker "$DOCKER_FILE";
|
||||||
|
fi
|
||||||
script:
|
script:
|
||||||
- echo "CXX="$CXX
|
- if [ -n "$DOCKER_FILE" ]; then
|
||||||
- echo "CC="$CC
|
docker exec bullet-docker /bin/sh -c "cd $TRAVIS_BUILD_DIR && ./.ci/script.sh";
|
||||||
- if [[ "$TRAVIS_OS_NAME" == "linux" && "$CXX" = "g++" ]]; then sudo apt-get install python3-pip; fi
|
else
|
||||||
- if [[ "$TRAVIS_OS_NAME" == "linux" && "$CXX" = "g++" ]]; then sudo pip3 install -U pip wheel; fi
|
'.ci/script.sh';
|
||||||
- if [[ "$TRAVIS_OS_NAME" == "linux" && "$CXX" = "g++" ]]; then sudo pip3 install setuptools; fi
|
fi
|
||||||
- if [[ "$TRAVIS_OS_NAME" == "linux" && "$CXX" = "g++" ]]; then sudo python3 setup.py install; fi
|
|
||||||
- if [[ "$TRAVIS_OS_NAME" == "linux" && "$CXX" = "g++" ]]; then python3 examples/pybullet/unittests/unittests.py --verbose; fi
|
|
||||||
- if [[ "$TRAVIS_OS_NAME" == "linux" && "$CXX" = "g++" ]]; then python3 examples/pybullet/unittests/userDataTest.py --verbose; fi
|
|
||||||
- if [[ "$TRAVIS_OS_NAME" == "linux" && "$CXX" = "g++" ]]; then python3 examples/pybullet/unittests/saveRestoreStateTest.py --verbose; fi
|
|
||||||
- cmake . -DBUILD_PYBULLET=ON -G"Unix Makefiles" #-DCMAKE_CXX_FLAGS=-Werror
|
|
||||||
- make -j8
|
|
||||||
- ctest -j8 --output-on-failure
|
|
||||||
# Build again with double precision
|
|
||||||
- cmake . -G "Unix Makefiles" -DUSE_DOUBLE_PRECISION=ON #-DCMAKE_CXX_FLAGS=-Werror
|
|
||||||
- make -j8
|
|
||||||
- ctest -j8 --output-on-failure
|
|
||||||
# Build again with shared libraries
|
|
||||||
- cmake . -G "Unix Makefiles" -DBUILD_SHARED_LIBS=ON
|
|
||||||
- make -j8
|
|
||||||
- ctest -j8 --output-on-failure
|
|
||||||
- sudo make install
|
|
||||||
|
|||||||
@@ -316,7 +316,7 @@ IF(BUILD_PYBULLET)
|
|||||||
SET(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/build3/cmake ${CMAKE_MODULE_PATH})
|
SET(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/build3/cmake ${CMAKE_MODULE_PATH})
|
||||||
OPTION(EXACT_PYTHON_VERSION "Require Python and match PYTHON_VERSION_PYBULLET exactly, e.g. 2.7.12" OFF)
|
OPTION(EXACT_PYTHON_VERSION "Require Python and match PYTHON_VERSION_PYBULLET exactly, e.g. 2.7.12" OFF)
|
||||||
IF(EXACT_PYTHON_VERSION)
|
IF(EXACT_PYTHON_VERSION)
|
||||||
set(EXACT_PYTHON_VERSION_FLAG EXACT REQUIRED)
|
set(EXACT_PYTHON_VERSION_FLAG EXACT REQUIRED)
|
||||||
ENDIF(EXACT_PYTHON_VERSION)
|
ENDIF(EXACT_PYTHON_VERSION)
|
||||||
# first find the python interpreter
|
# first find the python interpreter
|
||||||
FIND_PACKAGE(PythonInterp ${PYTHON_VERSION_PYBULLET} ${EXACT_PYTHON_VERSION_FLAG})
|
FIND_PACKAGE(PythonInterp ${PYTHON_VERSION_PYBULLET} ${EXACT_PYTHON_VERSION_FLAG})
|
||||||
|
|||||||
Reference in New Issue
Block a user