.travis.yml 3.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. language: c
  2. compiler:
  3. - gcc
  4. env:
  5. global:
  6. - secure: nSunY54Wp5HkQCHHbKwlwpbaKyqRVIu/0EnhaoJSwhM1wqerQV/E5d/2JelO9/tZgbungAO7wk/fjutRMVc7d378RTIPwS8vHpvZfEoGhCFsLoTOlqESzsZFBup2H5t1lpQ23jRHDOxlLdJy2lz5U+zd1YnYgDXqdDFjegsIYdo=
  7. - secure: ehswgymGXPM3UINhOOnfSByMnrRNTixeT2vEV+z3kXy3WHew/O1yt9GxaYGrUhJPg4+5chAQgjYmezO1x3/CUKFgeHQUmVTFWEzfy1kL1JVjO+ufYyJDnbY+x3OmyNmMYcef2J5MAuUS2C1KFvIxtLsljVK+gpe4LcylkCIF/3Y=
  8. addons:
  9. coverity_scan:
  10. project:
  11. name: acplt/open62541
  12. description: Open-source OPC UA
  13. notification_email: null@plt.rwth-aachen.de
  14. build_command_prepend: mkdir build && cd build && cmake ..
  15. build_command: make
  16. branch_pattern: coverity_scan
  17. before_install:
  18. - sudo apt-get install binutils-mingw-w64-i686 gcc-mingw-w64-i686
  19. - sudo add-apt-repository ppa:kalakris/cmake -y
  20. - sudo apt-get update -qq
  21. - sudo apt-get install -qq gcc-multilib
  22. - sudo apt-get install -qq --no-install-recommends build-essential cmake python-lxml
  23. graphviz doxygen wget zip
  24. - wget http://security.ubuntu.com/ubuntu/pool/main/c/check/check_0.9.10-6ubuntu3_amd64.deb
  25. - sudo dpkg -i check_0.9.10-6ubuntu3_amd64.deb
  26. - wget https://launchpad.net/ubuntu/+source/liburcu/0.8.5-1ubuntu1/+build/6513813/+files/liburcu2_0.8.5-1ubuntu1_amd64.deb
  27. - wget https://launchpad.net/ubuntu/+source/liburcu/0.8.5-1ubuntu1/+build/6513813/+files/liburcu-dev_0.8.5-1ubuntu1_amd64.deb
  28. - sudo dpkg -i liburcu2_0.8.5-1ubuntu1_amd64.deb
  29. - sudo dpkg -i liburcu-dev_0.8.5-1ubuntu1_amd64.deb
  30. - sudo pip install cpp-coveralls
  31. script:
  32. - echo "Checking the applicability of patches"
  33. - ./tools/.checkPorts.sh
  34. - echo "Testing builds"
  35. - mkdir -p build
  36. - cd build
  37. - echo "Cross compile release build for MinGW"
  38. - cmake -DCMAKE_TOOLCHAIN_FILE=../cmake/Toolchain-mingw32.cmake -DCMAKE_BUILD_TYPE=Release
  39. -DEXAMPLESERVER=ON ..
  40. - make -j
  41. - zip open62541-win32.zip exampleServer.exe libopen62541.dll libopen62541.a libopen62541.dll.a
  42. - cp open62541-win32.zip ..
  43. - cd .. && rm build -rf && mkdir -p build && cd build
  44. - echo "Cross compile release build for 32-bit linux"
  45. - cmake -DCMAKE_TOOLCHAIN_FILE=../cmake/Toolchain-gcc-m32.cmake -DCMAKE_BUILD_TYPE=Release
  46. -DEXAMPLESERVER=ON ..
  47. - make -j
  48. - tar -pczf open62541-linux32.tar.gz exampleServer libopen62541.so libopen62541.a
  49. - cp open62541-linux32.tar.gz ..
  50. - cd .. && rm build -rf && mkdir -p build && cd build
  51. - echo "Compile release build for 64-bit linux"
  52. - cmake -DCMAKE_BUILD_TYPE=Release -DEXAMPLESERVER=ON ..
  53. - make -j
  54. - tar -pczf open62541-linux64.tar.gz exampleServer libopen62541.so libopen62541.a
  55. - cp open62541-linux64.tar.gz ..
  56. - cd .. && rm build -rf && mkdir -p build && cd build
  57. - echo "Upgrade to gcc 4.8"
  58. - sudo add-apt-repository ppa:ubuntu-toolchain-r/test -y
  59. - sudo apt-get update -qq
  60. - sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 20
  61. - sudo update-alternatives --config gcc
  62. - echo "Compile multithreaded version"
  63. - cmake -DMULTITHREADING=ON -DEXAMPLESERVER=ON ..
  64. - make -j
  65. - cd .. && rm build -rf && mkdir -p build && cd build
  66. - echo "Documentation build"
  67. - cmake -DEXAMPLESERVER=ON -DEXTENSION_STATELESS=ON -DGENERATE_DOCUMENTATION=ON ..
  68. - make -j
  69. - echo "Generate documentation"
  70. - make -j doc
  71. - echo "Debug build and unit tests (64 bit)"
  72. - make clean
  73. - cmake -DCMAKE_BUILD_TYPE=Debug -DENABLE_UNIT_TESTS=ON -DENABLE_COVERAGE=ON ..
  74. - make -j && make test
  75. - coveralls --gcov /usr/bin/gcov-4.8 -E '.*\.h' -E '.*CMakeCXXCompilerId\.cpp' -E
  76. '.*CMakeCCompilerId\.c' -r ../
  77. - cd ..
  78. after_success:
  79. - ./tools/.deployDoxygen.sh
  80. - ./tools/.coverity.sh
  81. deploy:
  82. provider: releases
  83. api_key:
  84. secure: PKCoA7MBRtHloIbNF4Qj5LQyCafjekfVeFXlMBd9KmC0ynNuef+D7nn38f/jo25/b0Ii7r+hgslkQPezbKyEqo2zcCB8Pn8TWau2hbzKM/dUCPoN90HVaQcRjUi8P2Y+QkouwyPWSujBL35/X5QiAntRotCSbZx4fkyiN8cU95o=
  85. file:
  86. - open62541-win32.zip
  87. - open62541-linux32.tar.gz
  88. - open62541-linux64.tar.gz
  89. skip_cleanup: true
  90. on:
  91. tags: true