name: facebook/rocksdb/nightly on: schedule: - cron: 0 9 * * * workflow_dispatch: permissions: {} jobs: build-format-compatible: if: ${{ github.repository_owner == 'facebook' }} runs-on: labels: 16-core-ubuntu container: image: ghcr.io/facebook/rocksdb_ubuntu:22.1 options: --shm-size=16gb steps: - uses: actions/checkout@v4.1.0 with: fetch-depth: 0 # Need full repo history fetch-tags: true - uses: "./.github/actions/setup-upstream" - uses: "./.github/actions/pre-steps" - name: test run: |- export TEST_TMPDIR=/dev/shm/rocksdb rm -rf /dev/shm/rocksdb mkdir /dev/shm/rocksdb git config --global --add safe.directory /__w/rocksdb/rocksdb tools/check_format_compatible.sh - uses: "./.github/actions/post-steps" build-linux-non-shm: if: ${{ github.repository_owner == 'facebook' }} runs-on: labels: 16-core-ubuntu container: image: ghcr.io/facebook/rocksdb_ubuntu:22.1 options: --shm-size=16gb env: TEST_TMPDIR: "/tmp/rocksdb_test_tmp" steps: - uses: actions/checkout@v4.1.0 - uses: "./.github/actions/pre-steps" - run: make V=1 -j32 check - uses: "./.github/actions/post-steps" build-linux-clang-18-asan-ubsan-with-folly: if: ${{ github.repository_owner == 'facebook' }} runs-on: labels: 16-core-ubuntu container: image: ghcr.io/facebook/rocksdb_ubuntu:24.0 options: --shm-size=16gb env: CC: clang-18 CXX: clang++-18 steps: - uses: actions/checkout@v4.1.0 - uses: "./.github/actions/pre-steps" - uses: "./.github/actions/setup-folly" - uses: "./.github/actions/build-folly" - run: LIB_MODE=static USE_CLANG=1 USE_FOLLY=1 COMPILE_WITH_UBSAN=1 COMPILE_WITH_ASAN=1 make -j32 check - uses: "./.github/actions/post-steps" build-linux-valgrind: if: ${{ github.repository_owner == 'facebook' }} runs-on: labels: 16-core-ubuntu container: image: ghcr.io/facebook/rocksdb_ubuntu:22.1 options: --shm-size=16gb steps: - uses: actions/checkout@v4.1.0 - uses: "./.github/actions/pre-steps" - run: make V=1 -j32 valgrind_test - uses: "./.github/actions/post-steps" build-windows-vs2022-avx2: if: ${{ github.repository_owner == 'facebook' }} runs-on: windows-2022 env: CMAKE_GENERATOR: Visual Studio 17 2022 CMAKE_PORTABLE: AVX2 steps: - uses: actions/checkout@v4.1.0 - uses: "./.github/actions/windows-build-steps" build-linux-arm-test-full: if: ${{ github.repository_owner == 'facebook' }} runs-on: labels: 4-core-ubuntu-arm steps: - uses: actions/checkout@v4.1.0 - uses: "./.github/actions/pre-steps" - run: sudo apt-get update && sudo apt-get install -y build-essential libgflags-dev - run: make V=1 J=4 -j4 check - uses: "./.github/actions/post-steps" build-examples: if: ${{ github.repository_owner == 'facebook' }} runs-on: labels: 4-core-ubuntu container: image: ghcr.io/facebook/rocksdb_ubuntu:22.1 options: --shm-size=16gb steps: - uses: actions/checkout@v4.1.0 - uses: "./.github/actions/pre-steps" - name: Build examples run: make V=1 -j4 static_lib && cd examples && make V=1 -j4 - uses: "./.github/actions/post-steps" build-fuzzers: if: ${{ github.repository_owner == 'facebook' }} runs-on: labels: 4-core-ubuntu container: image: ghcr.io/facebook/rocksdb_ubuntu:24.0 options: --shm-size=16gb steps: - uses: actions/checkout@v4.1.0 - uses: "./.github/actions/pre-steps" - name: Build rocksdb lib run: CC=clang-18 CXX=clang++-18 USE_CLANG=1 make -j4 static_lib - name: Build fuzzers run: cd fuzz && make sst_file_writer_fuzzer db_fuzzer db_map_fuzzer - uses: "./.github/actions/post-steps" build-linux-cmake-with-folly-lite-no-test: if: ${{ github.repository_owner == 'facebook' }} runs-on: labels: 16-core-ubuntu container: image: ghcr.io/facebook/rocksdb_ubuntu:22.1 options: --shm-size=16gb steps: - uses: actions/checkout@v4.1.0 - uses: "./.github/actions/pre-steps" - uses: "./.github/actions/setup-folly" - run: "(mkdir build && cd build && cmake -DUSE_FOLLY_LITE=1 -DWITH_GFLAGS=1 -DCMAKE_CXX_FLAGS=-DGLOG_USE_GLOG_EXPORT .. && make V=1 -j20)" - uses: "./.github/actions/post-steps"