Merge pull request #3 from nervosnetwork/zhangsoledad/update_readme #58
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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 |