Blame .travis.yml

Packit caffb5
language: cpp
Packit caffb5
Packit caffb5
matrix:
Packit caffb5
  include:
Packit caffb5
# OSX
Packit caffb5
    - os: osx
Packit caffb5
      compiler: clang
Packit caffb5
      env: OPJ_CI_ARCH=x86_64 OPJ_CI_BUILD_CONFIGURATION=Release OPJ_CI_INCLUDE_IF_DEPLOY=1
Packit caffb5
Packit caffb5
# Test code style
Packit caffb5
    - os: linux
Packit caffb5
      compiler: clang-3.8
Packit caffb5
      env: OPJ_CI_CC=clang-3.8 OPJ_CI_CXX=clang-3.8 OPJ_CI_CHECK_STYLE=1 OPJ_CI_SKIP_TESTS=1
Packit caffb5
      addons:
Packit caffb5
        apt:
Packit caffb5
          sources:
Packit caffb5
            - llvm-toolchain-precise-3.8
Packit caffb5
            - ubuntu-toolchain-r-test
Packit caffb5
          packages:
Packit caffb5
            - clang-3.8
Packit caffb5
            - flip
Packit caffb5
Packit caffb5
# Performance test with GCC
Packit caffb5
    - os: linux
Packit caffb5
      compiler: g++
Packit caffb5
      dist: precise
Packit caffb5
      env: OPJ_CI_ARCH=x86_64 OPJ_CI_BUILD_CONFIGURATION=Release OPJ_CI_INCLUDE_IF_DEPLOY=1 OPJ_CI_PERF_TESTS=1
Packit caffb5
Packit caffb5
# Test compilation with AVX2
Packit caffb5
    - os: linux
Packit caffb5
      # "sudo: yes" and "dist: trusty" give us a worker with the AVX2 instruction set
Packit caffb5
      sudo: yes
Packit caffb5
      dist: trusty
Packit caffb5
      compiler: clang-3.8
Packit caffb5
      env: OPJ_CI_CC=clang-3.8 OPJ_CI_CXX=clang-3.8 OPJ_CI_INSTRUCTION_SETS="-mavx2" OPJ_CI_BUILD_CONFIGURATION=Release
Packit caffb5
      addons:
Packit caffb5
        apt:
Packit caffb5
          sources:
Packit caffb5
            - llvm-toolchain-precise-3.8
Packit caffb5
            - ubuntu-toolchain-r-test
Packit caffb5
          packages:
Packit caffb5
            - clang-3.8
Packit caffb5
Packit caffb5
# Test multi-threading
Packit caffb5
    - os: linux
Packit caffb5
      compiler: g++
Packit caffb5
      dist: precise
Packit caffb5
      env: OPJ_CI_ARCH=x86_64 OPJ_CI_BUILD_CONFIGURATION=Release OPJ_NUM_THREADS=2
Packit caffb5
Packit caffb5
# Test 32-bit compilation
Packit caffb5
    - os: linux
Packit caffb5
      compiler: g++
Packit caffb5
      env: OPJ_CI_ARCH=i386 OPJ_CI_BUILD_CONFIGURATION=Release
Packit caffb5
      dist: trusty
Packit caffb5
      addons:
Packit caffb5
        apt:
Packit caffb5
          packages:
Packit caffb5
            - gcc-multilib
Packit caffb5
            - g++-multilib
Packit caffb5
Packit caffb5
# Profile code (gcc -pg)
Packit caffb5
    - os: linux
Packit caffb5
      compiler: g++
Packit caffb5
      env: OPJ_CI_ARCH=x86_64 OPJ_CI_BUILD_CONFIGURATION=Debug OPJ_CI_PROFILE=1
Packit caffb5
      dist: trusty
Packit caffb5
      addons:
Packit caffb5
        apt:
Packit caffb5
          packages:
Packit caffb5
            - valgrind
Packit caffb5
Packit caffb5
# Test under ASAN
Packit caffb5
# Temporarily disabled since broken. See https://github.com/uclouvain/openjpeg/issues/1091
Packit caffb5
#    - os: linux
Packit caffb5
#      compiler: clang
Packit caffb5
#      env: OPJ_CI_ARCH=x86_64 OPJ_CI_BUILD_CONFIGURATION=Debug OPJ_CI_ASAN=1
Packit caffb5
Packit caffb5
# Test with CLang 3.8
Packit caffb5
    - os: linux
Packit caffb5
      compiler: clang-3.8
Packit caffb5
      env: OPJ_CI_CC=clang-3.8 OPJ_CI_CXX=clang-3.8 OPJ_CI_ARCH=x86_64 OPJ_CI_BUILD_CONFIGURATION=Release OPJ_CI_PERF_TESTS=1 OPJ_CI_BUILD_FUZZERS=1
Packit caffb5
      dist: trusty
Packit caffb5
      addons:
Packit caffb5
        apt:
Packit caffb5
          sources:
Packit caffb5
            - llvm-toolchain-precise-3.8
Packit caffb5
            - ubuntu-toolchain-r-test
Packit caffb5
          packages:
Packit caffb5
            - clang-3.8
Packit caffb5
Packit caffb5
# Test with mingw 32 bit
Packit caffb5
    - os: linux
Packit caffb5
      compiler: x86_64-w64-mingw32-g++
