.travis.yml 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162
  1. language: c
  2. # use new build environment (docker)
  3. sudo: required
  4. env:
  5. global:
  6. # GITAUTH:
  7. - secure: nSunY54Wp5HkQCHHbKwlwpbaKyqRVIu/0EnhaoJSwhM1wqerQV/E5d/2JelO9/tZgbungAO7wk/fjutRMVc7d378RTIPwS8vHpvZfEoGhCFsLoTOlqESzsZFBup2H5t1lpQ23jRHDOxlLdJy2lz5U+zd1YnYgDXqdDFjegsIYdo=
  8. # COVERITY_SCAN_TOKEN:
  9. - secure: C7LLWmOCdRYJGiXjFYDHWwBB6XGjs9Hio4kkvDehLRredRgp1UJ73g6Av9L7xrTUide6GiPrSd+RJw7py/twx5qaeIjOWPy+XvtmabDEQBquLjEkvS+LP2EycaMe92kHMo1ItFfRomgj1FyNYPVnUFgdyedGWv+p553ziDbrMas=
  10. dist: trusty
  11. matrix:
  12. fast_finish: true
  13. include:
  14. - os: linux
  15. compiler: gcc
  16. env:
  17. - ANALYZE=false
  18. - PYTHON=python2
  19. - os: linux
  20. compiler: clang
  21. env:
  22. - ANALYZE=false
  23. - PYTHON=python2
  24. - os: linux
  25. compiler: clang
  26. env:
  27. - ANALYZE=false
  28. - PYTHON=python3
  29. - os: linux
  30. compiler: tcc
  31. env:
  32. - ANALYZE=false
  33. - PYTHON=python2
  34. - os: linux
  35. compiler: gcc
  36. env: ANALYZE=true
  37. - os: linux
  38. compiler: clang
  39. env: ANALYZE=true
  40. #- os: linux
  41. # compiler: gcc
  42. # env: LINT=true
  43. - os: linux
  44. compiler: gcc
  45. env: DOCKER=true
  46. services:
  47. - docker
  48. - os: linux
  49. compiler: clang
  50. env: FUZZER=true
  51. - os: osx
  52. compiler: clang
  53. # disable homebrew auto update which takes a lot of time
  54. env: HOMEBREW_NO_AUTO_UPDATE=1
  55. cache:
  56. directories:
  57. - $HOME/Library/Caches/Homebrew
  58. - os: linux
  59. compiler: gcc
  60. addons:
  61. sonarcloud:
  62. organization: open62541
  63. branches:
  64. - master
  65. - sonarcloud
  66. env:
  67. - SONAR=true
  68. - PYTHON=python2
  69. cache:
  70. directories:
  71. - '$HOME/.sonar/cache'
  72. addons:
  73. apt:
  74. sources:
  75. # see https://github.com/travis-ci/apt-source-whitelist/blob/master/ubuntu.json
  76. packages:
  77. - binutils-mingw-w64-i686
  78. - build-essential
  79. - check
  80. - cmake
  81. - cppcheck
  82. - gcc-multilib
  83. - g++-mingw-w64-i686
  84. - g++-mingw-w64-x86-64
  85. - g++-multilib
  86. - graphviz
  87. - libsubunit-dev
  88. - libx11-dev
  89. - mingw-w64
  90. - python-six
  91. - python3-six
  92. - texlive-fonts-recommended
  93. - texlive-latex-extra
  94. - texlive-latex-recommended
  95. - valgrind
  96. - wget
  97. - xutils-dev
  98. - zip
  99. coverity_scan:
  100. project:
  101. name: "open62541/open62541"
  102. description: "Build submitted by Travis"
  103. notification_email: null@plt.rwth-aachen.de
  104. build_command_prepend: "mkdir build && cd build && cmake .."
  105. build_command: "make"
  106. branch_pattern: coverity_scan
  107. cache:
  108. pip: true
  109. apt: true
  110. directories:
  111. - $HOME/install
  112. - $HOME/.cache/pip
  113. # combine all the commands into one single command. See https://github.com/travis-ci/travis-ci/issues/1066
  114. before_install: |
  115. set -e
  116. # Exit travis if on coverity_scan branch and not first build
  117. test $TRAVIS_BRANCH != coverity_scan -o ${TRAVIS_JOB_NUMBER##*.} = 1 || exit 0
  118. if [ ${TRAVIS_OS_NAME} == "linux" ]; 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
  119. if [ ${TRAVIS_OS_NAME} == "linux" ]; then sh ./tools/travis/travis_linux_before_install.sh; fi
  120. if [ ${TRAVIS_OS_NAME} == "osx" ]; then sh ./tools/travis/travis_osx_before_install.sh; fi
  121. script: |
  122. set -e
  123. if [ ${TRAVIS_OS_NAME} == "linux" ]; then sh ./tools/travis/travis_linux_script.sh; fi
  124. if [ ${TRAVIS_OS_NAME} == "osx" ]; then sh ./tools/travis/travis_osx_script.sh; fi
  125. after_success: |
  126. if [ ${TRAVIS_OS_NAME} == "linux" ]; then sh ./tools/travis/travis_linux_after_success.sh; fi
  127. # Sleep to flush travis output
  128. echo == Build success ==
  129. sleep 5
  130. after_failure: |
  131. # Sleep to flush travis output
  132. echo == Build failed ==
  133. sleep 5
  134. deploy:
  135. provider: releases
  136. api_key:
  137. secure: PKCoA7MBRtHloIbNF4Qj5LQyCafjekfVeFXlMBd9KmC0ynNuef+D7nn38f/jo25/b0Ii7r+hgslkQPezbKyEqo2zcCB8Pn8TWau2hbzKM/dUCPoN90HVaQcRjUi8P2Y+QkouwyPWSujBL35/X5QiAntRotCSbZx4fkyiN8cU95o=
  138. file:
  139. - open62541-win32.zip
  140. - open62541-win64.zip
  141. - open62541-linux32.tar.gz
  142. - open62541-linux64.tar.gz
  143. - open62541-raspberrypi.tar.gz
  144. - open62541.c
  145. - open62541.h
  146. skip_cleanup: true
  147. on:
  148. repo: open62541/open62541
  149. tags: true
  150. condition: $CC = gcc && $ANALYZE = false