Skip to content

feat: use zaidoon1/rust-rocksdb to replcae rust-rocksdb/rust-rocksdb … #332

feat: use zaidoon1/rust-rocksdb to replcae rust-rocksdb/rust-rocksdb …

feat: use zaidoon1/rust-rocksdb to replcae rust-rocksdb/rust-rocksdb … #332

Workflow file for this run

name: Tests
on:
push:
branches: [ main, master, develop ]
pull_request:
branches: [ main, master, develop ]
env:
CARGO_TERM_COLOR: always
jobs:
test:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v6
- name: Setup Rust toolchain
uses: actions-rust-lang/setup-rust-toolchain@v1
with:
toolchain: stable
components: rustfmt, clippy
- name: Install protoc (Linux)
run: |
sudo apt-get update
sudo apt-get install -y protobuf-compiler
- name: Cache Cargo registry
uses: actions/cache@v4
with:
path: |
~/.cargo/registry
~/.cargo/git
target
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
- name: Build project
run: make build
- name: Run unit tests
run: make test
- name: Setup Python
uses: actions/setup-python@v6
with:
python-version: '3.x'
- name: Install Python dependencies
run: make -C tests install-deps
- name: Run integration tests (will skip if no Redis server)
run: make -C tests test-python
test-windows:
runs-on: windows-latest
steps:
- name: Checkout code
uses: actions/checkout@v6
- name: Setup Rust toolchain
uses: actions-rust-lang/setup-rust-toolchain@v1
with:
toolchain: stable
components: rustfmt, clippy
- name: Install protoc (Windows)
run: |
$protocVersion = "27.1"
$protocZip = "protoc-$protocVersion-win64.zip"
$protocUrl = "https://github.com/protocolbuffers/protobuf/releases/download/v$protocVersion/$protocZip"
$protocPath = "$env:RUNNER_TEMP\protoc"
Invoke-WebRequest -Uri $protocUrl -OutFile "$env:RUNNER_TEMP\$protocZip"
Expand-Archive -Path "$env:RUNNER_TEMP\$protocZip" -DestinationPath $protocPath
echo "$protocPath\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
- name: Build project
run: make build
- name: Run unit tests
run: make test
test-macos:
runs-on: macos-latest
steps:
- name: Checkout code
uses: actions/checkout@v6
- name: Setup Rust toolchain
uses: actions-rust-lang/setup-rust-toolchain@v1
with:
toolchain: stable
components: rustfmt, clippy
- name: Install protoc (macOS)
run: |
brew install protobuf
- name: Build project
run: make build
- name: Run unit tests
run: make test
lint:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v6
- name: Setup Rust toolchain
uses: actions-rust-lang/setup-rust-toolchain@v1
with:
toolchain: stable
components: rustfmt, clippy
- name: Install protoc (Linux)
run: |
sudo apt-get update
sudo apt-get install -y protobuf-compiler
- name: Check code formatting
run: make fmt
- name: Run Clippy linter
run: make lint