.travis.yml 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. #
  2. # Copyright (c) 2008-2014 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. language: cpp
  23. compiler: gcc
  24. env:
  25. global:
  26. - secure: DE9IUM+pIV757GU0ccfDJhA752442pKu3DyBthrzHW9+GbsqbfuJOx045CYNN5vOWutFPC0A51B9WxhLNpXXqD3mfU8MhP1gkF7SskrHvcAPrCyfdqZf1Q8XDP5phm2KbHhhwxQMYmmicd6yj8DPNy2wRoSgPSDp/ZUDk51XZDU=
  27. - secure: AfoHc5tpnYoI2TVGUeE9Xdru+15pd5N4YzO7EWvwmMnrHtNO3retrmKOGpnIyfbP2BeWRTW/z+BI4G0RrfvubjHu2us4wRh6Jq8+UZohBBkM+ldTnyqYHX97q+6ScWBWZGg7dpthd1x/7fmds8dSRzustHUhI7RzPbWEMQH1DGI=
  28. - DISPLAY=:99.0
  29. - NUMJOBS=3
  30. matrix:
  31. - LINUX=1 URHO3D_LIB_TYPE=STATIC SITE_UPDATE=1
  32. - LINUX=1 URHO3D_LIB_TYPE=SHARED
  33. - WINDOWS=1 URHO3D_LIB_TYPE=STATIC
  34. - WINDOWS=1 URHO3D_LIB_TYPE=SHARED
  35. - WINDOWS=1 URHO3D_LIB_TYPE=STATIC URHO3D_OPENGL=0
  36. - WINDOWS=1 URHO3D_LIB_TYPE=SHARED URHO3D_OPENGL=0
  37. - LINUX=1 URHO3D_LIB_TYPE=STATIC URHO3D_64BIT=0
  38. - LINUX=1 URHO3D_LIB_TYPE=SHARED URHO3D_64BIT=0
  39. - WINDOWS=1 URHO3D_LIB_TYPE=STATIC URHO3D_64BIT=0
  40. - WINDOWS=1 URHO3D_LIB_TYPE=SHARED URHO3D_64BIT=0
  41. - WINDOWS=1 URHO3D_LIB_TYPE=STATIC URHO3D_64BIT=0 URHO3D_OPENGL=0
  42. - WINDOWS=1 URHO3D_LIB_TYPE=SHARED URHO3D_64BIT=0 URHO3D_OPENGL=0
  43. matrix:
  44. fast_finish: true
  45. include:
  46. - compiler: clang
  47. env: LINUX=1 URHO3D_LIB_TYPE=STATIC
  48. - compiler: clang
  49. env: LINUX=1 URHO3D_LIB_TYPE=SHARED
  50. - compiler: clang
  51. env: LINUX=1 URHO3D_LIB_TYPE=STATIC URHO3D_64BIT=0
  52. - compiler: clang
  53. env: LINUX=1 URHO3D_LIB_TYPE=SHARED URHO3D_64BIT=0
  54. before_install:
  55. - free -tm
  56. - export TAG=$(git describe --exact-match $TRAVIS_COMMIT 2>/dev/null); if [[ $TAG =~ [[:digit:]]+\.[[:digit:]]+ ]]; then export TRAVIS_BRANCH=master; fi
  57. - if [ "$TRAVIS_BRANCH" == "master" ] && [ "$TRAVIS_PULL_REQUEST" == "false" ]; then export SITE_UPDATE_ON_MASTER_COMMIT=$SITE_UPDATE; export RELEASE_TAG=$(git describe --exact-match $TRAVIS_COMMIT 2>/dev/null); export COMMIT_MESSAGE=$(git log --format=%B -n 1 $TRAVIS_COMMIT); if [ "$CC" == "gcc" ] && ([ $RELEASE_TAG ] || echo $COMMIT_MESSAGE |grep -cq '\[ci package\]'); then export PACKAGE_UPLOAD=1; fi; fi
  58. - if [ "$SITE_UPDATE_ON_MASTER_COMMIT" -o "$PACKAGE_UPLOAD" ]; then travis_retry sudo add-apt-repository ppa:george-edison55/precise-backports -y; fi
  59. - travis_retry sudo apt-get update -q -y
  60. install:
  61. - travis_retry sudo apt-get install -q -y --no-install-recommends libasound2-dev
  62. - if [ $LINUX ]; then if [ "$URHO3D_64BIT" == "0" ]; then travis_retry sudo apt-get remove -q -y gvfs-daemons && travis_retry sudo apt-get install -q -y libxrandr-dev:i386 libglapi-mesa:i386 libgl1-mesa-glx:i386 libgl1-mesa-dev:i386 libxext-dev:i386 libxrender-dev:i386 g++-multilib && export CMAKE_PREFIX_PATH=/usr/lib/i386-linux-gnu; else bash -e /etc/init.d/xvfb start; fi && if [ $PACKAGE_UPLOAD ]; then travis_retry sudo apt-get install -q -y rpm; fi; fi
  63. - if [ $WINDOWS ]; then if [ "$URHO3D_64BIT" == "0" ]; then travis_retry sudo apt-get install -q -y gcc-mingw-w64-i686 g++-mingw-w64-i686 binutils-mingw-w64-i686 && export ARCH=i686; else travis_retry sudo apt-get install -q -y gcc-mingw-w64-x86-64 g++-mingw-w64-x86-64 binutils-mingw-w64-x86-64 && export ARCH=x86_64; fi && travis_retry sudo apt-get install -q -y g++-multilib && export MINGW_PREFIX=/usr/bin/${ARCH}-w64-mingw32; fi
  64. - if [ "$SITE_UPDATE_ON_MASTER_COMMIT" -o "$PACKAGE_UPLOAD" ]; then travis_retry sudo apt-get install -q -y --no-install-recommends doxygen graphviz; fi
  65. - free -tm
  66. script: rake ci
  67. after_success:
  68. - if [ $SITE_UPDATE_ON_MASTER_COMMIT ]; then rake ci_site_update && rake ci_rebase; fi
  69. - if [ $PACKAGE_UPLOAD ]; then rake ci_package_upload; fi
  70. # vi: set ts=2 sw=2 expandtab: