The change makes a relative path to header files
[openjpeg.git] / .travis.yml
1 language: cpp
2
3 matrix:
4   include:
5 # OSX
6     - os: osx
7       compiler: clang
8       env: OPJ_CI_ARCH=x86_64 OPJ_CI_BUILD_CONFIGURATION=Release OPJ_CI_INCLUDE_IF_DEPLOY=1
9
10 # Test code style
11     - os: linux
12       compiler: clang-3.8
13       env: OPJ_CI_CC=clang-3.8 OPJ_CI_CXX=clang-3.8 OPJ_CI_CHECK_STYLE=1 OPJ_CI_SKIP_TESTS=1
14       addons:
15         apt:
16           sources:
17             - llvm-toolchain-precise-3.8
18             - ubuntu-toolchain-r-test
19           packages:
20             - clang-3.8
21             - flip
22
23 # Performance test with GCC
24     - os: linux
25       compiler: g++
26       dist: precise
27       env: OPJ_CI_ARCH=x86_64 OPJ_CI_BUILD_CONFIGURATION=Release OPJ_CI_INCLUDE_IF_DEPLOY=1 OPJ_CI_PERF_TESTS=1
28
29 # Test compilation with AVX2
30     - os: linux
31       # "sudo: yes" and "dist: trusty" give us a worker with the AVX2 instruction set
32       sudo: yes
33       dist: trusty
34       compiler: clang-3.8
35       env: OPJ_CI_CC=clang-3.8 OPJ_CI_CXX=clang-3.8 OPJ_CI_INSTRUCTION_SETS="-mavx2" OPJ_CI_BUILD_CONFIGURATION=Release
36       addons:
37         apt:
38           sources:
39             - llvm-toolchain-precise-3.8
40             - ubuntu-toolchain-r-test
41           packages:
42             - clang-3.8
43
44 # Test multi-threading
45     - os: linux
46       compiler: g++
47       dist: precise
48       env: OPJ_CI_ARCH=x86_64 OPJ_CI_BUILD_CONFIGURATION=Release OPJ_NUM_THREADS=2
49
50 # Test 32-bit compilation
51     - os: linux
52       compiler: g++
53       env: OPJ_CI_ARCH=i386 OPJ_CI_BUILD_CONFIGURATION=Release
54       addons:
55         apt:
56           packages:
57             - gcc-multilib
58             - g++-multilib
59
60 # Profile code (gcc -pg)
61     - os: linux
62       compiler: g++
63       env: OPJ_CI_ARCH=x86_64 OPJ_CI_BUILD_CONFIGURATION=Debug OPJ_CI_PROFILE=1
64       addons:
65         apt:
66           packages:
67             - valgrind
68
69 # Test under ASAN
70 # Temporarily disabled since broken. See https://github.com/uclouvain/openjpeg/issues/1091
71 #    - os: linux
72 #      compiler: clang
73 #      env: OPJ_CI_ARCH=x86_64 OPJ_CI_BUILD_CONFIGURATION=Debug OPJ_CI_ASAN=1
74
75 # Test with CLang 3.8
76     - os: linux
77       compiler: clang-3.8
78       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
79       addons:
80         apt:
81           sources:
82             - llvm-toolchain-precise-3.8
83             - ubuntu-toolchain-r-test
84           packages:
85             - clang-3.8
86
87 # Test with mingw 32 bit
88     - os: linux
89       compiler: x86_64-w64-mingw32-g++
90       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
91       addons:
92         apt:
93           packages:
94             - gcc-mingw-w64-base
95             - binutils-mingw-w64-i686
96             - gcc-mingw-w64-i686
97             - gcc-mingw-w64      
98             - g++-mingw-w64-i686
99             - gcc-multilib
100             - g++-multilib
101
102 # Test with mingw 64 bit
103     - os: linux
104       compiler: x86_64-w64-mingw32-g++
105       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
106       addons:
107         apt:
108           packages:
109             - gcc-mingw-w64-base
110             - binutils-mingw-w64-x86-64
111             - gcc-mingw-w64-x86-64
112             - gcc-mingw-w64
113             - g++-mingw-w64-x86-64
114
115 # Test with gcc 4.8
116     - os: linux
117       compiler: g++-4.8
118       env: OPJ_CI_CC=gcc-4.8 OPJ_CI_CXX=g++-4.8 OPJ_CI_ABI_CHECK=1
119       dist: precise
120       addons:
121         apt:
122           sources:
123             - ubuntu-toolchain-r-test
124           packages:
125             - gcc-4.8
126             - g++-4.8
127             - libelf-dev
128             - elfutils
129             - texinfo
130             - exuberant-ctags
131
132 install:
133   - ./tools/travis-ci/install.sh
134
135 script:
136   - ./tools/travis-ci/run.sh
137   - ./tools/travis-ci/abi-check.sh
138
139 before_deploy:
140   - export OPJ_RELEASE_PKG_FILE=$(ls build/openjpeg-${TRAVIS_TAG}*)
141   - echo "deploying $OPJ_RELEASE_PKG_FILE to GitHub releases"
142
143 deploy:
144   provider: releases
145   api_key:
146     secure: Npi13uOffALCVNwea4p4q8v85Lo/WsRqaeZQcWrAkt8MxRnfvWQtmnuwmHnVB6Cig+T1lVUHrklOaJIApIb6nkGq3CS/9bD8+SCS2NEdAAP/QYWnBi0ubWXVMRyDLypmwRpzLNSZ0xLYGFUl2PjieZYKRcz1dd/J7S+FnXhPtdjXweq0FS63zTcMe7ggjfmzSOWUCEFmMjZPaM0Be+3PweieCO1dxlHuy7ugCkx2S7d+5hNsicIhQmTADjqtJAkHoMhYqu6/yLFxhjO/+f938PATFULdODTvjCsUwdN/ySWi1Oj4uPAntfytZP7H6YrzLh8dS73QCsdkhhDJIgJskHIBSbRyyEVUnOvQgD9VaBVGHtc1KtZQTwc41OUO3BGPHl97s3oX6bqWqo/L53dB3TPHGx+1+2HL/F0zaDZuHhAKMkPwe8LFPMPB/ur65zXMHjnWb2ZTVVdoIvkbQ7nu8ApI60ejxocYBsEyAuC2CPXU2ki4jdEhm0E1hIziWNE9/LTuM17ziQuJ6WpXOSMrfP4o5aVDmLp5ZGBSocrspOksgyI9XogHaO/r+Y6N3exy+giObFfMHkZVUpsKrKmtOJ7TC1Vg5HsYGlWW8RN8dkJV47bUXm9K4sMos9eYMUt/czykPAs+132cogpII3QxXpFZQqZg6SEPVfOiyqQzTUI=
147   file_glob: true
148   file: "${OPJ_RELEASE_PKG_FILE}"
149   skip_cleanup: true
150   on:
151     repo: uclouvain/openjpeg
152     tags: true
153     condition: "$OPJ_CI_INCLUDE_IF_DEPLOY = 1"
154