Packit caffb5
      env: OPJ_CI_CC=x86_64-w64-mingw32-gcc OPJ_CI_CXX=x86_64-w64-mingw32-g++ OPJ_CI_ARCH=i386 OPJ_CI_BUILD_CONFIGURATION=Release
Packit caffb5
      dist: trusty
Packit caffb5
      addons:
Packit caffb5
        apt:
Packit caffb5
          packages:
Packit caffb5
            - gcc-mingw-w64-base
Packit caffb5
            - binutils-mingw-w64-i686
Packit caffb5
            - gcc-mingw-w64-i686
Packit caffb5
            - gcc-mingw-w64      
Packit caffb5
            - g++-mingw-w64-i686
Packit caffb5
            - gcc-multilib
Packit caffb5
            - g++-multilib
Packit caffb5
Packit caffb5
# Test with mingw 64 bit
Packit caffb5
    - os: linux
Packit caffb5
      compiler: x86_64-w64-mingw32-g++
Packit caffb5
      env: OPJ_CI_CC=x86_64-w64-mingw32-gcc OPJ_CI_CXX=x86_64-w64-mingw32-g++ OPJ_CI_ARCH=x86_64 OPJ_CI_BUILD_CONFIGURATION=Release
Packit caffb5
      dist: trusty
Packit caffb5
      addons:
Packit caffb5
        apt:
Packit caffb5
          packages:
Packit caffb5
            - gcc-mingw-w64-base
Packit caffb5
            - binutils-mingw-w64-x86-64
Packit caffb5
            - gcc-mingw-w64-x86-64
Packit caffb5
            - gcc-mingw-w64
Packit caffb5
            - g++-mingw-w64-x86-64
Packit caffb5
Packit caffb5
# Test with gcc 4.8
Packit caffb5
    - os: linux
Packit caffb5
      compiler: g++-4.8
Packit caffb5
      env: OPJ_CI_CC=gcc-4.8 OPJ_CI_CXX=g++-4.8 OPJ_CI_ABI_CHECK=1
Packit caffb5
      dist: precise
Packit caffb5
      addons:
Packit caffb5
        apt:
Packit caffb5
          sources:
Packit caffb5
            - ubuntu-toolchain-r-test
Packit caffb5
          packages:
Packit caffb5
            - gcc-4.8
Packit caffb5
            - g++-4.8
Packit caffb5
            - libelf-dev
Packit caffb5
            - elfutils
Packit caffb5
            - texinfo
Packit caffb5
            - exuberant-ctags
Packit caffb5
Packit caffb5
install:
Packit caffb5
  - "./tools/travis-ci/install.sh"
Packit caffb5
Packit caffb5
script:
Packit caffb5
  - "./tools/travis-ci/run.sh"
Packit caffb5
  - "./tools/travis-ci/abi-check.sh"
Packit caffb5
Packit caffb5
before_deploy:
Packit caffb5
  - export OPJ_RELEASE_PKG_FILE=$(ls build/openjpeg-${TRAVIS_TAG}*)
Packit caffb5
  - echo "deploying $OPJ_RELEASE_PKG_FILE to GitHub releases"
Packit caffb5
Packit caffb5
deploy:
Packit caffb5
  provider: releases
Packit caffb5
  api_key:
Packit caffb5
    secure: dJXdzoFwk9wYWIKztnXKlVIr1QDmeXtk3oK+2MEzy22fBTKPuphU/cYMvhi5B7sWDwm77f43vbAYO6z7IFmuThwhkuVMD/o+lUyCqGffGeiU1pKpxEvB+LbO/C5asdSnor3RfYdOyo3x4cNlhNtfhXIn7FcAg371yEY6VSIP87adoQcuE+taig0cYWcrNWYGHirHlzEz1utnKwCT/nlhV4nSIWxjwYUp3nt8PAw3RbqQkPPNBniW92g6JA25vLRc3HMD18ISCfNLC2fI6a/dTR+vd+bCySA7JvqeDZnv8SxbVIabu5T+A5CHzHbdp2l2kynPwqHOO47pGa+VfisXEwSsOpa+4EZsPLdwOhaFFnvDwKwR3EjI1TkRVd26IcK61Y5zVZQgalnXBowBEZoI4fT/oEPF7VZMjN3sy/do1U6d5kO0UGqCHCJIVwPeELhwq5z7Ld04K7dSFFVenZhhQKCwxI1o8vgkGNJUWD2Ii6ZLrZKYZ0lC65hr2d39e/KoK3Yh5KHF0cVn6ppBTcUjYr/tdHHO43rwoaf3r1CdAQAYpFvfi3900hl9I/GPwky0YJ6W2QDS2vincwaqWDQ0+WNGf4AKSdx5kCgQU45PSfDb/lxAyXkqmBuI3h/C2ellleaWVL9sGtNRWa/w6WseGMGwfCXgN82XRVM2bgP6pYg=
Packit caffb5
  file_glob: true
Packit caffb5
  file: "${OPJ_RELEASE_PKG_FILE}"
Packit caffb5
  skip_cleanup: true
Packit caffb5
  on:
Packit caffb5
    repo: uclouvain/openjpeg
Packit caffb5
    tags: true
Packit caffb5
    condition: "$OPJ_CI_INCLUDE_IF_DEPLOY = 1"