cluster: small performance optimisations #2282
Workflow file for this run
This file contains 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: Rust | |
on: | |
push: | |
branches: [ main ] | |
pull_request: | |
branches: [ main ] | |
env: | |
CARGO_TERM_COLOR: always | |
RUSTFLAGS: -Dwarnings | |
RUST_BACKTRACE: full | |
rust_min: 1.65.0 # <- Update this when bumping up MSRV | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
timeout-minutes: 60 | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Setup 3-node Scylla cluster | |
run: | | |
sudo sh -c "echo 2097152 >> /proc/sys/fs/aio-max-nr" | |
docker compose -f test/cluster/docker-compose.yml up -d --wait | |
- name: Format check | |
run: cargo fmt --verbose --all -- --check | |
- name: Clippy check | |
run: cargo clippy --verbose --examples --tests -- -Aclippy::uninlined_format_args | |
- name: Cargo check without features | |
run: cargo check --manifest-path "scylla/Cargo.toml" --features "" | |
- name: Cargo check with secrecy feature | |
run: cargo check --manifest-path "scylla/Cargo.toml" --features "secret" | |
- name: Build scylla-cql | |
run: cargo build --verbose --all-targets --manifest-path "scylla-cql/Cargo.toml" | |
- name: Build | |
run: cargo build --verbose --examples | |
- name: Run tests | |
run: SCYLLA_URI=172.42.0.2:9042 SCYLLA_URI2=172.42.0.3:9042 SCYLLA_URI3=172.42.0.4:9042 cargo test --verbose | |
- name: Stop the cluster | |
if: ${{ always() }} | |
run: docker compose -f test/cluster/docker-compose.yml stop | |
- name: Print the cluster logs | |
if: ${{ always() }} | |
run: docker compose -f test/cluster/docker-compose.yml logs | |
- name: Remove cluster | |
run: docker compose -f test/cluster/docker-compose.yml down | |
# Tests that our current minimum supported rust version compiles everything sucessfully | |
min_rust: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Install Rust ${{ env.rust_min }} | |
run: | | |
rustup install ${{ env.rust_min }} | |
rustup override set ${{ env.rust_min }} | |
- name: Print Rust version | |
run: rustc --version | |
- name: MSRV cargo check with features | |
run: cargo check --verbose --examples --tests | |
- name: MSRV cargo check without features | |
run: cargo check --verbose --manifest-path "scylla/Cargo.toml" | |
- name: MSRV cargo check scylla-cql | |
run: cargo check --verbose --all-targets --manifest-path "scylla-cql/Cargo.toml" | |
# Tests that docstrings generate docs without warnings | |
cargo_docs: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Compile docs | |
run: RUSTDOCFLAGS=-Dwarnings cargo doc |