.travis.yml 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  1. language: c
  2. compiler:
  3. - gcc
  4. - clang
  5. os:
  6. - linux
  7. - osx
  8. # use new build environment (docker)
  9. dist: trusty
  10. sudo: required
  11. env:
  12. global:
  13. # GITAUTH:
  14. - secure: nSunY54Wp5HkQCHHbKwlwpbaKyqRVIu/0EnhaoJSwhM1wqerQV/E5d/2JelO9/tZgbungAO7wk/fjutRMVc7d378RTIPwS8vHpvZfEoGhCFsLoTOlqESzsZFBup2H5t1lpQ23jRHDOxlLdJy2lz5U+zd1YnYgDXqdDFjegsIYdo=
  15. # COVERITY_SCAN_TOKEN:
  16. - secure: C7LLWmOCdRYJGiXjFYDHWwBB6XGjs9Hio4kkvDehLRredRgp1UJ73g6Av9L7xrTUide6GiPrSd+RJw7py/twx5qaeIjOWPy+XvtmabDEQBquLjEkvS+LP2EycaMe92kHMo1ItFfRomgj1FyNYPVnUFgdyedGWv+p553ziDbrMas=
  17. matrix:
  18. # Do both, compile with static code analysis and without
  19. - ANALYZE=false
  20. - ANALYZE=true
  21. - DOCKER=true
  22. matrix:
  23. exclude:
  24. # This excludes OSX GCC builds.
  25. - os: osx
  26. compiler: gcc
  27. - os: osx
  28. env: ANALYZE=true
  29. - os: osx
  30. env: DOCKER=true
  31. - os: linux
  32. compiler: clang
  33. env: DOCKER=true
  34. # Required for docker build test
  35. services:
  36. - docker
  37. addons:
  38. apt:
  39. sources:
  40. # see https://github.com/travis-ci/apt-source-whitelist/blob/master/ubuntu.json
  41. packages:
  42. - binutils-mingw-w64-i686
  43. - build-essential
  44. - cmake
  45. - gcc-multilib
  46. - g++-multilib
  47. - valgrind
  48. - check
  49. - cppcheck
  50. - mingw-w64
  51. - g++-mingw-w64-x86-64
  52. - g++-mingw-w64-i686
  53. - libc6-dbg # for valgrind compilation
  54. - libsubunit-dev
  55. - libx11-dev
  56. - wget
  57. - xutils-dev
  58. - zip
  59. - graphviz
  60. - texlive-latex-recommended
  61. - texlive-latex-extra
  62. - texlive-fonts-recommended
  63. coverity_scan:
  64. project:
  65. name: "open62541/open62541"
  66. description: "Build submitted by Travis"
  67. notification_email: null@plt.rwth-aachen.de
  68. build_command_prepend: "mkdir build && cd build && cmake .."
  69. build_command: "make"
  70. branch_pattern: coverity_scan
  71. cache:
  72. pip: true
  73. apt: true
  74. directories:
  75. - $HOME/install
  76. # combine all the commands into one single command. See https://github.com/travis-ci/travis-ci/issues/1066
  77. before_install: |
  78. set -e
  79. if [ ${TRAVIS_OS_NAME} == "linux" ] && [ "${COVERITY_SCAN_BRANCH}" = 1 ]; then echo -n | openssl s_client -connect scan.coverity.com:443 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' | sudo tee -a /etc/ssl/certs/ca-; fi
  80. if [ ${TRAVIS_OS_NAME} == "linux" ]; then sh ./tools/travis/travis_linux_before_install.sh; fi
  81. if [ ${TRAVIS_OS_NAME} == "osx" ]; then sh ./tools/travis/travis_osx_before_install.sh; fi
  82. script: |
  83. set -e
  84. if [ ${TRAVIS_OS_NAME} == "linux" ] && [ "${COVERITY_SCAN_BRANCH}" != 1 ]; then sh ./tools/travis/travis_linux_script.sh; fi
  85. if [ ${TRAVIS_OS_NAME} == "osx" ] && [ "${COVERITY_SCAN_BRANCH}" != 1 ]; then sh ./tools/travis/travis_osx_script.sh; fi
  86. after_success: |
  87. if [ ${TRAVIS_OS_NAME} == "linux" ]; then sh ./tools/travis/travis_linux_after_success.sh; fi
  88. deploy:
  89. provider: releases
  90. api_key:
  91. secure: PKCoA7MBRtHloIbNF4Qj5LQyCafjekfVeFXlMBd9KmC0ynNuef+D7nn38f/jo25/b0Ii7r+hgslkQPezbKyEqo2zcCB8Pn8TWau2hbzKM/dUCPoN90HVaQcRjUi8P2Y+QkouwyPWSujBL35/X5QiAntRotCSbZx4fkyiN8cU95o=
  92. file:
  93. - open62541-win32.zip
  94. - open62541-win64.zip
  95. - open62541-linux32.tar.gz
  96. - open62541-linux64.tar.gz
  97. - open62541-raspberrypi.tar.gz
  98. - open62541.c
  99. - open62541.h
  100. skip_cleanup: true
  101. on:
  102. repo: open62541/open62541
  103. tags: true
  104. condition: $CC = gcc && $ANALYZE = false