.travis.yml 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. # Build matrix / environment variable are explained on:
  2. # https://docs.travis-ci.com/user/customizing-the-build/
  3. # This file can be validated on:
  4. # http://lint.travis-ci.org/
  5. language: cpp
  6. # Define the matrix explicitly, manually expanding the combinations of (os, compiler, env).
  7. # It is more tedious, but grants us far more flexibility.
  8. matrix:
  9. include:
  10. - os: linux
  11. before_install: chmod -R +x ./ci/*platformio.sh
  12. install: ./ci/install-platformio.sh
  13. script: ./ci/build-platformio.sh
  14. - os: linux
  15. dist: bionic
  16. compiler: gcc
  17. install: ./ci/install-linux.sh && ./ci/log-config.sh
  18. script: ./ci/build-linux-bazel.sh
  19. - os: linux
  20. dist: bionic
  21. compiler: clang
  22. install: ./ci/install-linux.sh && ./ci/log-config.sh
  23. script: ./ci/build-linux-bazel.sh
  24. - os: linux
  25. dist: bionic
  26. compiler: gcc
  27. env: BUILD_TYPE=Debug VERBOSE=1 CXX_FLAGS="-std=c++11 -Wdeprecated"
  28. - os: linux
  29. dist: bionic
  30. compiler: clang
  31. env: BUILD_TYPE=Release VERBOSE=1 CXX_FLAGS="-std=c++11 -Wdeprecated" NO_EXCEPTION=ON NO_RTTI=ON COMPILER_IS_GNUCXX=ON
  32. - os: osx
  33. compiler: gcc
  34. env: BUILD_TYPE=Release VERBOSE=1 CXX_FLAGS="-std=c++11 -Wdeprecated" HOMEBREW_LOGS=~/homebrew-logs HOMEBREW_TEMP=~/homebrew-temp
  35. - os: osx
  36. compiler: clang
  37. env: BUILD_TYPE=Release VERBOSE=1 CXX_FLAGS="-std=c++11 -Wdeprecated" HOMEBREW_LOGS=~/homebrew-logs HOMEBREW_TEMP=~/homebrew-temp
  38. # These are the install and build (script) phases for the most common entries in the matrix. They could be included
  39. # in each entry in the matrix, but that is just repetitive.
  40. install:
  41. - ./ci/install-${TRAVIS_OS_NAME}.sh
  42. - . ./ci/env-${TRAVIS_OS_NAME}.sh
  43. - ./ci/log-config.sh
  44. script: ./ci/travis.sh
  45. # This section installs the necessary dependencies.
  46. addons:
  47. apt:
  48. packages:
  49. - g++
  50. - clang
  51. update: true
  52. homebrew:
  53. packages:
  54. - ccache
  55. - gcc@4.9
  56. - llvm@4
  57. update: true
  58. notifications:
  59. email: false