Skip to content

CI

CI #867

Workflow file for this run

name: CI
on:
push:
branches: [ master, testing, 'release/v[0-9].[0-9]' ]
pull_request:
branches: [ master ]
schedule:
- cron: '0 21 * * *'
jobs:
lint_and_clippy:
name: Lint and Clippy
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
with:
submodules: recursive
- name: Install Rust
uses: dtolnay/rust-toolchain@nightly
with:
components: clippy, rustfmt
- name: Run rustfmt
run: cargo fmt --all -- --check
- name: Run clippy
run: cargo clippy --workspace -- -D warnings
build:
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macOS-latest, windows-latest]
runs-on: ${{ matrix.os }}
steps:
- name: Checkout
uses: actions/checkout@v3
with:
submodules: recursive
- name: Install Rust
uses: dtolnay/rust-toolchain@stable
- name: Build
run: cargo build --verbose --workspace
- name: Run tests
run: cargo test --verbose --workspace
address_sanitizer:
name: Address sanitizer
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
with:
submodules: recursive
- name: Install Rust
uses: dtolnay/rust-toolchain@nightly
- name: Run test with sanitizer
env:
RUSTFLAGS: -Z sanitizer=address
RUSTDOCFLAGS: -Z sanitizer=address
run: cargo test --target x86_64-unknown-linux-gnu --workspace