Merge pull request #66 from chenyukang/yukang-fix-compile-error #2
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@v2 | |
| - name: Install rust | |
| uses: actions-rs/toolchain@v1 | |
| with: | |
| toolchain: 1.85.0 | |
| 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.85.0 | |
| components: clippy | |
| profile: minimal | |
| override: true | |
| - run: sudo apt update && sudo apt install -y libclang-dev | |
| - 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 libclang-dev | |
| - 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-2022] | |
| include: | |
| - build: Linux | |
| os: ubuntu-22.04 | |
| - build: macOS | |
| os: macos-12 | |
| - 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' | |
| - name: Checkout sources | |
| uses: actions/checkout@v2 | |
| with: | |
| submodules: true | |
| - name: Install rust | |
| uses: actions-rs/toolchain@v1 | |
| with: | |
| toolchain: 1.85.0 | |
| 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 libclang-dev | |
| if: runner.os == 'Linux' | |
| run: sudo apt install libclang-dev | |
| - 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: 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' | |
| 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 |