.travis.yml 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391
  1. #
  2. # Copyright (c) 2008-2015 the Urho3D project.
  3. #
  4. # Permission is hereby granted, free of charge, to any person obtaining a copy
  5. # of this software and associated documentation files (the "Software"), to deal
  6. # in the Software without restriction, including without limitation the rights
  7. # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  8. # copies of the Software, and to permit persons to whom the Software is
  9. # furnished to do so, subject to the following conditions:
  10. #
  11. # The above copyright notice and this permission notice shall be included in
  12. # all copies or substantial portions of the Software.
  13. #
  14. # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  15. # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  16. # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  17. # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  18. # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  19. # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
  20. # THE SOFTWARE.
  21. #
  22. ---
  23. language: cpp
  24. cache: ccache
  25. sudo: false
  26. addons: {apt: {sources: &default_sources george-edison55-precise-backports, packages: &default_packages [doxygen, graphviz]}}
  27. env:
  28. global:
  29. - secure: DE9IUM+pIV757GU0ccfDJhA752442pKu3DyBthrzHW9+GbsqbfuJOx045CYNN5vOWutFPC0A51B9WxhLNpXXqD3mfU8MhP1gkF7SskrHvcAPrCyfdqZf1Q8XDP5phm2KbHhhwxQMYmmicd6yj8DPNy2wRoSgPSDp/ZUDk51XZDU=
  30. - secure: ecj/PwpbHkH9AYFsc2TMeRuNm5E3xMM8A0x4AcGhzpwDuZWdFx3R1T4G9u45Z5aUyTJWGqOeX1JPaEVVFZuYnNBKRy0kmiUrM9EE0j7WsT57K48tP1ysn2ynyvHgbYkKOfYR0t8XAMWTBbulT9DVVk3DS69//2WgiXGDVUEJTyI=
  31. - NUMJOBS=4
  32. - USE_CCACHE=1
  33. - CCACHE_SLOPPINESS=pch_defines,time_macros
  34. - CCACHE_COMPRESS=1
  35. - CCACHE_MAXSIZE=100M
  36. matrix:
  37. fast_finish: true
  38. include:
  39. - &Linux-64bit
  40. addons: {apt: {sources: [*default_sources, kubuntu-backports, ubuntu-toolchain-r-test], packages: [cmake, g++-4.9, &linux_packages [*default_packages, libasound2-dev, rpm]]}}
  41. compiler: gcc-64bit-static
  42. env: LINUX=1 URHO3D_LIB_TYPE=STATIC URHO3D_UPDATE_SOURCE_TREE=1 COVERITY_SCAN_THRESHOLD=100 SF_DEFAULT=linux:Linux-64bit-STATIC.tar.gz
  43. - &Linux-64bit-shared
  44. addons: {apt: {sources: *default_sources, packages: *linux_packages}}
  45. compiler: gcc-64bit-shared
  46. env: LINUX=1 URHO3D_LIB_TYPE=SHARED
  47. - <<: *Linux-64bit-shared
  48. compiler: clang-64bit-static
  49. env: LINUX=1 URHO3D_LIB_TYPE=STATIC
  50. - <<: *Linux-64bit-shared
  51. compiler: clang-64bit-shared
  52. - &Linux-32bit
  53. compiler: gcc-32bit-static
  54. addons: {apt: {sources: *default_sources, packages: [*linux_packages, g++-multilib, "libxrandr-dev:i386", "libglapi-mesa:i386", "libgl1-mesa-glx:i386", "libgl1-mesa-dev:i386", "libxext-dev:i386", "libxrender-dev:i386"]}}
  55. env: LINUX=1 URHO3D_LIB_TYPE=STATIC URHO3D_64BIT=0
  56. - &Linux-32bit-shared
  57. <<: *Linux-32bit
  58. compiler: gcc-32bit-shared
  59. env: LINUX=1 URHO3D_LIB_TYPE=SHARED URHO3D_64BIT=0
  60. - <<: *Linux-32bit
  61. compiler: clang-32bit-static
  62. - <<: *Linux-32bit-shared
  63. compiler: clang-32bit-shared
  64. - &MinGW-64bit
  65. compiler: x86_64-w64-mingw32-gcc-static
  66. addons: {apt: {sources: *default_sources, packages: [*default_packages, gcc-mingw-w64-x86-64, g++-mingw-w64-x86-64, binutils-mingw-w64-x86-64]}}
  67. env: WINDOWS=1 URHO3D_LIB_TYPE=STATIC
  68. - <<: *MinGW-64bit
  69. compiler: x86_64-w64-mingw32-gcc-shared
  70. env: WINDOWS=1 URHO3D_LIB_TYPE=SHARED
  71. - <<: *MinGW-64bit
  72. compiler: x86_64-w64-mingw32-gcc-d3d9-static
  73. env: WINDOWS=1 URHO3D_LIB_TYPE=STATIC URHO3D_OPENGL=0
  74. - <<: *MinGW-64bit
  75. compiler: x86_64-w64-mingw32-gcc-d3d9-shared
  76. env: WINDOWS=1 URHO3D_LIB_TYPE=SHARED URHO3D_OPENGL=0
  77. # Ubuntu 12.04 LTS does not have up-to-date D3D11 headers, disable the CI build jobs for D3D11 for now until Travis-CI upgrades their OS to 14.04 LTS or better
  78. # <<: *MinGW-64bit
  79. # compiler: x86_64-w64-mingw32-gcc-d3d11-static
  80. # env: WINDOWS=1 URHO3D_LIB_TYPE=STATIC URHO3D_D3D11=1
  81. # <<: *MinGW-64bit
  82. # compiler: x86_64-w64-mingw32-gcc-d3d11-shared
  83. # env: WINDOWS=1 URHO3D_LIB_TYPE=SHARED URHO3D_D3D11=1
  84. - &MinGW-32bit
  85. compiler: i686-w64-mingw32-gcc-static
  86. addons: {apt: {sources: *default_sources, packages: [*default_packages, gcc-mingw-w64-i686, g++-mingw-w64-i686, binutils-mingw-w64-i686]}}
  87. env: WINDOWS=1 URHO3D_LIB_TYPE=STATIC URHO3D_64BIT=0
  88. - <<: *MinGW-32bit
  89. compiler: i686-w64-mingw32-gcc-shared
  90. env: WINDOWS=1 URHO3D_LIB_TYPE=SHARED URHO3D_64BIT=0
  91. - <<: *MinGW-32bit
  92. compiler: i686-w64-mingw32-gcc-d3d9-static
  93. env: WINDOWS=1 URHO3D_LIB_TYPE=STATIC URHO3D_64BIT=0 URHO3D_OPENGL=0
  94. - <<: *MinGW-32bit
  95. compiler: i686-w64-mingw32-gcc-d3d9-shared
  96. env: WINDOWS=1 URHO3D_LIB_TYPE=SHARED URHO3D_64BIT=0 URHO3D_OPENGL=0
  97. # <<: *MinGW-32bit
  98. # compiler: i686-w64-mingw32-gcc-d3d11-static
  99. # env: WINDOWS=1 URHO3D_LIB_TYPE=STATIC URHO3D_64BIT=0 URHO3D_D3D11=1
  100. # <<: *MinGW-32bit
  101. # compiler: i686-w64-mingw32-gcc-d3d11-shared
  102. # env: WINDOWS=1 URHO3D_LIB_TYPE=SHARED URHO3D_64BIT=0 URHO3D_D3D11=1
  103. before_script:
  104. - export TAG=$(git describe --exact-match $TRAVIS_COMMIT 2>/dev/null); if [[ $TAG =~ [[:digit:]]+\.[[:digit:]]+ ]]; then export RELEASE_TAG=$TAG; fi
  105. - export COMMIT_MESSAGE=$(git log --format=%B -n 1 $TRAVIS_COMMIT)
  106. - if [ $RELEASE_TAG ] || ([ "$TRAVIS_BRANCH" == "master" ] && [ "$TRAVIS_PULL_REQUEST" == "false" ]); then if [ ${TRAVIS_JOB_NUMBER##*.} == 1 ]; then export SITE_UPDATE=1; fi; if [ "$CC" == "gcc" ] && ([ $RELEASE_TAG ] || echo $COMMIT_MESSAGE |grep -cq '\[ci package\]'); then export PACKAGE_UPLOAD=1; fi; fi
  107. - if [ $LINUX ]; then if [ "$URHO3D_64BIT" == "0" ]; then export CMAKE_PREFIX_PATH=/usr/lib/i386-linux-gnu; else export DISPLAY=:99.0; bash -e /etc/init.d/xvfb start; fi; fi
  108. - if [ $WINDOWS ]; then if [ "$URHO3D_64BIT" == "0" ]; then export ARCH=i686; else export ARCH=x86_64; fi && export MINGW_PREFIX=/usr/bin/${ARCH}-w64-mingw32; fi
  109. # MinGW package on Ubuntu 12.04 LTS does not come with d3dcompiler.h file which is required by our CI build with URHO3D_OPENGL=0.
  110. # Temporarily workaround the problem by downloading the missing header from Ubuntu 14.04 LTS source package.
  111. - if [ $URHO3D_OPENGL ]; then mkdir -p ../Build/{,generated/{UsingBuildTree,UsingSDK}/}include/Urho3D/ThirdParty && wget -P ../Build/include/Urho3D/ThirdParty http://bazaar.launchpad.net/~ubuntu-branches/ubuntu/trusty/mingw-w64/trusty/download/package-import%40ubuntu.com-20130624192537-vzn12bb7qd5w3iy8/d3dcompiler.h-20120402093420-bk10a737hzitlkgj-65/d3dcompiler.h && for d in UsingBuildTree UsingSDK; do bash -c "cd ../Build/generated/$d/include/Urho3D/ThirdParty && ln -s ../../../../../include/Urho3D/ThirdParty/d3dcompiler.h ."; done; fi
  112. - export PATH=$(whereis -b ccache |grep -o '\S*lib\S*'):$PATH
  113. - if [ $URHO3D_BINDINGS ]; then git clone --depth 1 https://github.com/urho3d/fastcomp-clang.git && export LLVM_CLANG_ROOT=$(pwd)/fastcomp-clang && export CXX=g++-4.9 CC=gcc-4.9 && for compiler in gcc g++; do ln -s $(which ccache) $HOME/$compiler-4.9; done && export PATH=$HOME:$PATH; fi
  114. # For some reason clang compiler toolchain installation in Travis CI VM does not have symlink in the ccache symlinks directory, so workaround it
  115. - if [ "$CC" == "clang" ]; then ln -s $(which ccache) $HOME/clang && ln -s $(which ccache) $HOME/clang++ && export PATH=$HOME:$PATH; fi
  116. - rake ci_setup_cache
  117. script: rake ci
  118. after_success:
  119. - if [ $SITE_UPDATE ]; then rake ci_site_update || ! [ $RELEASE_TAG ]; fi
  120. - if [ $PACKAGE_UPLOAD ]; then rake ci_package_upload && if [ $LINUX ] && [ ! "$URHO3D_64BIT" == "0" ]; then rake ci_package_upload URHO3D_USE_LIB64_RPM=1; fi || ! [ $RELEASE_TAG ]; fi
  121. after_script:
  122. - rake ci_teardown_cache
  123. - if [ ${TRAVIS_JOB_NUMBER##*.} == 1 ] && [ "$TRAVIS_PULL_REQUEST" == "false" ]; then rake ci_create_mirrors; fi
  124. notifications: {email: {on_success: never, on_failure: change}}
  125. ---
  126. branch: {name: Coverity-Scan, active: no}
  127. language: cpp
  128. compiler: gcc
  129. cache: ccache
  130. sudo: false
  131. addons:
  132. apt:
  133. packages: libasound2-dev
  134. coverity_scan:
  135. project:
  136. name: urho3d/Urho3D
  137. description: Urho3D is a free lightweight, cross-platform 2D and 3D game engine implemented in C++ and released under the MIT license. Greatly inspired by OGRE and Horde3D.
  138. notification_email: [email protected]
  139. build_command_prepend: rake cmake URHO3D_LUAJIT=1 URHO3D_LUAJIT_AMALG=1 URHO3D_SAMPLES=1 URHO3D_TOOLS=1 URHO3D_EXTRAS=1 URHO3D_DATABASE_SQLITE=1 URHO3D_LIB_TYPE=SHARED
  140. build_command: rake make numjobs=4
  141. branch_pattern: .*Coverity-Scan$
  142. env:
  143. global:
  144. - secure: DE9IUM+pIV757GU0ccfDJhA752442pKu3DyBthrzHW9+GbsqbfuJOx045CYNN5vOWutFPC0A51B9WxhLNpXXqD3mfU8MhP1gkF7SskrHvcAPrCyfdqZf1Q8XDP5phm2KbHhhwxQMYmmicd6yj8DPNy2wRoSgPSDp/ZUDk51XZDU=
  145. - secure: itgWNvH4Zj0hQpkUctVxMwJwVX3hIluVuvUbzO2XG7dxQaMMfcLGwVKgq8X1HOf4dJCUv5WL0jcSMWXbdc8tvqQJwBb5R2Z2JJYpTTAgtmLy7TNn6zgetZtGrYEJuTlxSItbS/NF4iPDO25ih7j5Ma0ffXRpBnlURQaytfYfFaQ=
  146. - LINUX=1
  147. - USE_CCACHE=1
  148. - CCACHE_SLOPPINESS=pch_defines,time_macros
  149. - CCACHE_COMPRESS=1
  150. - CCACHE_MAXSIZE=100M
  151. before_script:
  152. - export TRAVIS_COMMIT=$TRAVIS_COMMIT~
  153. - export COMMIT_MESSAGE=$(git log --format=%B -n 1 $TRAVIS_COMMIT)
  154. - export PATH=$(whereis -b ccache |grep -o '\S*lib\S*'):$PATH
  155. - rake ci_setup_cache
  156. script: true
  157. after_script: rake ci_teardown_cache
  158. ---
  159. branch: {name: Annotate, active: no}
  160. language: cpp
  161. compiler: gcc
  162. cache: ccache
  163. sudo: false
  164. addons: {apt: {sources: [kubuntu-backports, ubuntu-toolchain-r-test], packages: [cmake, g++-4.9, libasound2-dev]}}
  165. env:
  166. global:
  167. - secure: DE9IUM+pIV757GU0ccfDJhA752442pKu3DyBthrzHW9+GbsqbfuJOx045CYNN5vOWutFPC0A51B9WxhLNpXXqD3mfU8MhP1gkF7SskrHvcAPrCyfdqZf1Q8XDP5phm2KbHhhwxQMYmmicd6yj8DPNy2wRoSgPSDp/ZUDk51XZDU=
  168. - NUMJOBS=4
  169. - USE_CCACHE=1
  170. - CCACHE_SLOPPINESS=pch_defines,time_macros
  171. - CCACHE_COMPRESS=1
  172. - CCACHE_MAXSIZE=100M
  173. before_script:
  174. - export TRAVIS_COMMIT=$TRAVIS_COMMIT~
  175. - export COMMIT_MESSAGE=$(git log --format=%B -n 1 $TRAVIS_COMMIT)
  176. - git clone --depth 1 https://github.com/urho3d/fastcomp-clang.git && export LLVM_CLANG_ROOT=$(pwd)/fastcomp-clang
  177. - export PATH=$(whereis -b ccache |grep -o '\S*lib\S*'):$PATH
  178. - export CXX=g++-4.9 CC=gcc-4.9
  179. - for compiler in gcc g++; do ln -s $(which ccache) $HOME/$compiler-4.9; done && export PATH=$HOME:$PATH
  180. - rake ci_setup_cache
  181. script: rake ci_annotate
  182. after_script: rake ci_teardown_cache
  183. ---
  184. branch: {name: Android-CI, active: yes}
  185. language: android
  186. android: {components: [build-tools-22.0.1]}
  187. cache: {directories: $HOME/.ccache}
  188. sudo: false
  189. addons: {apt: {sources: &default_sources george-edison55-precise-backports, packages: &default_packages [doxygen, graphviz, libasound2-dev, g++-multilib]}}
  190. env:
  191. global:
  192. - secure: DE9IUM+pIV757GU0ccfDJhA752442pKu3DyBthrzHW9+GbsqbfuJOx045CYNN5vOWutFPC0A51B9WxhLNpXXqD3mfU8MhP1gkF7SskrHvcAPrCyfdqZf1Q8XDP5phm2KbHhhwxQMYmmicd6yj8DPNy2wRoSgPSDp/ZUDk51XZDU=
  193. - secure: ecj/PwpbHkH9AYFsc2TMeRuNm5E3xMM8A0x4AcGhzpwDuZWdFx3R1T4G9u45Z5aUyTJWGqOeX1JPaEVVFZuYnNBKRy0kmiUrM9EE0j7WsT57K48tP1ysn2ynyvHgbYkKOfYR0t8XAMWTBbulT9DVVk3DS69//2WgiXGDVUEJTyI=
  194. - NUMJOBS=4
  195. - ANDROID=1
  196. - ANDROID_TMP=~/tmp
  197. - PACKAGE_JOB_END=9
  198. - CCACHE_SLOPPINESS=pch_defines,time_macros
  199. - CCACHE_COMPRESS=1
  200. - CCACHE_MAXSIZE=100M
  201. matrix:
  202. fast_finish: true
  203. include:
  204. # x86 and x86_64 emulation currently requires hardware acceleration which Travis-CI cannot provide, so skip AVD for now
  205. # env: API=21 ABI=x86_64 URHO3D_LIB_TYPE=SHARED INSTALL=sys-img-x86_64-android-21 AVD=test_21_x86_64 USE_CCACHE=2
  206. # env: API=21 ABI=x86 URHO3D_LIB_TYPE=SHARED INSTALL=sys-img-x86-android-21 AVD=test_21_x86 USE_CCACHE=2
  207. # Travis CI does not create one cache per job at the moment, so workaround it to have still high cache hit/miss ratio
  208. # We use jdk key as the cache storage differentiator! Our library is compiled using NDK so it should not be affected by JDK version
  209. # We have to ensure those jobs with AVD test are run using the correct JDK version, i.e. Oracle JDK 7 which is the default
  210. # We can only cache 5 jobs due to limited supply of valid JDK versions when using Travis CI native ccache support
  211. # The other 5 jobs are cached using our own cache store (originally designed for Travis CI legacy build infra)
  212. - &cache1
  213. jdk: oraclejdk8
  214. env: API=21 ABI=x86_64 URHO3D_LIB_TYPE=STATIC INSTALL=sys-img-x86_64-android-21 USE_CCACHE=1
  215. - &alternative-cache
  216. cache: false
  217. env: API=21 ABI=x86_64 URHO3D_LIB_TYPE=SHARED INSTALL=sys-img-x86_64-android-21 USE_CCACHE=2
  218. - &cache2
  219. jdk: openjdk7
  220. env: API=21 ABI=x86 URHO3D_LIB_TYPE=STATIC INSTALL=sys-img-x86-android-21 USE_CCACHE=1
  221. - <<: *alternative-cache
  222. env: API=21 ABI=x86 URHO3D_LIB_TYPE=SHARED INSTALL=sys-img-x86-android-21 USE_CCACHE=2
  223. - &cache3
  224. jdk: openjdk6
  225. # ANDROID_ABI=arm64-v8a uses NEON by default, so the following two CI jobs also test NEON code path in the build
  226. env: API=21 ABI=arm64-v8a URHO3D_LIB_TYPE=STATIC NO_SDK_SYSIMG=1 USE_CCACHE=1
  227. - <<: *alternative-cache
  228. env: API=21 ABI=arm64-v8a URHO3D_LIB_TYPE=SHARED NO_SDK_SYSIMG=1 USE_CCACHE=2
  229. - <<: *alternative-cache
  230. env: API=21 ABI=armeabi-v7a URHO3D_LIB_TYPE=STATIC USE_CCACHE=2
  231. - &cache4
  232. jdk: oraclejdk7
  233. env: API=21 ABI=armeabi-v7a URHO3D_LIB_TYPE=SHARED AVD=test_21_armeabi-v7a USE_CCACHE=1
  234. - <<: *alternative-cache
  235. env: API=19 ABI=armeabi-v7a URHO3D_LIB_TYPE=STATIC USE_CCACHE=2
  236. - &cache5
  237. env: API=19 ABI=armeabi-v7a URHO3D_LIB_TYPE=SHARED AVD=test_19_armeabi-v7a USE_CCACHE=1
  238. before_script:
  239. - export TRAVIS_COMMIT=$TRAVIS_COMMIT~
  240. - export TAG=$(git describe --exact-match $TRAVIS_COMMIT 2>/dev/null); if [[ $TAG =~ [[:digit:]]+\.[[:digit:]]+ ]]; then export RELEASE_TAG=$TAG; fi
  241. - export COMMIT_MESSAGE=$(git log --format=%B -n1 $TRAVIS_COMMIT)
  242. - if [ ${TRAVIS_JOB_NUMBER##*.} -lt $PACKAGE_JOB_END ] && ([ $RELEASE_TAG ] || (! [[ $TRAVIS_BRANCH =~ [^-]+-[^-]+-CI ]] && echo $COMMIT_MESSAGE |grep -cq '\[ci package\]')); then export PACKAGE_UPLOAD=1; fi
  243. - git clone --depth 1 --branch strip https://github.com/urho3d/android-ndk.git && export ANDROID_NDK=$(pwd)/android-ndk && if ([ $AVD ] || [ $PACKAGE_UPLOAD ]) && [ $INSTALL ]; then (while :; do echo 'y'; sleep 1; done) |android update sdk --no-ui --all --filter $INSTALL; fi
  244. - if [ "$ABI" == "x86_64" ]; then export C_PATH=$(pwd)/android-ndk/toolchains/x86_64-4.9/prebuilt/linux-x86_64/bin C_PREFIX=x86_64-linux-android; fi
  245. - if [ "$ABI" == "x86" ]; then export C_PATH=$(pwd)/android-ndk/toolchains/x86-4.9/prebuilt/linux-x86_64/bin C_PREFIX=i686-linux-android; fi
  246. - if [ "$ABI" == "arm64-v8a" ]; then export C_PATH=$(pwd)/android-ndk/toolchains/aarch64-linux-android-4.9/prebuilt/linux-x86_64/bin C_PREFIX=aarch64-linux-android; fi
  247. - if [ "$ABI" == "armeabi-v7a" ]; then export C_PATH=$(pwd)/android-ndk/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin C_PREFIX=arm-linux-androideabi; fi
  248. - export PATH=$(whereis -b ccache |grep -o '\S*lib\S*'):$C_PATH:$PATH; for f in $C_PATH/$C_PREFIX-{gcc,g++}; do touch -d "2015-01-01 00:00:00 +0800" $f; done
  249. - rake ci_setup_cache
  250. script: rake ci
  251. after_success: if [ $PACKAGE_UPLOAD ]; then rake ci_package_upload || ! [ $RELEASE_TAG ]; fi
  252. after_script: rake ci_teardown_cache
  253. ---
  254. branch: {name: RPI-CI, active: yes}
  255. language: cpp
  256. cache: ccache
  257. sudo: false
  258. addons: {apt: {sources: &default_sources george-edison55-precise-backports, packages: &default_packages [doxygen, graphviz, libasound2-dev, g++-multilib, rpm]}}
  259. env:
  260. global:
  261. - secure: DE9IUM+pIV757GU0ccfDJhA752442pKu3DyBthrzHW9+GbsqbfuJOx045CYNN5vOWutFPC0A51B9WxhLNpXXqD3mfU8MhP1gkF7SskrHvcAPrCyfdqZf1Q8XDP5phm2KbHhhwxQMYmmicd6yj8DPNy2wRoSgPSDp/ZUDk51XZDU=
  262. - secure: ecj/PwpbHkH9AYFsc2TMeRuNm5E3xMM8A0x4AcGhzpwDuZWdFx3R1T4G9u45Z5aUyTJWGqOeX1JPaEVVFZuYnNBKRy0kmiUrM9EE0j7WsT57K48tP1ysn2ynyvHgbYkKOfYR0t8XAMWTBbulT9DVVk3DS69//2WgiXGDVUEJTyI=
  263. - NUMJOBS=4
  264. - RPI=1
  265. - PACKAGE_JOB_END=5
  266. - USE_CCACHE=1
  267. - CCACHE_SLOPPINESS=pch_defines,time_macros
  268. - CCACHE_COMPRESS=1
  269. - CCACHE_MAXSIZE=100M
  270. matrix:
  271. fast_finish: true
  272. include:
  273. - compiler: gcc-armeabi-v6-static
  274. env: URHO3D_LIB_TYPE=STATIC
  275. - compiler: gcc-armeabi-v6-shared
  276. env: URHO3D_LIB_TYPE=SHARED
  277. - compiler: gcc-armeabi-v7a-static
  278. env: URHO3D_LIB_TYPE=STATIC RPI_ABI=armeabi-v7a
  279. - compiler: gcc-armeabi-v7a-shared
  280. env: URHO3D_LIB_TYPE=SHARED RPI_ABI=armeabi-v7a
  281. - compiler: gcc-armeabi-v7a-with-NEON-static
  282. env: URHO3D_LIB_TYPE=STATIC RPI_ABI='armeabi-v7a with NEON'
  283. - compiler: gcc-armeabi-v7a-with-NEON-shared
  284. env: URHO3D_LIB_TYPE=SHARED RPI_ABI='armeabi-v7a with NEON'
  285. before_script:
  286. - git clone --depth 1 https://github.com/raspberrypi/tools.git rpi-tools && export RPI_PREFIX=$(pwd)/rpi-tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/arm-linux-gnueabihf && git clone --depth 1 --branch strip https://github.com/urho3d/rpi-sysroot.git && export RPI_SYSROOT=$(pwd)/rpi-sysroot && for f in $RPI_PREFIX-{gcc,g++}; do touch -d "2015-01-01 00:00:00 +0800" $f; done
  287. - export TRAVIS_COMMIT=$TRAVIS_COMMIT~
  288. - export TAG=$(git describe --exact-match $TRAVIS_COMMIT 2>/dev/null); if [[ $TAG =~ [[:digit:]]+\.[[:digit:]]+ ]]; then export RELEASE_TAG=$TAG; fi
  289. - export COMMIT_MESSAGE=$(git log --format=%B -n 1 $TRAVIS_COMMIT)
  290. - if [ ${TRAVIS_JOB_NUMBER##*.} -lt $PACKAGE_JOB_END ] && ([ $RELEASE_TAG ] || (! [[ $TRAVIS_BRANCH =~ [^-]+-[^-]+-CI ]] && echo $COMMIT_MESSAGE |grep -cq '\[ci package\]')); then export PACKAGE_UPLOAD=1; fi
  291. - export PATH=$(whereis -b ccache |grep -o '\S*lib\S*'):${RPI_PREFIX%/*}:$PATH
  292. - rake ci_setup_cache
  293. script: rake ci
  294. after_success: if [ $PACKAGE_UPLOAD ]; then rake ci_package_upload || ! [ $RELEASE_TAG ]; fi
  295. after_script: rake ci_teardown_cache
  296. ---
  297. branch: {name: OSX-CI, active: yes}
  298. language: objective-c
  299. osx_image: xcode7.1
  300. env:
  301. global:
  302. - secure: DE9IUM+pIV757GU0ccfDJhA752442pKu3DyBthrzHW9+GbsqbfuJOx045CYNN5vOWutFPC0A51B9WxhLNpXXqD3mfU8MhP1gkF7SskrHvcAPrCyfdqZf1Q8XDP5phm2KbHhhwxQMYmmicd6yj8DPNy2wRoSgPSDp/ZUDk51XZDU=
  303. - secure: ecj/PwpbHkH9AYFsc2TMeRuNm5E3xMM8A0x4AcGhzpwDuZWdFx3R1T4G9u45Z5aUyTJWGqOeX1JPaEVVFZuYnNBKRy0kmiUrM9EE0j7WsT57K48tP1ysn2ynyvHgbYkKOfYR0t8XAMWTBbulT9DVVk3DS69//2WgiXGDVUEJTyI=
  304. - NUMJOBS=3
  305. - OSX=1
  306. - USE_CCACHE=2
  307. - CCACHE_SLOPPINESS=pch_defines,time_macros
  308. - CCACHE_COMPRESS=1
  309. - CCACHE_MAXSIZE=300M
  310. matrix:
  311. - MAKEFILE=1 URHO3D_LIB_TYPE=STATIC
  312. - MAKEFILE=1 URHO3D_LIB_TYPE=SHARED
  313. - MAKEFILE=1 URHO3D_LIB_TYPE=STATIC URHO3D_64BIT=0
  314. - MAKEFILE=1 URHO3D_LIB_TYPE=SHARED URHO3D_64BIT=0
  315. - XCODE=1 URHO3D_LIB_TYPE=STATIC DEPLOYMENT_TARGET=10.11 SF_DEFAULT=mac:OSX-64bit-STATIC.tar.gz
  316. - XCODE=1 URHO3D_LIB_TYPE=SHARED DEPLOYMENT_TARGET=10.11
  317. - XCODE=1 URHO3D_LIB_TYPE=STATIC DEPLOYMENT_TARGET=10.11 URHO3D_64BIT=0
  318. - XCODE=1 URHO3D_LIB_TYPE=SHARED DEPLOYMENT_TARGET=10.11 URHO3D_64BIT=0
  319. - XCODE=1 IOS=1 URHO3D_LIB_TYPE=STATIC DEPLOYMENT_TARGET=9.1 URHO3D_64BIT=0
  320. - XCODE=1 IOS=1 URHO3D_LIB_TYPE=STATIC DEPLOYMENT_TARGET=9.1
  321. matrix:
  322. fast_finish: true
  323. before_script:
  324. - if [ $IOS ]; then export CI_START_TIME=$(date +%s); fi
  325. - export TRAVIS_COMMIT=$TRAVIS_COMMIT~
  326. - export TAG=$(git describe --exact-match $TRAVIS_COMMIT 2>/dev/null); if [[ $TAG =~ [[:digit:]]+\.[[:digit:]]+ ]]; then export RELEASE_TAG=$TAG; fi
  327. - export COMMIT_MESSAGE=$(git log --format=%B -n 1 $TRAVIS_COMMIT)
  328. - if [ $XCODE ] && ([ $RELEASE_TAG ] || (! [[ $TRAVIS_BRANCH =~ [^-]+-[^-]+-CI ]] && echo $COMMIT_MESSAGE |grep -cq '\[ci package\]')); then export PACKAGE_UPLOAD=1; fi
  329. - travis_retry brew update >/dev/null && travis_retry brew install ccache cmake
  330. - if [ $PACKAGE_UPLOAD ]; then travis_retry brew install doxygen graphviz; fi
  331. - export PATH=$(brew info ccache |grep -o '\S*lib\S*'):$PATH
  332. - if [ $XCODE ]; then sudo cp -p $(which ccache) $(dirname $(xcodebuild -find-executable clang)) && for compiler in clang clang++; do path=$(xcodebuild -find-executable $compiler); sudo mv $path{,.orig} && sudo ln -sf $(dirname $path)/clang.orig /usr/bin/$compiler && sudo ln -sf ccache $path; done; fi
  333. - rake ci_setup_cache
  334. script: rake ci
  335. after_success: if [ $PACKAGE_UPLOAD ]; then rake ci_package_upload || ! [ $RELEASE_TAG ]; fi
  336. after_script: rake ci_teardown_cache
  337. ---
  338. branch: {name: Emscripten-CI, active: yes}
  339. language: cpp
  340. cache: ccache
  341. sudo: false
  342. addons: {apt: {sources: [george-edison55-precise-backports, kubuntu-backports, ubuntu-toolchain-r-test], packages: [cmake, doxygen, graphviz, g++-4.9, libasound2-dev]}}
  343. env:
  344. global:
  345. - secure: DE9IUM+pIV757GU0ccfDJhA752442pKu3DyBthrzHW9+GbsqbfuJOx045CYNN5vOWutFPC0A51B9WxhLNpXXqD3mfU8MhP1gkF7SskrHvcAPrCyfdqZf1Q8XDP5phm2KbHhhwxQMYmmicd6yj8DPNy2wRoSgPSDp/ZUDk51XZDU=
  346. - secure: ecj/PwpbHkH9AYFsc2TMeRuNm5E3xMM8A0x4AcGhzpwDuZWdFx3R1T4G9u45Z5aUyTJWGqOeX1JPaEVVFZuYnNBKRy0kmiUrM9EE0j7WsT57K48tP1ysn2ynyvHgbYkKOfYR0t8XAMWTBbulT9DVVk3DS69//2WgiXGDVUEJTyI=
  347. - NUMJOBS=3
  348. - HTML5=1
  349. - EMSCRIPTEN_SHARE_DATA=1
  350. - USE_CCACHE=1
  351. - CCACHE_SLOPPINESS=pch_defines,time_macros
  352. - CCACHE_COMPRESS=1
  353. - CCACHE_MAXSIZE=100M
  354. matrix:
  355. fast_finish: true
  356. include:
  357. - compiler: gcc-archived-bitcode
  358. env: URHO3D_LIB_TYPE=STATIC
  359. - compiler: gcc-linked-bitcode
  360. env: URHO3D_LIB_TYPE=SHARED
  361. before_script:
  362. - export TRAVIS_COMMIT=$TRAVIS_COMMIT~
  363. - export TAG=$(git describe --exact-match $TRAVIS_COMMIT 2>/dev/null); if [[ $TAG =~ [[:digit:]]+\.[[:digit:]]+ ]]; then export RELEASE_TAG=$TAG; fi
  364. - export COMMIT_MESSAGE=$(git log --format=%B -n 1 $TRAVIS_COMMIT)
  365. - if [ $RELEASE_TAG ] || (! [[ $TRAVIS_BRANCH =~ [^-]+-[^-]+-CI ]] && echo $COMMIT_MESSAGE |grep -cq '\[ci package\]'); then export PACKAGE_UPLOAD=1; fi
  366. - export DISPLAY=:99.0; bash -e /etc/init.d/xvfb start
  367. - git clone --depth 1 https://github.com/urho3d/emscripten-sdk.git && emscripten-sdk/emsdk activate --build=Release sdk-master-64bit && source emscripten-sdk/emsdk_env.sh
  368. - export PATH=$(whereis -b ccache |grep -o '\S*lib\S*'):$PATH; for f in $EMSCRIPTEN/{emcc,em++}; do touch -d "2015-09-01 00:00:00 +0800" $f; done
  369. - rake ci_setup_cache
  370. script: rake ci
  371. after_success: if [ $PACKAGE_UPLOAD ]; then rake ci_package_upload && if [ "$URHO3D_LIB_TYPE" == "SHARED" ]; then rake ci_emscripten_samples_update; fi || ! [ $RELEASE_TAG ]; fi
  372. after_script: rake ci_teardown_cache
  373. ...
  374. # vi: set ts=2 sw=2 expandtab: