.travis.yml 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177
  1. env:
  2. global:
  3. # make variables
  4. - OCAMLC=ocamlc.opt
  5. - OCAMLOPT=ocamlopt.opt
  6. - ADD_REVISION=1
  7. # SauceLabs
  8. - secure: SjyKefmjUEXi0IKHGGpcbLAajU0mLHONg8aA8LoY7Q9nAkSN6Aql+fzS38Boq7w1jWn+2FOpr+4jy0l6wVd/bftsF+huFfYpFJmdh8BlKmE0K71zZAral0H1c7YxkuQpPiJCIFGXqtkvev7SWTy0z31u7kuuQeEyW27boXe5cDA=
  9. - secure: sUvWUjCyPuWht4seNa4f2VG9DkvXkhZyLZfjJO9TUAHB2JndS16E2j/qrvKEjycyH6w8tU/B9vnjDRvvGrYXxEXcBEwsJVfkorFnRl9uwGCGIYrzjMhssEl3fMYZK7P304f+gAp5ULrDBX2gIaKeSa8lUNRtz2PsZOieE4kMdhk=
  10. # Bintray
  11. # - secure: "ETbwZaeRq8wIVZVyUk1IsNctYVuQa/U2biRkF9pQkz3MEXpaneynclVzNjm8rnm8JqfKcjUDUvQJBP1KYrJYq3tAJFhl31YUnS0FsF3sgLIcnHkhbRA24xJdIlCwHP6QUPoiyPbkec43NRwrF0071KOMD51vgUToXRtAe3o/15g="
  12. # - secure: "Fcrrge2f4jFYDOopig2rwkQvgJw6Ra8UK6OwTVk08wecytzVaOJK1TcB22PSvZ+h0ZLJs34T+pXHFjlNuSWm4+CwGSvnltRD1/svjS8zOqK7RzuUdzHz87yruz9PFqV63HTas6qtmgLqp8n/Q6AhtDLF39BTZPyDzEbi9qkwRuI="
  13. # - secure: "VBJDQNJ9uvdt0aszo7oU3txuRvjkuLmuHZGOkrd4wE/5B4sX5jzx/+dnrKcNTXJCmQ/rVLuMu9GyxqVjNHlzce678voxdQNOtNkNgpkr1qN9/A9rRnCp77hH27ErdthpWxbmcnE62hAJ83TIKSvn//5lAkx4sMCKS1NXEWQ5qec="
  14. # PPA configs
  15. - PPA="ppa:haxe/snapshots"
  16. - DEBFULLNAME="Haxe CI Bot"
  17. - DEBEMAIL="[email protected]"
  18. sudo: required
  19. dist: trusty
  20. osx_image: xcode6.4
  21. addons: &addons
  22. ssh_known_hosts:
  23. - haxe.org
  24. - api.haxe.org
  25. install_linux: &install_linux
  26. # Install neko and haxe dependencies
  27. - sudo add-apt-repository ppa:haxe/ocaml -y
  28. - sudo apt-get update
  29. - sudo apt-get install -y
  30. ocaml
  31. ocaml-native-compilers
  32. camlp4
  33. pkg-config
  34. libgc-dev
  35. libssl-dev
  36. libpcre3-dev
  37. zlib1g-dev
  38. apache2-dev
  39. libmysqlclient-dev
  40. libsqlite3-dev
  41. libgtk2.0-dev
  42. # Install neko
  43. - travis_retry git clone https://github.com/HaxeFoundation/neko.git ~/neko
  44. - pushd ~/neko
  45. - cmake -DSTATIC_DEPS=MbedTLS
  46. - make
  47. - sudo make install
  48. - popd
  49. # Setup database
  50. - travis_retry sudo apt-get install mysql-server-5.6 -y
  51. - mysql -u root -e "create user travis@localhost identified by '';"
  52. - mysql -u root -e "create database haxe_test;"
  53. - mysql -u root -e "grant all on haxe_test.* to travis@localhost;"
  54. # Setup JDK
  55. - jdk_switcher use oraclejdk7
  56. - java -version
  57. # Build haxe
  58. - make package_src -s
  59. - make -s
  60. - make package_bin -s
  61. - ls -l out
  62. - export PATH="$PATH:$TRAVIS_BUILD_DIR"
  63. - export HAXE_STD_PATH="$TRAVIS_BUILD_DIR/std"
  64. install_osx: &install_osx
  65. # Install haxe dependencies
  66. - brew uninstall --force brew-cask # https://github.com/caskroom/homebrew-cask/pull/15381
  67. - travis_retry brew update
  68. - travis_retry brew install ocaml camlp4;
  69. # Install neko
  70. - travis_retry brew install neko --HEAD;
  71. # Setup database
  72. - travis_retry brew install mysql
  73. - mysql.server start
  74. - mysql -u root -e "create user if not exists travis@localhost identified by '';"
  75. - mysql -u root -e "create database haxe_test;"
  76. - mysql -u root -e "grant all on haxe_test.* to travis@localhost;"
  77. # Build haxe
  78. - make package_src -s
  79. - make -s
  80. - make package_bin -s
  81. - ls -l out
  82. - export PATH="$PATH:$TRAVIS_BUILD_DIR"
  83. - export HAXE_STD_PATH="$TRAVIS_BUILD_DIR/std"
  84. matrix:
  85. include:
  86. #########
  87. # linux #
  88. #########
  89. - os: linux
  90. env:
  91. - TEST=macro,neko,js,php,flash9,as3,java,cs,python,hl,lua
  92. - DEPLOY=1
  93. - SAUCE=1
  94. # haxeci_decrypt (Deploy source package to ppa:haxe/snapshots.)
  95. - secure: "Mw3p6bDZuqVQ6u7GrwLQfje5hhIOA4+mdqqLXYHP79UKdhgqb91Dn6IbG9vQ1VXVe64W4YZbQAMBMMRX5kEPDl6JvTVGSBhg00Mi69oO5qrCMcBI6f9FntG72YaVvLf+PA7co+vKrnJzaP2M9pe4SH9Ztbhy0YNxULp7NQ8FLsM="
  96. # deploy_key_decrypt (Deploy doc to api.haxe.org.)
  97. - secure: "A75uYqU0Xz6plIgSewEs0QQWe472dCMb9kf3j7Hx0DS7dApXgx8++189sw9Sv0wam5KPtbcIM292MucjGCb5zocVj9xCUVgajhEA0QpTuDMBjk/cg3ClWCGjfybaCl2E5LLdUs7Zy4b4oNWtVikOWLWJ4sC1kaarR9p6kv8yYZg="
  98. addons:
  99. <<: *addons
  100. sauce_connect: true
  101. before_install:
  102. - sudo dpkg --add-architecture i386
  103. - sudo apt-get update -y || true
  104. - travis_retry sudo apt-get install -y
  105. libcurl3:i386
  106. libglib2.0-0:i386
  107. libx11-6:i386
  108. libxext6:i386
  109. libxt6:i386
  110. libxcursor1:i386
  111. libnss3:i386
  112. libgtk2.0-0:i386
  113. - "export DISPLAY=:99.0"
  114. - "sh -e /etc/init.d/xvfb start"
  115. - "export AUDIODEV=null"
  116. install: *install_linux
  117. - os: linux
  118. env:
  119. - TEST=cpp
  120. before_install:
  121. - sudo apt-get update -y || true
  122. - travis_retry sudo apt-get install -y
  123. gcc-multilib
  124. g++-multilib
  125. install: *install_linux
  126. - os: linux
  127. env:
  128. - TEST=php7
  129. before_install:
  130. - phpenv global "7.0"
  131. # - sudo apt-get install php7-cli php7-mysql php7-sqlite -y || (sudo add-apt-repository ppa:ondrej/php -y && sudo apt-get update -y && sudo apt-get install php7.0-cli php7.0-mysql php7.0-sqlite -y)
  132. - php -v || true
  133. install: *install_linux
  134. #######
  135. # osx #
  136. #######
  137. - os: osx
  138. env:
  139. - TEST=macro,neko,js,php,flash9,as3,java,cs,python,hl,lua
  140. - DEPLOY=1
  141. install: *install_osx
  142. - os: osx
  143. env:
  144. - TEST=cpp
  145. install: *install_osx
  146. script:
  147. - eval `ssh-agent -s` # for deployment to haxe.org
  148. - pushd tests
  149. - mkdir ~/haxelib && haxelib setup ~/haxelib
  150. - haxelib install record-macros
  151. - haxe -version
  152. - haxe RunCi.hxml
  153. - neko RunCi.n
  154. - popd
  155. branches:
  156. except:
  157. # A hack to prevent building for tags, assuming they all start with a number.
  158. # https://github.com/travis-ci/travis-ci/issues/1532
  159. - /^[0-9]/
  160. notifications:
  161. webhooks:
  162. urls:
  163. - https://webhooks.gitter.im/e/95a5fa471c27beee8e7c
  164. on_success: change # options: [always|never|change] default: always
  165. on_failure: always # options: [always|never|change] default: always
  166. on_start: false # default: false