Skip to content

feat: Add support for GetApproximateSizes method from rocksdb #471

feat: Add support for GetApproximateSizes method from rocksdb

feat: Add support for GetApproximateSizes method from rocksdb #471

Workflow file for this run

name: RocksDB CI
on: [push, pull_request]
jobs:
style:
name: Rustfmt
runs-on: ubuntu-latest
steps:
- name: Checkout sources
uses: actions/checkout@v4
- name: Install rust
uses: dtolnay/rust-toolchain@stable
with:
components: rustfmt
- name: Run rustfmt
run: cargo fmt --all -- --check
doc-check:
name: Rustdoc-check
runs-on: ubuntu-latest
steps:
- name: Checkout sources
uses: actions/checkout@v4
- name: Install rust
uses: dtolnay/rust-toolchain@stable
with:
components: rust-docs
- name: Run cargo rustdoc
run: cargo rustdoc -- -D warnings
clippy:
name: Clippy
runs-on: ubuntu-latest
steps:
- name: Checkout sources
uses: actions/checkout@v4
- name: Install rust
uses: dtolnay/rust-toolchain@stable
with:
components: clippy
- name: Install dependencies
run: sudo apt-get update && sudo apt-get install -y liburing-dev pkg-config
- name: Set PKG_CONFIG_PATH
run: echo "PKG_CONFIG_PATH=/usr/lib/x86_64-linux-gnu/pkgconfig" >> $GITHUB_ENV
- name: Run clippy
run: |
cargo clippy --all-targets --features \
"jemalloc \
io-uring \
valgrind \
mt_static \
rtti \
multi-threaded-cf \
malloc-usable-size \
zstd-static-linking-only \
serde1" \
-- -D warnings
audit:
name: Security audit
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: generate Cargo.lock
run: cargo generate-lockfile
# https://github.com/rustsec/audit-check/issues/2
- uses: rustsec/audit-check@master
with:
token: ${{ secrets.GITHUB_TOKEN }}
test:
name: ${{ matrix.build }}
runs-on: ${{ matrix.os }}
strategy:
matrix:
build: [Linux, macOS, Windows]
include:
- build: Linux
os: ubuntu-latest
- build: macOS
os: macos-latest
- build: Windows
os: windows-latest
steps:
- name: Checkout sources
uses: actions/checkout@v4
- name: Install rust
uses: dtolnay/rust-toolchain@stable
- 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: Mark working directory as read-only
# to ensure that the tests always use a temporary directory
if: runner.os == 'Linux'
run: |
mkdir -p target
touch Cargo.lock
git submodule update --init --recursive
chmod -R a-w .
chmod -R a+w target Cargo.lock
- name: Run rocksdb tests
run: |
cargo test --all
cargo test --all --features multi-threaded-cf
- name: Mark working directory as writable
if: runner.os == 'Linux'
run: chmod -R a+w .
- name: Free disk space
run: cargo clean
- name: Mark working directory as read-only
# to ensure that the tests always use a temporary directory
if: runner.os == 'Linux'
run: |
mkdir -p target
touch Cargo.lock
chmod -R a-w .
chmod -R a+w target Cargo.lock
- name: Run rocksdb tests (jemalloc)
if: runner.os != 'Windows'
run: cargo test --all --features jemalloc
- name: Mark working directory as writable
if: runner.os == 'Linux'
run: chmod -R a+w .