Skip to content

Merge pull request #50 from quake/quake/public-field #158

Merge pull request #50 from quake/quake/public-field

Merge pull request #50 from quake/quake/public-field #158

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@v2
- name: Install rust
uses: actions-rs/toolchain@v1
with:
toolchain: 1.71.1
components: rustfmt
profile: minimal
override: true
- name: Run rustfmt
uses: actions-rs/cargo@v1
with:
command: fmt
args: --all -- --check
clippy:
name: Clippy
runs-on: ubuntu-latest
steps:
- name: Checkout sources
uses: actions/checkout@v2
with:
submodules: true
- name: Install rust
uses: actions-rs/toolchain@v1
with:
toolchain: 1.71.1
components: clippy
profile: minimal
override: true
- name: Run clippy
uses: actions-rs/clippy-check@v1
with:
token: ${{ secrets.GITHUB_TOKEN }}
args: --all --tests -- -A clippy::upper-case-acronyms -A clippy::missing_safety_doc -D warnings
audit:
name: Security audit
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions-rs/audit-check@v1
with:
token: ${{ secrets.GITHUB_TOKEN }}
valgrind:
name: valgrind
runs-on: ubuntu-latest
steps:
- run: sudo apt update && sudo apt install -y valgrind
- name: Checkout sources
uses: actions/checkout@v2
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-2019]
include:
- build: Linux
os: ubuntu-22.04
- build: macOS
os: macos-12
- build: windows-2019
os: windows-2019
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'
- name: Checkout sources
uses: actions/checkout@v2
with:
submodules: true
- name: Install rust
uses: actions-rs/toolchain@v1
with:
toolchain: 1.71.1
target: ${{ matrix.target }}
profile: minimal
override: true
- 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 jemalloc
if: runner.os == 'Linux'
run: sudo apt install libjemalloc-dev
- name: Install liburing
if: runner.os == 'Linux'
run: sudo apt install liburing-dev
- name: Run librocksdb-sys tests
if: runner.os == 'Linux' || runner.os == 'Windows'
uses: actions-rs/cargo@v1
with:
command: test
args: --manifest-path=librocksdb-sys/Cargo.toml -vvvvv
- name: Run rocksdb tests
if: runner.os == 'Linux' || runner.os == 'Windows'
uses: actions-rs/cargo@v1
with:
command: test
- name: Run rocksdb tests (jemalloc)
if: runner.os == 'Linux'
uses: actions-rs/cargo@v1
with:
command: test
args: --features jemalloc
- name: Run rocksdb tests (io-uring)
if: runner.os == 'Linux'
uses: actions-rs/cargo@v1
with:
command: test
args: --features io-uring
- name: Run rocksdb tests (portable)
if: runner.os == 'Linux' || runner.os == 'macOS'
uses: actions-rs/cargo@v1
with:
command: test
args: --features portable
- name: Run rocksdb tests (march-native)
if: runner.os == 'Linux'
uses: actions-rs/cargo@v1
with:
command: test
args: --features march-native