Skip to content

feat: Update rocksdb to 10.7.5 #62

feat: Update rocksdb to 10.7.5

feat: Update rocksdb to 10.7.5 #62

Workflow file for this run

name: RocksDB CI
on: [push, pull_request]
jobs:
fmt:
name: Rustfmt
runs-on: ubuntu-latest
steps:
- name: Checkout sources
uses: actions/checkout@v6
- name: Install rust
uses: dtolnay/rust-toolchain@stable
with:
toolchain: 1.89.0
components: rustfmt
- name: Check formatting
run: |
cargo fmt --all -- --check
clippy:
name: Clippy
runs-on: ubuntu-latest
steps:
- name: Checkout sources
uses: actions/checkout@v6
with:
submodules: true
- name: Install rust
uses: dtolnay/rust-toolchain@stable
with:
toolchain: 1.89.0
components: clippy rustfmt
- run: sudo apt update && sudo apt install -y libclang-dev
- name: Run clippy
run: |
make clippy
valgrind:
name: valgrind
runs-on: ubuntu-latest
steps:
- run: sudo apt update && sudo apt install -y valgrind libclang-dev
- name: Checkout sources
uses: actions/checkout@v6
with:
submodules: true
- name: run test
working-directory: librocksdb-sys
run: make test
test:
name: ${{ matrix.build }}
runs-on: ${{ matrix.os }}
strategy:
matrix:
build: [Linux, macOS, windows-2022]
include:
- build: Linux
os: ubuntu-22.04
- build: macOS
os: macos-latest
- build: windows-2022
os: windows-2022
steps:
- name: Maximize build space
if: runner.os == 'Linux'
uses: easimon/maximize-build-space@master
with:
root-reserve-mb: 512
swap-size-mb: 1024
remove-dotnet: 'true'
remove-android: 'true'
remove-haskell: 'true'
remove-codeql: 'true'
remove-docker-images: 'true'
- name: Delete huge unnecessary tools folder
if: runner.os == 'Linux'
run: rm -rf /opt/hostedtoolcache
- name: Checkout sources
uses: actions/checkout@v6
with:
submodules: true
- name: Install rust
uses: dtolnay/rust-toolchain@stable
with:
toolchain: 1.89.0
target: ${{ matrix.target }}
components: rustfmt
- name: Remove msys64 # Workaround to resolve link error with C:\msys64\mingw64\bin\libclang.dll
if: runner.os == 'Windows'
run: Remove-Item -LiteralPath "C:\msys64\" -Force -Recurse
- name: Install dependencies
if: runner.os == 'Windows'
run: choco install llvm -y
- name: Install dependencies (macOS)
if: runner.os == 'macOS'
run: brew install llvm lld
- name: Install dependencies (Linux)
if: runner.os == 'Linux'
run: sudo apt-get update && sudo apt-get install -y libclang-dev libjemalloc-dev liburing-dev
- name: Debug librocksdb-sys tests
if: runner.os == 'Linux' || runner.os == 'Windows'
run: clang --version && env
- name: Run librocksdb-sys tests
if: runner.os == 'Linux' || runner.os == 'Windows'
run: |
cargo test --manifest-path=librocksdb-sys/Cargo.toml -vvvvv
- name: Run rocksdb tests
if: runner.os == 'Linux' || runner.os == 'Windows'
run: |
cargo test
- name: Run rocksdb tests (jemalloc)
if: runner.os == 'Linux'
run: |
cargo test --features jemalloc
- name: Run rocksdb tests (io-uring)
if: runner.os == 'Linux'
run: |
cargo test --features io-uring
- name: Run rocksdb tests (portable)
if: runner.os == 'Linux' || runner.os == 'macOS'
run: |
cargo test --features portable
- name: Run rocksdb tests (march-native)
if: runner.os == 'Linux'
run: |
cargo test --features march-native