.travis.yml 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. language: c
  2. compiler:
  3. - gcc
  4. env:
  5. global:
  6. #this is the encrypted GITAUTH
  7. - secure: "nSunY54Wp5HkQCHHbKwlwpbaKyqRVIu/0EnhaoJSwhM1wqerQV/E5d/2JelO9/tZgbungAO7wk/fjutRMVc7d378RTIPwS8vHpvZfEoGhCFsLoTOlqESzsZFBup2H5t1lpQ23jRHDOxlLdJy2lz5U+zd1YnYgDXqdDFjegsIYdo="
  8. # The next declaration is the encrypted COVERITY_SCAN_TOKEN, created
  9. - secure: "ehswgymGXPM3UINhOOnfSByMnrRNTixeT2vEV+z3kXy3WHew/O1yt9GxaYGrUhJPg4+5chAQgjYmezO1x3/CUKFgeHQUmVTFWEzfy1kL1JVjO+ufYyJDnbY+x3OmyNmMYcef2J5MAuUS2C1KFvIxtLsljVK+gpe4LcylkCIF/3Y="
  10. addons:
  11. coverity_scan:
  12. project:
  13. name: acplt/open62541
  14. description: Open-source OPC UA
  15. notification_email: null@plt.rwth-aachen.de
  16. build_command_prepend: mkdir build && cd build && cmake ..
  17. build_command: make
  18. branch_pattern: coverity_scan
  19. before_install:
  20. - sudo apt-get install binutils-mingw-w64-i686 gcc-mingw-w64-i686
  21. - sudo add-apt-repository ppa:ubuntu-toolchain-r/test -y
  22. - sudo add-apt-repository ppa:kalakris/cmake -y
  23. - sudo apt-get update -qq
  24. - sudo apt-get install -qq gcc-4.8
  25. - sudo apt-get install -qq --no-install-recommends build-essential cmake python-lxml graphviz doxygen wget
  26. - wget http://security.ubuntu.com/ubuntu/pool/main/c/check/check_0.9.10-6ubuntu3_amd64.deb
  27. - sudo dpkg -i check_0.9.10-6ubuntu3_amd64.deb
  28. - wget https://launchpad.net/ubuntu/+source/liburcu/0.8.5-1ubuntu1/+build/6513813/+files/liburcu2_0.8.5-1ubuntu1_amd64.deb
  29. - wget https://launchpad.net/ubuntu/+source/liburcu/0.8.5-1ubuntu1/+build/6513813/+files/liburcu-dev_0.8.5-1ubuntu1_amd64.deb
  30. - sudo dpkg -i liburcu2_0.8.5-1ubuntu1_amd64.deb
  31. - sudo dpkg -i liburcu-dev_0.8.5-1ubuntu1_amd64.deb
  32. - sudo pip install cpp-coveralls
  33. - sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 20
  34. - sudo update-alternatives --config gcc
  35. script:
  36. - echo "Checking the applicability of patches"
  37. - ./tools/.checkPorts.sh
  38. - echo "Testing builds"
  39. - mkdir -p build
  40. - cd build
  41. - echo "Cross compile build for MinGW"
  42. - cmake -DCMAKE_TOOLCHAIN_FILE=../cmake/Toolchain-mingw32.cmake -DEXAMPLESERVER=ON ..
  43. - make
  44. - cd .. && rm build -rf && mkdir -p build && cd build
  45. - echo "Compile multithreaded version"
  46. - cmake -DMULTITHREADING=ON -DEXAMPLESERVER=ON ..
  47. - make
  48. - cd .. && rm build -rf && mkdir -p build && cd build
  49. - echo "Only needed profile"
  50. - cmake -DTYPES_ONLY_NEEDED=ON ..
  51. - make
  52. - cd .. && rm build -rf && mkdir -p build && cd build
  53. - echo "Production build"
  54. - cmake -DGENERATE_DOCUMENTATION=ON ..
  55. - make
  56. - echo "Generate documentation"
  57. - make doc
  58. - echo "Debug build and unit tests (64 bit)"
  59. - make clean
  60. - cmake -DCMAKE_BUILD_TYPE=Debug -DENABLE_UNIT_TESTS=ON -DENABLE_COVERAGE=ON ..
  61. - make && make test
  62. - coveralls --gcov /usr/bin/gcov-4.8 -E '.*\.h' -E '.*CMakeCXXCompilerId\.cpp' -E '.*CMakeCCompilerId\.c' -r ../
  63. - cd ..
  64. after_success:
  65. - ./tools/.deployDoxygen.sh
  66. - ./tools/.coverity.sh