nightly.yml 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132
  1. name: facebook/rocksdb/nightly
  2. on:
  3. schedule:
  4. - cron: 0 9 * * *
  5. workflow_dispatch:
  6. permissions: {}
  7. jobs:
  8. build-format-compatible:
  9. if: ${{ github.repository_owner == 'facebook' }}
  10. runs-on:
  11. labels: 16-core-ubuntu
  12. container:
  13. image: ghcr.io/facebook/rocksdb_ubuntu:22.1
  14. options: --shm-size=16gb
  15. steps:
  16. - uses: actions/checkout@v4.1.0
  17. with:
  18. fetch-depth: 0 # Need full repo history
  19. fetch-tags: true
  20. - uses: "./.github/actions/setup-upstream"
  21. - uses: "./.github/actions/pre-steps"
  22. - name: test
  23. run: |-
  24. export TEST_TMPDIR=/dev/shm/rocksdb
  25. rm -rf /dev/shm/rocksdb
  26. mkdir /dev/shm/rocksdb
  27. git config --global --add safe.directory /__w/rocksdb/rocksdb
  28. tools/check_format_compatible.sh
  29. - uses: "./.github/actions/post-steps"
  30. build-linux-non-shm:
  31. if: ${{ github.repository_owner == 'facebook' }}
  32. runs-on:
  33. labels: 16-core-ubuntu
  34. container:
  35. image: ghcr.io/facebook/rocksdb_ubuntu:22.1
  36. options: --shm-size=16gb
  37. env:
  38. TEST_TMPDIR: "/tmp/rocksdb_test_tmp"
  39. steps:
  40. - uses: actions/checkout@v4.1.0
  41. - uses: "./.github/actions/pre-steps"
  42. - run: make V=1 -j32 check
  43. - uses: "./.github/actions/post-steps"
  44. build-linux-clang-18-asan-ubsan-with-folly:
  45. if: ${{ github.repository_owner == 'facebook' }}
  46. runs-on:
  47. labels: 16-core-ubuntu
  48. container:
  49. image: ghcr.io/facebook/rocksdb_ubuntu:24.0
  50. options: --shm-size=16gb
  51. env:
  52. CC: clang-18
  53. CXX: clang++-18
  54. steps:
  55. - uses: actions/checkout@v4.1.0
  56. - uses: "./.github/actions/pre-steps"
  57. - uses: "./.github/actions/setup-folly"
  58. - uses: "./.github/actions/build-folly"
  59. - run: LIB_MODE=static USE_CLANG=1 USE_FOLLY=1 COMPILE_WITH_UBSAN=1 COMPILE_WITH_ASAN=1 make -j32 check
  60. - uses: "./.github/actions/post-steps"
  61. build-linux-valgrind:
  62. if: ${{ github.repository_owner == 'facebook' }}
  63. runs-on:
  64. labels: 16-core-ubuntu
  65. container:
  66. image: ghcr.io/facebook/rocksdb_ubuntu:22.1
  67. options: --shm-size=16gb
  68. steps:
  69. - uses: actions/checkout@v4.1.0
  70. - uses: "./.github/actions/pre-steps"
  71. - run: make V=1 -j32 valgrind_test
  72. - uses: "./.github/actions/post-steps"
  73. build-windows-vs2022-avx2:
  74. if: ${{ github.repository_owner == 'facebook' }}
  75. runs-on: windows-2022
  76. env:
  77. CMAKE_GENERATOR: Visual Studio 17 2022
  78. CMAKE_PORTABLE: AVX2
  79. steps:
  80. - uses: actions/checkout@v4.1.0
  81. - uses: "./.github/actions/windows-build-steps"
  82. build-linux-arm-test-full:
  83. if: ${{ github.repository_owner == 'facebook' }}
  84. runs-on:
  85. labels: 4-core-ubuntu-arm
  86. steps:
  87. - uses: actions/checkout@v4.1.0
  88. - uses: "./.github/actions/pre-steps"
  89. - run: sudo apt-get update && sudo apt-get install -y build-essential libgflags-dev
  90. - run: make V=1 J=4 -j4 check
  91. - uses: "./.github/actions/post-steps"
  92. build-examples:
  93. if: ${{ github.repository_owner == 'facebook' }}
  94. runs-on:
  95. labels: 4-core-ubuntu
  96. container:
  97. image: ghcr.io/facebook/rocksdb_ubuntu:22.1
  98. options: --shm-size=16gb
  99. steps:
  100. - uses: actions/checkout@v4.1.0
  101. - uses: "./.github/actions/pre-steps"
  102. - name: Build examples
  103. run: make V=1 -j4 static_lib && cd examples && make V=1 -j4
  104. - uses: "./.github/actions/post-steps"
  105. build-fuzzers:
  106. if: ${{ github.repository_owner == 'facebook' }}
  107. runs-on:
  108. labels: 4-core-ubuntu
  109. container:
  110. image: ghcr.io/facebook/rocksdb_ubuntu:24.0
  111. options: --shm-size=16gb
  112. steps:
  113. - uses: actions/checkout@v4.1.0
  114. - uses: "./.github/actions/pre-steps"
  115. - name: Build rocksdb lib
  116. run: CC=clang-18 CXX=clang++-18 USE_CLANG=1 make -j4 static_lib
  117. - name: Build fuzzers
  118. run: cd fuzz && make sst_file_writer_fuzzer db_fuzzer db_map_fuzzer
  119. - uses: "./.github/actions/post-steps"
  120. build-linux-cmake-with-folly-lite-no-test:
  121. if: ${{ github.repository_owner == 'facebook' }}
  122. runs-on:
  123. labels: 16-core-ubuntu
  124. container:
  125. image: ghcr.io/facebook/rocksdb_ubuntu:22.1
  126. options: --shm-size=16gb
  127. steps:
  128. - uses: actions/checkout@v4.1.0
  129. - uses: "./.github/actions/pre-steps"
  130. - uses: "./.github/actions/setup-folly"
  131. - run: "(mkdir build && cd build && cmake -DUSE_FOLLY_LITE=1 -DWITH_GFLAGS=1 -DCMAKE_CXX_FLAGS=-DGLOG_USE_GLOG_EXPORT .. && make V=1 -j20)"
  132. - uses: "./.github/actions/post-steps"