.travis.yml 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162
  1. os:
  2. - linux
  3. - osx
  4. matrix:
  5. allow_failures:
  6. - os: osx
  7. - compiler: clang
  8. exclude:
  9. # Don't build using gcc on mac
  10. - os: osx
  11. compiler: gcc
  12. # Don't try to do Coverity builds on mac
  13. - os: osx
  14. env: COVERITY=1
  15. # Only do coverity build on Linux when the compiler is gcc
  16. - os: linux
  17. compiler: clang
  18. env: COVERITY=1
  19. compiler:
  20. - gcc
  21. - clang
  22. before_script:
  23. - if [ "$TRAVIS_OS_NAME" == "linux" ]; then sudo add-apt-repository ppa:ubuntu-toolchain-r/test -y; fi
  24. - if [ "$TRAVIS_OS_NAME" == "linux" ]; then sudo add-apt-repository ppa:boost-latest/ppa -y; fi
  25. - echo $CXX
  26. - if [[ "$TRAVIS_OS_NAME" == "linux" && "$CXX" == "clang++" ]]; then sudo add-apt-repository ppa:h-rayflood/llvm -y; fi
  27. - echo $CXX
  28. - if [[ "$TRAVIS_OS_NAME" == "linux" && "$CXX" == "clang++" ]]; then sudo apt-get install --allow-unauthenticated clang-3.5; fi
  29. - if [ "$TRAVIS_OS_NAME" == "linux" ]; then sudo apt-get update; fi
  30. - echo $CXX
  31. - if [[ "$TRAVIS_OS_NAME" == "linux" && "$CXX" == "clang++" ]]; then export CXX="clang++-3.4"; fi
  32. - if [[ "$TRAVIS_OS_NAME" == "linux" && "$CXX" == "clang++" ]]; then export CXX="clang++-3.4"; fi
  33. - if [[ "$TRAVIS_OS_NAME" == "linux" && "$CXX" == "g++" ]]; then sudo apt-get install gcc-4.9; fi
  34. - if [[ "$TRAVIS_OS_NAME" == "linux" && "$CXX" == "g++" ]]; then sudo apt-get install g++-4.9; fi
  35. - if [[ "$TRAVIS_OS_NAME" == "linux" && "$CXX" == "g++" ]]; then sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.9 20; fi
  36. - if [[ "$TRAVIS_OS_NAME" == "linux" && "$CXX" == "g++" ]]; then sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.9 20; fi
  37. - if [[ "$TRAVIS_OS_NAME" == "linux" && "$CXX" == "g++" ]]; then sudo update-alternatives --config gcc; fi
  38. - if [[ "$TRAVIS_OS_NAME" == "linux" && "$CXX" == "g++" ]]; then sudo update-alternatives --config g++; fi
  39. - if [ "$TRAVIS_OS_NAME" == "linux" ]; then sudo apt-get install boost1.55; fi
  40. - if [ "$TRAVIS_OS_NAME" == "linux" ]; then sudo apt-get install libvorbis-dev; fi
  41. - if [ "$TRAVIS_OS_NAME" == "linux" ]; then sudo apt-get install libalut-dev; fi
  42. - if [ "$TRAVIS_OS_NAME" == "linux" ]; then sudo apt-get install libfreetype6-dev; fi
  43. - if [ "$TRAVIS_OS_NAME" == "linux" ]; then sudo apt-get install libfreeimage-dev; fi
  44. - if [ "$TRAVIS_OS_NAME" == "linux" ]; then sudo apt-get install zlib1g-dev; fi
  45. - if [ "$TRAVIS_OS_NAME" == "linux" ]; then sudo apt-get install libzzip-dev; fi
  46. - if [ "$TRAVIS_OS_NAME" == "linux" ]; then sudo apt-get install libois-dev; fi
  47. - if [ "$TRAVIS_OS_NAME" == "linux" ]; then sudo apt-get install libglu-dev; fi
  48. - if [ "$TRAVIS_OS_NAME" == "linux" ]; then wget https://github.com/paulsapps/Ogre1.9/releases/download/1.9.0/ogre-build_1.9.0-1_amd64.deb; fi
  49. - if [ "$TRAVIS_OS_NAME" == "linux" ]; then sudo dpkg -i ogre-build_1.9.0-1_amd64.deb; fi
  50. - if [ "$TRAVIS_OS_NAME" == "osx" ]; then brew update; fi
  51. - if [ "$TRAVIS_OS_NAME" == "osx" ]; then brew outdated wget || brew upgrade wget; fi
  52. - if [ "$TRAVIS_OS_NAME" == "osx" ]; then wget https://github.com/paulsapps/Ogre1.9/releases/download/1.9.0/OgreSDK_v1-9-0.dmg; fi
  53. - if [ "$TRAVIS_OS_NAME" == "osx" ]; then hdiutil attach OgreSDK_v1-9-0.dmg; fi
  54. - if [ "$TRAVIS_OS_NAME" == "osx" ]; then ls; fi
  55. - if [ "$TRAVIS_OS_NAME" == "osx" ]; then ls /Volumes; fi
  56. - if [ "$TRAVIS_OS_NAME" == "osx" ]; then ls /Volumes/OgreSDK; fi
  57. - if [ "$TRAVIS_OS_NAME" == "osx" ]; then ls /Volumes/OgreSDK/OgreSDK; fi
  58. - if [ "$TRAVIS_OS_NAME" == "osx" ]; then ls /Volumes/OgreSDK/OgreSDK/CMake; fi
  59. #- if [ "$TRAVIS_OS_NAME" == "osx" ]; then sudo installer -pkg /Volumes/OgreSDK/OgreSDK/OgreSDK.pkg -target /usr/local/; fi
  60. - if [ "$TRAVIS_OS_NAME" == "osx" ]; then brew outdated boost || brew upgrade boost; fi
  61. - if [ "$TRAVIS_OS_NAME" == "osx" ]; then brew scp boost || brew scp boost; fi
  62. - $CXX --version
  63. before_install:
  64. script:
  65. - mkdir build_qgears
  66. - cd build_qgears
  67. - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; cmake ..; fi
  68. - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; cmake .. -DCMAKE_MODULE_PATH=/Volumes/OgreSDK/OgreSDK/CMake; fi
  69. - if [[ ${COVERITY_SCAN_BRANCH} != 1 ]]; then make -j2; fi
  70. - if [[ ${COVERITY_SCAN_BRANCH} != 1 ]]; then cpack -C Release; fi
  71. language: cpp
  72. after_success:
  73. - hash=`git rev-parse HEAD`
  74. - rm ~/.ssh/known_hosts
  75. - rm ~/.ssh/config
  76. - echo "-----BEGIN RSA PRIVATE KEY-----" > ~/.ssh/id_rsa
  77. - echo $KEY01 >> ~/.ssh/id_rsa
  78. - echo $KEY02 >> ~/.ssh/id_rsa
  79. - echo $KEY03 >> ~/.ssh/id_rsa
  80. - echo $KEY04 >> ~/.ssh/id_rsa
  81. - echo $KEY05 >> ~/.ssh/id_rsa
  82. - echo $KEY06 >> ~/.ssh/id_rsa
  83. - echo $KEY07 >> ~/.ssh/id_rsa
  84. - echo $KEY08 >> ~/.ssh/id_rsa
  85. - echo $KEY09 >> ~/.ssh/id_rsa
  86. - echo $KEY10 >> ~/.ssh/id_rsa
  87. - echo $KEY11 >> ~/.ssh/id_rsa
  88. - echo $KEY12 >> ~/.ssh/id_rsa
  89. - echo $KEY13 >> ~/.ssh/id_rsa
  90. - echo $KEY14 >> ~/.ssh/id_rsa
  91. - echo $KEY15 >> ~/.ssh/id_rsa
  92. - echo $KEY16 >> ~/.ssh/id_rsa
  93. - echo $KEY17 >> ~/.ssh/id_rsa
  94. - echo $KEY18 >> ~/.ssh/id_rsa
  95. - echo $KEY19 >> ~/.ssh/id_rsa
  96. - echo $KEY20 >> ~/.ssh/id_rsa
  97. - echo $KEY21 >> ~/.ssh/id_rsa
  98. - echo $KEY22 >> ~/.ssh/id_rsa
  99. - echo $KEY23 >> ~/.ssh/id_rsa
  100. - echo $KEY24 >> ~/.ssh/id_rsa
  101. - echo $KEY25 >> ~/.ssh/id_rsa
  102. - echo "-----END RSA PRIVATE KEY-----" >> ~/.ssh/id_rsa
  103. - chmod 400 ~/.ssh/id_rsa
  104. - chmod 700 ~/.ssh
  105. - md5sum ~/.ssh/id_rsa
  106. - if [[ $TRAVIS_PULL_REQUEST == 'false' && ${COVERITY_SCAN_BRANCH} != 1 && "$TRAVIS_OS_NAME" == "linux" && "$CXX" == "g++" ]]; then ssh -o StrictHostKeyChecking=no paul@itscovarr.com mkdir -p /var/www/storage/qgears/$hash/linux/ fi
  107. - if [[ $TRAVIS_PULL_REQUEST == 'false' && ${COVERITY_SCAN_BRANCH} != 1 && "$TRAVIS_OS_NAME" == "linux" && "$CXX" == "g++" ]]; then scp -o StrictHostKeyChecking=no ~/build/q-gears/q-gears/build_qgears/*.deb paul@itscovarr.com:/var/www/storage/qgears/$hash/linux/ fi
  108. - if [[ $TRAVIS_PULL_REQUEST == 'false' && ${COVERITY_SCAN_BRANCH} != 1 && "$TRAVIS_OS_NAME" == "osx" && "$CXX" == "clang" ]]; then ssh -o StrictHostKeyChecking=no paul@itscovarr.com mkdir -p /var/www/storage/qgears/$hash/mac/ fi
  109. notifications:
  110. on_failure: always
  111. irc: irc.esper.net#qhimm.com
  112. on_success: change
  113. skip_join: true
  114. addons:
  115. coverity_scan:
  116. project:
  117. name: "q-gears/q-gears"
  118. description: "Build submitted via Travis CI"
  119. notification_email: coverityscan@paulsapps.com
  120. build_command_prepend: "mkdir qgears_build; cd qgears_build; cmake .."
  121. build_command: "make -j4"
  122. branch_pattern: coverity_scan
  123. env:
  124. global:
  125. - secure: "PUtlviIMOxgXYfBiAW+tsDHQPq+XfftHy2Te1qFvkzkqfGtHQMiCM5an1tZW8LuuYLhuRo+piG+XsK5A8THW4At+hsQZFRPK4b952aHGTQNimTPFr3COccKOlGsLDJD+iKEBJbME1u/Kml9IvwVFBLoL6UtjEWPUJ3jVOitfnoA="
  126. - secure: pc5w4v8EzEtKD+iSZaao9Qq7FoPz2a65cpubHQjD36IN7g4gNaUcv2i/9cgqWk8+au7jKbJg0lFnkXRA/ldzBd30xsXubKWSmvcKt2dQRNJkKVBWsKW2ZiAtID/uibu5kwxdGn1zi4uO+WXygmu/fWSvOkToq87NsGrQYGU+Ahs=
  127. - secure: fqca/ai9xM7M0TLcZHwr8YqWB2+/+k5Bg5D9C/gTaZQgQvvTbXRdI8LFUTgUYCHiFu/QphvzvXyVHPTVL1xB3xZIMC5G8Cqe2T+Zy+UprK0A8Fmxk/V/qTTMgigAevtCXeVYH7+I0M+LNZrz4oYYa6FRJY79OPv+T1QQ8FUGTqc=
  128. - secure: kbpP9dDfBy3n8uaEHw1ULJZDpNRosgb1wGGguuSgPGTKjnSyVeOTJHkQb48+scIcmRUdxb9xNtBHcC/W2xg0AW06oZMAegUjHQcIWO1J2s24IgXgizvXIiUlm2bVn53yqyYHTJ1DYN6KsWJt+E8c+fbszPfOzCs73i9pnnUt+1A=
  129. - secure: Vxsez9G9E7LfM3AYJ9X/tdhUJdyF2Joy67HvFtPo1HM8C+pTa2NOvs3w3rwhEowcWcMXUzLC26c2S6nqpcCK7SMD1CkIiNdBGAjh5wbjj0/36ATYJfqJ3cv8w+wtsfS7zbZEdf7qay7k+zSAXOu1Mdu4IFWrcy/175iyRvXaNRg=
  130. - secure: FjdNNoLJgnqopNBrvoLUTRd+kpGPfl6BX4ZSvFDBg5m2DGV6gRuNHDLB2xfJvjtnXC+nYbYgtvM/MZb527pLYzy6aPdmUlLWJKIVsjmL6KY8QHwscgI2uDAvJ/MkcV7xvz5z1vfUfhVQvTAdvZsAeQwP9dxOTQOinzAswh01ZXI=
  131. - secure: IIdpI5s5ea6fJS8NJii6JEDsJPefzDr8ASJBOCeGcWb258RUhlBj++P7pM3q1qwHtFe1oZ1u0wbrhB7ibU9u5v6KqicsYiS1JrczIvoh2w/aVH8myfAoDQV+Zohr3unFazf7y/dIIGo5qHcPFp4QbIeZ47/mBo9gehSXbKDZlpI=
  132. - secure: bhRdtWUUGgUV/OTTwFiLSpCXB/4xTCx0Vq/fbZ0VzpiQNbeMhH7Ihee0stJ34+/htnTOz2xK0uSAVpqEFwGCCzHhaHpFiszPcL7T2Dg4FWDEjRwT91zn4LlgAW56beXJpupPlxTpmZQg6/ERmwThqbCoXuV3JZ7fAHpDxoALM1g=
  133. - secure: eTnHo1K4b0v1FnB6SrqYC9Aw3Cd9nGCKSwHpTedocqrrjIjRmIc0V2euCAELjMN3qgK1DkuDJKE685A9enUz1xsYUWOC2gTPvYCm3W25SpLbJazYpS9v0EyBZXW6G9E7Iz8mb0m2Lw3UGZ3wvQqbMDIQtW10Kb1OosssfElox3Y=
  134. - secure: pDsmHjkohOQMtNu3h1q8Gfxe4FfSFoZudNY0Yv5TmCHPl9TQSX6nbvfrOqtBzONWouDuwIblwBpHOBYBZJsNvKza2up7qfZ1JXg+zq1SuCY3dh8so2WBlcwQf4TokM6HMUB0NpvMBE8J7wfqYM2weIslKDJE7S8LjDrUsBqFx3U=
  135. - secure: jfKbAJ9p32WsxP/WKt3tfJadNRTPxPFVs7gpyWHxaUIBHWT4eldqF2mM0/fIKsODcRLO2iFZlIC3xJ+v/I7SzDAXyCQu+Wi+8k6DJdesOVSLW8fjUzS5vAmvuaKL0XZYwJUJVpzy8phmaS1swL+R/GUbHPjmspkm8eyN2ZXMbvI=
  136. - secure: GeFOhQ6WF2rAA83SBJm+CA0RBeXKCVR50y2IlNfRbnBlFR2nAR8ZiOMv8N12WanGc777Wu29SXhr2TGgjwQWbTKUN4OO7ZOZimb/FufwqcqJke2RqIHF/uJl2NJqhSGdTe1wYMBZKubwgmz1B9KC9h/89iCtrD02qtZHE7qSSFs=
  137. - secure: LE8JaorkdYXBmdovN42EkU4Kht2hPxF8XhH0+N+aG5Dog1PMrH8mi44naFYWEwiCmJpLlfUadrzQYJFx3iz59smziO1Sq798B41TuzkC9YuS0EzVZCgxTu1da9mkYga8FY3nCIBe0olIHcAhz88qMGLGPeblRmlQw4W/WJDN9JI=
  138. - secure: UX0Prs5JaTo/udYhwp3XS1End+1fwURwm0+FEfbEGcM/hLtA8K5we/miT6+fWFoyIlLFxKbZqzkc3zOXT5fBMTN70JBnPpig9nEaTRTyX9ZRt3aNDKTREpUinXVLbS1GDRPz3+/UALyhyS9J57pPGyHYMygLA+4ldsDIbyqd6W8=
  139. - secure: SYxqLMdBCv0eqQ7GmGu6jDTa3uP3ZJKxg2mttjlRmHu8ynlCI/iJCd17Sa/snds4rDFEekmHy/NGlsh258Kdo6y0DR5Upobin0ogjchmDtC7qjqRMbiDjmUnaY9s6Krg8B+FXgKHXKimSQbl7z6vSISxf/o1AGRPqOKeqGB0yzM=
  140. - secure: QJMo4Ai/j9fFC3HsX3FvZG43qovrjn/enXuC3+MrBIZuZ1AqZtLUg482jIC1TGLgV6u1YPU6REgd1b/rbc1U6EZjxVQz2YRT39LhT9wfYh7XVYdRc1IjggLQRVZ7POb1QfPFL1AJO0enPfevN3Zl0kYIOh/WEvhIq1JeuG3tuaQ=
  141. - secure: IS0n9WbkPcAnWB/nsUCY2boBaRECNJHSUAeJ0oUqCJ6sUKeMi76q/DO3YmVRs4T/gh9rhe/qVhToPjfauiowFYRb4Rnuk4qbXuxKMUzbhd8v9fyM/JyU3Wt40xVK3gTgZTipUjWxp57MF4lr36MYelJ9f3VNtd7TYsgRNn0faoE=
  142. - secure: d+7dyvidKn9i5n7BJfibes6dpE4dlzjZRnw6AmVFwxVFfbpgMHyZvIDA7WTfzYXfjnfQ+qWHDS/7+pLjWOWfz3z0Pp0W6P5j9xckQKA/f2yTSEAgYtBJkkXRS/iYnnAHACFy1LU05pnD9xUH8gaMyFZyU7mDCT+ktu7ueNmBY4g=
  143. - secure: V+T/3nvn248auq15/ef7xUNBtgoJvJXxzRoT0VW6vZswsunDkMAPaJfpbnJU4IvxbsuRVskyr3mcUUa7Ufm8N0ibzeu4eTgmrydDU8W9LfQsPwIoVs3PM1ylW/rH0FRZWoGB6zWpSzpBG3hYSnqVN5DKLFEZprPQiRoMSR4NEto=
  144. - secure: NE7CFzd7fmdNQGtAdUkNb1p/T3anKMdEVyMT0GUV4PzEEB145vq6ndXnNqslARgA7ZHqL+65Ah/NB51UDkCgbxcb3exweTi6fmZ9zd4S2ygoTVfMfmoyHyMn1kCIrPkM1E7E6EMIqRFEM6C0b8KPogN0aEuXpPuNmQ6ZaG1WkzU=
  145. - secure: ZGXYi082K0calf9fNL5A+Hq8FY16VKIlA++hk76vJpcqRK2bkEB3qiFKXGCTsMNmV04qQ9t+rF/O0Qt1folyP7B5AXpTbpV63pXe4v0HPXJ7yA2Iyqo9uyXmd7ylBqdwNZvXxrDqdRp4S9dS7YFjGm0LwKNVJmWSjZPhLueKUlM=
  146. - secure: DYk5JUgr23giSS1wLktj0dLA2zYBJlgBkeETUZyBdFFkXiep3q91kcxjcy/MTZX/w8zuQHezNFUadBskmGdFQTZSnHgqnvgdtAav+mgD/ezHqRdIVNAuUWk/jX4M8FLzWqfJO59CbJs4fHkR6UsG4r4HMzc3LyyiyZfn0ajgZQ0=
  147. - secure: N5MdYyZ61eafm4rWGG437phkGY7MezIy3tD+f0f5X4fC4FnxkPJ5WNuHsBk3m0RGlzTZMq1JrSMWYmbq0WN3BozaZNSAhuI4IRZoOjNshcaZo/K8J/VipxMOwalyjCry2RRmGOLvRdcGYJwLHgSIzxBS0GedrGC0XDoHHrz7/W8=
  148. - secure: brRxgShHzgYK73CHCJlkXds1cCt8ufN4Q98TW4iNVqH8Iu9cctGTfAsc97OSLB5UupvuTOhs1ADn5XU7ZXQvxm83W0Q06vrcR/3irgmFJtBQGBjrbdoAi/BhRF6/DYZ7TZOMrl4JRncAhZhCXRFKYO3NytF/yk6PnM128Fu7pVM=
  149. - secure: AefxGPUU9X2+2OjZ2C04Zy0cII+3BuVD9YTc9kgLpCDwtIrd4WXWEBTnZFX2cd6QxS+AgMHXJJTlsKY4Lv9C+PonLUZch9qV8o2ttDidb3xkcvKtH8UPGbOPkQfOwc02csVfV311psXY7lEYPSHIxbYswQ2MaV+l0O922R7xxog=
  150. - secure: NnCbqOSir3CDK1cqHkQ28u6xzWKWCmDffoeKaB6OMyAmdOaYnP0Imw/h4QGDP6+yw6tyZ7jVWSmbjQzIwYFviVMl27e9fJlcS7UoKeT1Q/2qFfQNIY0CAmTYaQWElN9UYqZxdKwQH1AuhQxiEZWDZEP9KEJ6ypcRsC6zzz9oe9k=