Skip to content

Travis: fix build on MacOS X + dependency version in name of releases #191

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 15 commits into from
Dec 22, 2015
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 16 additions & 13 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand All @@ -58,7 +61,7 @@ cache:
- ${DEPENDENCY_INSTALL_PATH}

before_script:
- env | sort
- env | sort
- date -u
- uname -a

Expand All @@ -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
Expand All @@ -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
Expand Down
10 changes: 2 additions & 8 deletions tools/travis/build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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}
Expand Down
26 changes: 11 additions & 15 deletions tools/travis/linux.install.deps.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down
6 changes: 1 addition & 5 deletions tools/travis/osx.install.deps.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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