diff --git a/.travis.yml b/.travis.yml index f92aef7d..05e3ee9f 100644 --- a/.travis.yml +++ b/.travis.yml @@ -21,24 +21,27 @@ env: - DEPENDENCY_INSTALL=install-dependency - DEPENDENCY_INSTALL_PATH=${TRAVIS_BUILD_DIR}/${DEPENDENCY_INSTALL} matrix: - - DEPENDENCY_MODE=libav ENABLE_COVERAGE=true - - DEPENDENCY_MODE=libav ENABLE_COVERAGE=false - - DEPENDENCY_MODE=ffmpeg ENABLE_COVERAGE=true - - DEPENDENCY_MODE=ffmpeg ENABLE_COVERAGE=false + - DEPENDENCY_NAME=libav DEPENDENCY_VERSION=11.3 ENABLE_COVERAGE=true + - DEPENDENCY_NAME=libav DEPENDENCY_VERSION=11.3 ENABLE_COVERAGE=false + - DEPENDENCY_NAME=ffmpeg DEPENDENCY_VERSION=2.2.9 ENABLE_COVERAGE=true + - DEPENDENCY_NAME=ffmpeg DEPENDENCY_VERSION=2.2.9 ENABLE_COVERAGE=false matrix: - # generate coverage only with gcc exclude: + # generate coverage only with gcc - compiler: clang - env: DEPENDENCY_MODE=ffmpeg ENABLE_COVERAGE=true + env: DEPENDENCY_NAME=ffmpeg DEPENDENCY_VERSION=2.2.9 ENABLE_COVERAGE=true - compiler: clang - env: DEPENDENCY_MODE=libav ENABLE_COVERAGE=true - allow_failures: + env: DEPENDENCY_NAME=libav DEPENDENCY_VERSION=11.3 ENABLE_COVERAGE=true + # generate coverage only on linux - os: osx + env: DEPENDENCY_NAME=libav DEPENDENCY_VERSION=11.3 ENABLE_COVERAGE=true + - os: osx + env: DEPENDENCY_NAME=ffmpeg DEPENDENCY_VERSION=2.2.9 ENABLE_COVERAGE=true fast_finish: true # This results in a 2×2×2x2 build matrix. -# Where the variables are: os / compiler / DEPENDENCY_MODE / ENABLE_COVERAGE +# Where the variables are: os / compiler / DEPENDENCY_NAME / ENABLE_COVERAGE addons: apt: @@ -58,7 +61,7 @@ cache: - ${DEPENDENCY_INSTALL_PATH} before_script: - - env | sort + - env | sort - date -u - uname -a @@ -76,7 +79,7 @@ script: - ./tools/travis/build.sh # launch tests - - if [ ${DEPENDENCY_MODE} = "ffmpeg" ]; then ./tools/travis/python.nosetests.sh; fi + - if [ ${TRAVIS_OS_NAME} = "linux" ] && [ ${DEPENDENCY_NAME} = "ffmpeg" ]; then ./tools/travis/python.nosetests.sh; fi after_success: # generate coverage for coveralls @@ -87,13 +90,13 @@ before_deploy: - if [ ${TRAVIS_OS_NAME} = "linux" ]; then cp /lib/x86_64-linux-gnu/{libbz2.so.1,libbz2.so.1.0,libbz2.so.1.0.4} ${DEPENDENCY_INSTALL_PATH}/lib; fi # create archive - cd ${TRAVIS_BUILD_DIR} - - tar -cvzf avtranscoder-${TRAVIS_OS_NAME}-${CC}-${DEPENDENCY_MODE}.tgz ${DEPENDENCY_INSTALL} ${AVTRANSCODER_INSTALL} + - tar -cvzf avtranscoder-${TRAVIS_OS_NAME}-${CC}-${DEPENDENCY_NAME}-${DEPENDENCY_VERSION}.tgz ${DEPENDENCY_INSTALL} ${AVTRANSCODER_INSTALL} deploy: provider: releases api_key: secure: ${GITHUB_RELEASE_API_KEY} - file: avtranscoder-${TRAVIS_OS_NAME}-${CC}-${DEPENDENCY_MODE}.tgz + file: avtranscoder-${TRAVIS_OS_NAME}-${CC}-${DEPENDENCY_NAME}-${DEPENDENCY_VERSION}.tgz skip_cleanup: true on: branch: master diff --git a/tools/travis/build.sh b/tools/travis/build.sh index cde33c27..a3fd015d 100755 --- a/tools/travis/build.sh +++ b/tools/travis/build.sh @@ -7,14 +7,8 @@ set -x mkdir -p ${AVTRANSCODER_BUILD_PATH} cd ${AVTRANSCODER_BUILD_PATH} -# Customize environment -if [[ ${TRAVIS_OS_NAME} == "linux" ]]; then - # Ask cmake to search in all dependencies we've installed manually - export CMAKE_PREFIX_PATH=${DEPENDENCY_INSTALL_PATH} -elif [[ ${TRAVIS_OS_NAME} == "osx" ]]; then - # Ask cmake to search in all homebrew packages - export CMAKE_PREFIX_PATH=$(echo /usr/local/Cellar/*/* | sed 's/ /;/g') -fi +# Ask cmake to search in all dependencies we've installed manually +export CMAKE_PREFIX_PATH=${DEPENDENCY_INSTALL_PATH} # Build avTranscoder cmake .. -DCMAKE_INSTALL_PREFIX=${AVTRANSCODER_INSTALL_PATH} -DCMAKE_PREFIX_PATH=$CMAKE_PREFIX_PATH -DCMAKE_BUILD_TYPE=Release -DAVTRANSCODER_PYTHON_VERSION_OF_BINDING=2.7 -DAVTRANSCODER_COVERAGE=${ENABLE_COVERAGE} diff --git a/tools/travis/linux.install.deps.sh b/tools/travis/linux.install.deps.sh index 46cc80fc..d2ba5c0d 100755 --- a/tools/travis/linux.install.deps.sh +++ b/tools/travis/linux.install.deps.sh @@ -3,26 +3,22 @@ # Print commands and their arguments as they are executed. set -x -lsb_release -a - if [ ! -d "${DEPENDENCY_INSTALL_PATH}/lib/" ]; then - if [[ ${DEPENDENCY_MODE} == "ffmpeg" ]]; then + if [[ ${DEPENDENCY_NAME} == "ffmpeg" ]]; then - export FFMPEG_VERSION=2.2.9 - wget https://www.ffmpeg.org/releases/ffmpeg-${FFMPEG_VERSION}.tar.bz2 - bunzip2 ffmpeg-${FFMPEG_VERSION}.tar.bz2 - tar -xvf ffmpeg-${FFMPEG_VERSION}.tar - cd ffmpeg-${FFMPEG_VERSION} - ./configure --prefix=${DEPENDENCY_INSTALL_PATH} --disable-yasm --enable-shared --disable-static && make && make install + wget https://www.ffmpeg.org/releases/ffmpeg-${DEPENDENCY_VERSION}.tar.bz2 + bunzip2 ffmpeg-${DEPENDENCY_VERSION}.tar.bz2 + tar -xvf ffmpeg-${DEPENDENCY_VERSION}.tar + cd ffmpeg-${DEPENDENCY_VERSION} + ./configure --prefix=${DEPENDENCY_INSTALL_PATH} --disable-yasm --enable-shared --disable-static && make -k && make install - elif [[ ${DEPENDENCY_MODE} == "libav" ]]; then + elif [[ ${DEPENDENCY_NAME} == "libav" ]]; then - export LIBAV_VERSION=11.3 - wget https://libav.org/releases/libav-${LIBAV_VERSION}.tar.gz - tar -xvf libav-${LIBAV_VERSION}.tar.gz - cd libav-${LIBAV_VERSION} - ./configure --prefix=${DEPENDENCY_INSTALL_PATH} --disable-yasm --enable-shared --disable-static && make && make install + wget https://libav.org/releases/libav-${DEPENDENCY_VERSION}.tar.gz + tar -xvf libav-${DEPENDENCY_VERSION}.tar.gz + cd libav-${DEPENDENCY_VERSION} + ./configure --prefix=${DEPENDENCY_INSTALL_PATH} --disable-yasm --enable-shared --disable-static && make -k && make install fi diff --git a/tools/travis/osx.install.deps.sh b/tools/travis/osx.install.deps.sh index 18b2649f..2b0289ea 100755 --- a/tools/travis/osx.install.deps.sh +++ b/tools/travis/osx.install.deps.sh @@ -16,8 +16,4 @@ pip install nose brew install freeglut # Main dependency -if [[ ${DEPENDENCY_MODE} == "ffmpeg" ]]; then - brew install ffmpeg -elif [[ ${DEPENDENCY_MODE} == "libav" ]]; then - brew install libav -fi +./tools/travis/linux.install.deps.sh