mirror of https://github.com/nextgraph-org/rkv.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
65 lines
2.2 KiB
65 lines
2.2 KiB
name: CI Build Status
|
|
|
|
on: [push, pull_request]
|
|
|
|
env:
|
|
RUST_BACKTRACE: 1
|
|
# We install a known-to-have-rustfmt version of the nightly toolchain
|
|
# in order to run the nightly version of rustfmt, which supports rules
|
|
# that we depend upon. When updating, pick a suitable nightly version
|
|
# from https://rust-lang.github.io/rustup-components-history/
|
|
# See .rustfmt.toml for the list of unstable features.
|
|
KNOWN_TO_HAVE_RUSTFMT: nightly-2020-07-12
|
|
|
|
defaults:
|
|
run:
|
|
shell: bash
|
|
|
|
jobs:
|
|
build:
|
|
strategy:
|
|
matrix:
|
|
target:
|
|
- { os: ubuntu-latest, host: '' }
|
|
- { os: macos-latest, host: '' }
|
|
- { os: windows-latest, host: '-x86_64-pc-windows-msvc' }
|
|
- { os: windows-latest, host: '-i686-pc-windows-msvc' }
|
|
toolchain: [1.45.0, stable, beta, nightly]
|
|
|
|
runs-on: ${{ matrix.target.os }}
|
|
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
- name: Install Rust toolchain ${{ matrix.toolchain }}${{ matrix.target.host }} on ${{ matrix.target.os }}
|
|
run: |
|
|
rustup toolchain install ${{ matrix.toolchain }}${{ matrix.target.host }} --profile minimal --component rustfmt clippy
|
|
rustup default ${{ matrix.toolchain }}${{ matrix.target.host }}
|
|
|
|
- if: ${{ matrix.toolchain == 'nightly' }}
|
|
run: |
|
|
rustup toolchain install $KNOWN_TO_HAVE_RUSTFMT --profile minimal --component rustfmt clippy
|
|
cargo +$KNOWN_TO_HAVE_RUSTFMT fmt --all -- --check
|
|
- if: ${{ matrix.toolchain == 'nightly' }}
|
|
run: cargo +$KNOWN_TO_HAVE_RUSTFMT clippy --all-features -- -D warnings
|
|
env:
|
|
CC: clang
|
|
|
|
- run: cargo build --verbose
|
|
|
|
- name: Test with all features
|
|
run: cargo test --all --verbose
|
|
|
|
- name: Test with no default features
|
|
run: cargo test --lib --no-default-features --verbose
|
|
|
|
- name: Test with db-dup-sort
|
|
run: cargo test --lib --no-default-features --features "db-dup-sort" --verbose
|
|
|
|
- name: Test with db-int-key
|
|
run: cargo test --lib --no-default-features --features "db-int-key" --verbose
|
|
|
|
- name: Test in release mode
|
|
run: cargo test --release --all --verbose
|
|
|
|
- name: Run all examples
|
|
run: ./run-all-examples.sh
|
|
|