.travis.yml 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124
  1. # TravisCI configuration for Slic3r - https://slic3r.org
  2. #
  3. # We build Linux and macOS versions on TravisCI, both the main program
  4. # (perl/C++) and the pure C++ one.
  5. #
  6. # Each job performs the following steps:
  7. # - install dependencies (cached across builds)
  8. # - build
  9. # - test
  10. # - package
  11. # - deploy to dl.slic3r.org (except for the cppgui branch)
  12. language: generic
  13. dist: trusty
  14. before_install:
  15. - sh package/common/travis-decrypt-key
  16. - export SLIC3R_GIT_VERSION=$(git rev-parse --short HEAD)
  17. script:
  18. - if [[ "${TRAVIS_OS_NAME}" == "linux" && "$TARGET" == "main" ]]; then ./package/linux/travis-build-main.sh || travis_terminate 1; fi
  19. - if [[ "${TRAVIS_OS_NAME}" == "linux" && "$TARGET" == "cpp" ]]; then ./package/linux/travis-build-cpp.sh || travis_terminate 1; fi
  20. - if [[ "${TRAVIS_OS_NAME}" == "osx" && "$TARGET" == "main" ]]; then ./package/osx/travis-build-main.sh || travis_terminate 1; fi
  21. - if [[ "${TRAVIS_OS_NAME}" == "osx" && "$TARGET" == "cpp" ]]; then ./package/osx/travis-build-cpp.sh || travis_terminate 1; fi
  22. branches:
  23. only:
  24. - master
  25. - cppgui
  26. - coverity-scan
  27. addons:
  28. apt:
  29. sources:
  30. - ubuntu-toolchain-r-test
  31. packages:
  32. - g++-7
  33. - gcc-7
  34. - g++-4.9
  35. - gcc-4.9
  36. - libgtk2.0-0
  37. - libgtk2.0-dev
  38. - freeglut3
  39. - cmake
  40. - wx3.0-headers
  41. - libwxgtk3.0-dev
  42. - wx-common
  43. ssh_known_hosts: dl.slic3r.org
  44. matrix:
  45. include:
  46. - os: linux
  47. env:
  48. - TARGET=main
  49. - WXDIR=$HOME/wx302
  50. cache:
  51. directories:
  52. - $HOME/boost_1_63_0
  53. - $HOME/perl5
  54. - $HOME/wx302
  55. - local-lib
  56. after_success:
  57. - if [[ "${TRAVIS_BRANCH}" != "cppgui" ]]; then source ${HOME}/perl5/perlbrew/etc/bashrc; perlbrew switch slic3r-perl; ./package/linux/travis-deploy-main.sh || travis_terminate 1; fi
  58. - os: linux
  59. env:
  60. - TARGET=cpp
  61. - CACHE=$HOME/cache
  62. cache:
  63. apt: true
  64. directories:
  65. - $HOME/cache
  66. after_success:
  67. - package/linux/travis-deploy-cpp.sh
  68. # While this works, it does not appear to be needed as the 10.13 builds
  69. # work on 10.12 as well.
  70. # - os: osx
  71. # # osx_image: xcode8 # OS X 10.11
  72. # osx_image: xcode9.2 # OS X 10.12
  73. # env:
  74. # - TARGET=main
  75. # cache:
  76. # directories:
  77. # - /usr/local/Homebrew
  78. # - $HOME/Library/Caches/Homebrew
  79. # - local-lib
  80. - os: osx
  81. osx_image: xcode9.4 # OS X 10.13
  82. env:
  83. - TARGET=main
  84. cache:
  85. directories:
  86. - /usr/local/Homebrew
  87. - $HOME/Library/Caches/Homebrew
  88. - local-lib
  89. after_success:
  90. - if [[ "${TRAVIS_BRANCH}" != "cppgui" ]]; then ./package/osx/travis-deploy-main.sh || travis_terminate 1; fi
  91. - os: osx
  92. osx_image: xcode9.4
  93. env:
  94. - TARGET=cpp
  95. - CACHE=$HOME/cache
  96. cache:
  97. ccache: true
  98. directories:
  99. - /usr/local/Homebrew
  100. - $HOME/cache
  101. - $HOME/Library/Caches/Homebrew
  102. env:
  103. global:
  104. - secure: eEVRZNMv7FM6jrOU9iAFkDhWxFQ1WtHBEaObImcvtFUxy6vWSt3ehFFeTRouj3uHQAnbvUzziDyvPPm8/95alv5g/du8ML6YzzqKBKfazM0xQ7SF6R2DQL8lfFIp+RSV7T02byEP1f1g7Zva7xH9szIlDcSfU0pXW4KWbkBFMd8=
  105. - secure: gj338h+qHGccTD/VQFmEJkqdg2McIe2pO0iZ4Ae9BvY5vxkIML4BpoYZQXQTqiAOETnUjlcknY9lx0hI/PfkDD9MSJc5BC/3fMYRCu3SgAclEwklWf9vvtodUeT69mtnZuw1zze1nTbExuOw2mepbqFjxKKMl+9l5oCz4O54fXU=
  106. notifications:
  107. irc:
  108. channels:
  109. - chat.freenode.net#slic3r
  110. on_success: change
  111. on_failure: always
  112. use_notice: true