upx/.travis.yml
Markus F.X.J. Oberhumer 0cd1ef0c7a Update Travis for OSX.
2016-10-09 13:56:45 +02:00

211 lines
6.7 KiB
YAML

# Support for Travis CI -- https://travis-ci.org/upx/upx/builds
# Copyright (C) Markus Franz Xaver Johannes Oberhumer
sudo: false
language: cpp
notifications:
email:
on_success: never
on_failure: change
branches:
only:
- devel
- travis
.ubuntu_toolchain_sources: &S
- ubuntu-toolchain-r-test
- llvm-toolchain-precise-3.5
- llvm-toolchain-precise-3.6
- llvm-toolchain-precise-3.7
- llvm-toolchain-precise-3.8
env:
global:
- CROSS= C= B= T=
matrix:
- TRAVIS_EMPTY_JOB_WORKAROUND=true
matrix:
exclude:
- env: TRAVIS_EMPTY_JOB_WORKAROUND=true
include:
- os: linux
compiler: gcc
env: C=gcc-4.4-m32
addons: { apt: { sources: *S, packages: [ "g++-4.4-multilib", "zlib1g-dev:i386" ] } }
- os: linux
compiler: gcc
env: C=gcc-4.4-m64
addons: { apt: { sources: *S, packages: [ "g++-4.4" ] } }
- os: linux
compiler: gcc
env: C=gcc-4.6-m32
addons: { apt: { packages: [ "g++-multilib", "zlib1g-dev:i386" ] } }
- os: linux
compiler: gcc
env: C=gcc-4.6-m64
- os: linux
compiler: gcc
env: C=gcc-5-m32
addons: { apt: { sources: *S, packages: [ "g++-5-multilib", "zlib1g-dev:i386" ] } }
- os: linux
compiler: gcc
env: C=gcc-5-m64
addons: { apt: { sources: *S, packages: [ "g++-5" ] } }
- os: linux
compiler: gcc
env: C=gcc-6-m32
addons: { apt: { sources: *S, packages: [ "g++-6-multilib", "zlib1g-dev:i386" ] } }
- os: linux
compiler: gcc
env: C=gcc-6-m64
addons: { apt: { sources: *S, packages: [ "g++-6" ] } }
- os: linux
compiler: gcc
env: C=gcc-6-m32 B=debug
addons: { apt: { sources: *S, packages: [ "g++-6-multilib", "zlib1g-dev:i386" ] } }
- os: linux
compiler: gcc
env: C=gcc-6-m64 B=debug
addons: { apt: { sources: *S, packages: [ "g++-6" ] } }
- os: linux
compiler: gcc
env: C=gcc-6-m64 B=debug+sanitize
addons: { apt: { sources: *S, packages: [ "g++-6" ] } }
- os: linux
compiler: gcc
env: C=gcc-6-m64 B=sanitize
addons: { apt: { sources: *S, packages: [ "g++-6" ] } }
- os: linux
compiler: gcc
env: C=gcc-6-m64 B=valgrind T=valgrind
addons: { apt: { sources: *S, packages: [ "g++-6", valgrind ] } }
- os: linux
compiler: clang
env: C=clang-3.4-m32
addons: { apt: { packages: [ "g++-multilib", "zlib1g-dev:i386" ] } }
- os: linux
compiler: clang
env: C=clang-3.4-m64
- os: linux
compiler: clang
env: C=clang-3.5-m32
addons: { apt: { sources: *S, packages: [ "clang-3.5", "g++-6-multilib", "zlib1g-dev:i386" ] } }
- os: linux
compiler: clang
env: C=clang-3.5-m64
addons: { apt: { sources: *S, packages: [ "clang-3.5" ] } }
- os: linux
compiler: clang
env: C=clang-3.6-m32
addons: { apt: { sources: *S, packages: [ "clang-3.6", "g++-6-multilib", "zlib1g-dev:i386" ] } }
- os: linux
compiler: clang
env: C=clang-3.6-m64
addons: { apt: { sources: *S, packages: [ "clang-3.6" ] } }
- os: linux
compiler: clang
env: C=clang-3.7-m32
addons: { apt: { sources: *S, packages: [ "clang-3.7", "g++-6-multilib", "zlib1g-dev:i386" ] } }
- os: linux
compiler: clang
env: C=clang-3.7-m64
addons: { apt: { sources: *S, packages: [ "clang-3.7" ] } }
- os: linux
compiler: clang
env: C=clang-3.8-m32
addons: { apt: { sources: *S, packages: [ "clang-3.8", "g++-6-multilib", "zlib1g-dev:i386" ] } }
- os: linux
compiler: clang
env: C=clang-3.8-m64
addons: { apt: { sources: *S, packages: [ "clang-3.8" ] } }
- os: linux
compiler: clang
env: C=clang-3.8-m64 B=debug+sanitize
addons: { apt: { sources: *S, packages: [ "clang-3.8" ] } }
- os: linux
compiler: clang
env: C=clang-3.8-m64 B=sanitize
addons: { apt: { sources: *S, packages: [ "clang-3.8" ] } }
- os: linux
compiler: clang
env: C=clang-3.8-m64 B=debug+scan-build
addons: { apt: { sources: *S, packages: [ "clang-3.8" ] } }
- os: linux
compiler: clang
env: C=clang-3.8-m64 B=scan-build
addons: { apt: { sources: *S, packages: [ "clang-3.8" ] } }
- os: linux
compiler: gcc
env: CROSS=arm-linux-gnueabi C=gcc-4.6 T=SKIP
addons: { apt: { packages: [ "g++-arm-linux-gnueabi", "qemu-user" ] } }
- os: linux
compiler: gcc
env: CROSS=arm-linux-gnueabihf C=gcc-4.6 T=SKIP
addons: { apt: { packages: [ "g++-arm-linux-gnueabihf", "qemu-user" ] } }
- os: linux
compiler: gcc
env: CROSS=i386-w64-mingw32 C=gcc-4.6 T=wine
addons: { apt: { packages: [ "binutils-mingw-w64-i686", "g++-mingw-w64-i686", "wine" ] } }
- os: linux
compiler: gcc
env: CROSS=x86_64-w64-mingw32 C=gcc-4.6 T=wine
addons: { apt: { packages: [ "binutils-mingw-w64-x86-64", "g++-mingw-w64-x86-64", "wine" ] } }
- os: osx
compiler: clang
# must use debug build or else we get "ld: internal error: atom not found" when linking
env: C=clang-602-m32 B=debug
osx_image: xcode6.4
- os: osx
compiler: clang
# must use debug build or else we get "ld: internal error: atom not found" when linking
env: C=clang-602-m64 B=debug
osx_image: xcode6.4
- os: osx
compiler: clang
env: C=clang-703-m32
osx_image: xcode7.3
- os: osx
compiler: clang
env: C=clang-703-m64
osx_image: xcode7.3
- os: osx
compiler: clang
env: C=clang-800-m32
osx_image: xcode8
- os: osx
compiler: clang
env: C=clang-800-m64
osx_image: xcode8
install:
- umask 022; cd $TRAVIS_BUILD_DIR && mkdir -p ../deps
- cd ../deps && travis_retry wget -q -O - https://github.com/upx/upx/releases/download/v3.00/ucl-1.03.tar.xz | tar -xJ
- cd ../deps && travis_retry wget -q -O - https://github.com/upx/upx/releases/download/v3.00/zlib-1.2.8.tar.xz | tar -xJ
- cd ../deps && travis_retry git clone https://github.com/upx/upx-testsuite
- |
cd /
if [[ $TRAVIS_OS_NAME == linux ]]; then
if [[ $B =~ (^|\+)coverage($|\+) ]]; then
travis_retry pip install --user cpp-coveralls
fi
fi
if [[ $TRAVIS_OS_NAME == osx ]]; then
# make sure we have recent bash and coreutils versions
travis_retry brew install bash
travis_retry brew install coreutils
if [[ $B =~ (^|\+)coverage($|\+) ]]; then
travis_retry brew install lcov
travis_retry pip install --user cpp-coveralls
fi
fi
script:
- cd $TRAVIS_BUILD_DIR && mkdir -p ../build/travis
- cd $TRAVIS_BUILD_DIR && bash ./.github/travis_build.sh
- cd $TRAVIS_BUILD_DIR && bash ./.github/travis_testsuite_1.sh
# vim:set ts=2 sw=2 et: