Skip to content

Merge pull request #85 from predomics/feat/zscore-datatype #124

Merge pull request #85 from predomics/feat/zscore-datatype

Merge pull request #85 from predomics/feat/zscore-datatype #124

Workflow file for this run

name: Rust CI
on:
pull_request:
branches: ["main"]
push:
branches: ["main", "dev"]
tags: ["v*"]
env:
CARGO_TERM_COLOR: always
jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- uses: actions-rust-lang/setup-rust-toolchain@v1
with:
toolchain: 1.84.0
rustflags: ""
components: clippy,rustfmt
- name: Format check
run: cargo fmt --all --check
- name: Clippy (deny warnings)
run: cargo clippy --all-targets --all-features
build_and_test:
runs-on: ubuntu-latest
needs: lint
timeout-minutes: 15
steps:
- uses: actions/checkout@v5
- uses: actions/cache@v4
with:
path: |
~/.cargo/bin/
~/.cargo/registry/index/
~/.cargo/registry/cache/
~/.cargo/git/db/
target/
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
- uses: actions-rust-lang/setup-rust-toolchain@v1
with:
toolchain: 1.84.0
- name: Build
run: cargo build --locked --workspace --all-features --verbose
- name: Unit and lib tests
run: cargo test --locked --lib --all-features --verbose
integration:
runs-on: ubuntu-latest
needs: build_and_test
timeout-minutes: 120
if: startsWith(github.ref, 'refs/tags/v')
steps:
- uses: actions/checkout@v5
- uses: actions/cache@v4
with:
path: |
~/.cargo/bin/
~/.cargo/registry/index/
~/.cargo/registry/cache/
~/.cargo/git/db/
target/
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
- uses: actions-rust-lang/setup-rust-toolchain@v1
with:
toolchain: 1.84.0
- name: Full test suite (lib + integration e2e)
run: cargo test --locked --workspace --all-features --verbose -- --test-threads=2