Jenkinsfile 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. #!groovy
  2. //
  3. // We now run the tests in Debug mode so that ASSERTs are triggered.
  4. // Ideally we should run the tests in both Debug and Release so we catch
  5. // all possible error combinations.
  6. // See also the top comment in syncenginetestutils.h
  7. //
  8. node('CLIENT') {
  9. stage 'Checkout'
  10. checkout scm
  11. sh '''git submodule update --init'''
  12. stage 'Qt5'
  13. sh '''rm -rf build
  14. mkdir build
  15. cd build
  16. cmake -DCMAKE_BUILD_TYPE="Debug" -DUNIT_TESTING=1 -DWITH_TESTING=1 -DBUILD_WITH_QT4=OFF ..
  17. make -j4
  18. ctest -V --output-on-failure'''
  19. stage 'Qt5 - clang'
  20. sh '''rm -rf build
  21. mkdir build
  22. cd build
  23. cmake -DCMAKE_BUILD_TYPE="Debug" -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -DUNIT_TESTING=1 -DWITH_TESTING=1 -DBUILD_WITH_QT4=OFF ..
  24. make -j4
  25. ctest -V --output-on-failure'''
  26. stage 'Win32'
  27. def win32 = docker.image('guruz/docker-owncloud-client-win32:latest')
  28. win32.pull() // make sure we have the latest available from Docker Hub
  29. win32.inside {
  30. sh '''
  31. rm -rf build-win32
  32. mkdir build-win32
  33. cd build-win32
  34. ../admin/win/download_runtimes.sh
  35. cmake .. -DCMAKE_TOOLCHAIN_FILE=../admin/win/Toolchain-mingw32-openSUSE.cmake -DWITH_CRASHREPORTER=ON
  36. make -j4
  37. make package
  38. ctest .
  39. '''
  40. }
  41. // Stage 'macOS' TODO
  42. }