smokeci.sh 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. #!/bin/bash
  2. #Run the very same test suite as run on gitlab CI, but locally
  3. BUILD_DOCKER=manticoresearch/external_toolchain:vcpkg331_20250114
  4. TEST_DOCKER=manticoresearch/ubertests_public:331
  5. boost=boost_nov22
  6. sysroot=roots_nov22
  7. CONFIG=Debug
  8. CACHEB=../cache
  9. SYSROOT="-e SYSROOT_URL=https://repo.manticoresearch.com/repository/sysroots"
  10. if test -d /work/cross/sysroots/checked; then
  11. SYSROOT="-e SYSROOT_URL=file:///sysroots/ -v /work/cross/sysroots/checked:/sysroots"
  12. elif test -d /mnt/repo_storage/sysroots; then
  13. SYSROOT="-e SYSROOT_URL=file:///sysroots/ -v /mnt/repo_storage/sysroots:/sysroots"
  14. fi
  15. build()
  16. {
  17. CONFIG=$1
  18. BUILD_DIR=build_$CONFIG
  19. docker run --rm \
  20. -v $(pwd):/build/dev \
  21. -e uid=`id -u` \
  22. -e gid=`id -g` \
  23. $SYSROOT \
  24. -e DISTR=jammy \
  25. -e arch=x86_64 \
  26. -e boost=$boost \
  27. -e sysroot=$sysroot \
  28. -e DIAGNOSTIC=1 \
  29. -e VERBOSE=1 \
  30. -e CACHEB=$CACHEB \
  31. -e BUILD_DIR=$BUILD_DIR \
  32. -e CTEST_CMAKE_GENERATOR=Ninja \
  33. -e CTEST_CONFIGURATION_TYPE=$CONFIG \
  34. -e UNITY_BUILD=1 \
  35. -e NO_TESTS=1 \
  36. $BUILD_DOCKER /bin/bash -c '
  37. trap "chown -R $uid:$gid /build/dev/$BUILD_DIR" EXIT
  38. cd /build/dev
  39. rm -rf $BUILD_DIR
  40. ctest -VV -S misc/ctest/gltest.cmake
  41. cd $BUILD_DIR
  42. chmod -R a+rw $CACHEB
  43. tar -cf build.tar api/libsphinxclient/testcli src/indexer src/indextool src/searchd src/gtests/gmanticoretest
  44. find . -name *.h -o -name *.c -o -name *.cxx -o -name *.gcno | tar -rf build.tar -T-
  45. mv build.tar /tmp
  46. rm -rf *
  47. rm .ninja_deps
  48. rm .ninja_log
  49. tar -xf /tmp/build.tar
  50. rm /tmp/build.tar
  51. '
  52. }
  53. test ()
  54. {
  55. CONFIG=$1
  56. BUILD_DIR=build_$CONFIG
  57. docker run --rm \
  58. -v $(pwd):/build/dev \
  59. -e uid=`id -u` \
  60. -e gid=`id -g` \
  61. $SYSROOT \
  62. -e DISTR=jammy \
  63. -e arch=x86_64 \
  64. -e boost=$boost \
  65. -e sysroot=$sysroot \
  66. -e DIAGNOSTIC=1 \
  67. -e VERBOSE=1 \
  68. -e CACHEB=$CACHEB \
  69. -e BUILD_DIR=$BUILD_DIR \
  70. -e CTEST_CMAKE_GENERATOR=Ninja \
  71. -e CTEST_CONFIGURATION_TYPE=$CONFIG \
  72. -e UNITY_BUILD=1 \
  73. -e NO_BUILD=1 \
  74. $TEST_DOCKER /bin/bash -c '
  75. cd /build/dev
  76. trap "chown -R $uid:$gid /build/dev/$BUILD_DIR" EXIT
  77. ctest -V -S misc/ctest/gltest.cmake --no-compress-output
  78. '
  79. }
  80. shell ()
  81. {
  82. CONFIG=$1
  83. BUILD_DIR=build_$CONFIG
  84. docker run -it --rm \
  85. -v $(pwd):/build/dev \
  86. $SYSROOT \
  87. -e DISTR=jammy \
  88. -e arch=x86_64 \
  89. -e boost=$boost \
  90. -e sysroot=$sysroot \
  91. -e DIAGNOSTIC=1 \
  92. -e VERBOSE=1 \
  93. -e CACHEB=$CACHEB \
  94. -e BUILD_DIR=$BUILD_DIR \
  95. -e CTEST_CMAKE_GENERATOR=Ninja \
  96. -e CTEST_CONFIGURATION_TYPE=$CONFIG \
  97. -e UNITY_BUILD=1 \
  98. -e NO_BUILD=1 \
  99. $TEST_DOCKER /bin/bash
  100. }
  101. build $CONFIG
  102. time test $CONFIG
  103. #shell $CONFIG