diff --git a/.travis.yml b/.travis.yml index e1e8ad5d..4ce8383e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,8 +1,9 @@ env: global: - - AVTRANSCODER_BUILD=${TRAVIS_BUILD_DIR}/build - - AVTRANSCODER_INSTALL=${TRAVIS_BUILD_DIR}/install - - J='-j3' + - AVTRANSCODER_BUILD=${TRAVIS_BUILD_DIR}/build-avtranscoder + - AVTRANSCODER_INSTALL=${TRAVIS_BUILD_DIR}/install-avtranscoder + - DEPENDENCY_INSTALL=${TRAVIS_BUILD_DIR}/install-dependency + - CI_NODE_TOTAL=2 matrix: - DEPENDENCY_MODE=libav - DEPENDENCY_MODE=ffmpeg @@ -28,21 +29,38 @@ before_script: - ./tools/travis.gcc.install.coverage.sh # install avtranscoder dependencies - - if [ "${TRAVIS_OS_NAME}" = "linux" ]; then ./tools/travis.linux.install.deps.sh; fi - - if [ "${TRAVIS_OS_NAME}" = "osx" ]; then ./tools/travis.osx.install.deps.sh; fi + - if [ ${TRAVIS_OS_NAME} = "linux" ]; then ./tools/travis.linux.install.deps.sh; fi + - if [ ${TRAVIS_OS_NAME} = "osx" ]; then ./tools/travis.osx.install.deps.sh; fi script: - # Build + # build - mkdir -p ${AVTRANSCODER_BUILD} - cd ${AVTRANSCODER_BUILD} - - cmake .. -DCMAKE_INSTALL_PREFIX=${AVTRANSCODER_INSTALL} -DCMAKE_BUILD_TYPE=Release -DAVTRANSCODER_PYTHON_VERSION_OF_BINDING=2.7 -DAVTRANSCODER_COVERAGE=True - - make $J install + - cmake .. -DCMAKE_INSTALL_PREFIX=${AVTRANSCODER_INSTALL} -DCMAKE_PREFIX_PATH=${DEPENDENCY_INSTALL} -DCMAKE_BUILD_TYPE=Release -DAVTRANSCODER_PYTHON_VERSION_OF_BINDING=2.7 -DAVTRANSCODER_COVERAGE=True + - make -j${CI_NODE_TOTAL} install - # Launch tests - - if [ "${DEPENDENCY_MODE}" = "ffmpeg" ]; then ./../tools/travis.python.nosetests.sh; fi + # launch tests + - if [ ${DEPENDENCY_MODE} = "ffmpeg" ]; then ./../tools/travis.python.nosetests.sh; fi after_success: - cd ${TRAVIS_BUILD_DIR} # generate coverage for coveralls - - if [ "${CC}" = "gcc" ]; then ./tools/travis.gcc.generate.coverage.sh; fi + - if [ ${CC} = "gcc" ]; then ./tools/travis.gcc.generate.coverage.sh; fi + +before_deploy: + # create archive + - cd ${TRAVIS_BUILD_DIR} + - tar -cvzf avtranscoder-${TRAVIS_OS_NAME}-${CC}-${DEPENDENCY_MODE}.tgz ${DEPENDENCY_INSTALL} ${AVTRANSCODER_INSTALL} + +deploy: + # if the commit is tagged, deploy using github release service + provider: releases + api_key: + secure: ${GITHUB_RELEASE_API_KEY} + file: avtranscoder-${TRAVIS_OS_NAME}-${CC}-${DEPENDENCY_MODE}.tgz + skip_cleanup: true + on: + tags: true + condition: ${TRAVIS_OS_NAME} = "linux" + diff --git a/tools/travis.linux.install.deps.sh b/tools/travis.linux.install.deps.sh index c3af0376..a7b54427 100755 --- a/tools/travis.linux.install.deps.sh +++ b/tools/travis.linux.install.deps.sh @@ -16,13 +16,13 @@ if [[ ${DEPENDENCY_MODE} == "ffmpeg" ]]; then sudo bunzip2 ffmpeg-${FFMPEG_VERSION}.tar.bz2 sudo tar -xvf ffmpeg-${FFMPEG_VERSION}.tar cd ffmpeg-${FFMPEG_VERSION} - sudo ./configure --disable-yasm --enable-shared --disable-static && sudo make && sudo make install + sudo ./configure --prefix=${DEPENDENCY_INSTALL} --disable-yasm --enable-shared --disable-static && sudo make && sudo make install elif [[ ${DEPENDENCY_MODE} == "libav" ]]; then export LIBAV_VERSION=11.3 sudo wget https://libav.org/releases/libav-${LIBAV_VERSION}.tar.gz sudo tar -xvf libav-${LIBAV_VERSION}.tar.gz cd libav-${LIBAV_VERSION} - sudo ./configure --disable-yasm --enable-shared --disable-static && sudo make && sudo make install + sudo ./configure --prefix=${DEPENDENCY_INSTALL} --disable-yasm --enable-shared --disable-static && sudo make && sudo make install fi diff --git a/tools/travis.python.nosetests.sh b/tools/travis.python.nosetests.sh index e65a82e7..c1507c4b 100755 --- a/tools/travis.python.nosetests.sh +++ b/tools/travis.python.nosetests.sh @@ -1,6 +1,7 @@ #!/bin/bash # Get avtranscoder library +export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:${DEPENDENCY_INSTALL}/lib export PYTHONPATH=${AVTRANSCODER_INSTALL}/lib/python2.7.6/site-packages/:$PYTHONPATH # Get avtranscoder profiles