name: build
on:
pull_request:
push:
branches:
- main
env:
CARGO_TERM_COLOR: always
jobs:
rustfmt:
name: rustfmt
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v2
- name: Check formatting
run: cargo fmt --all -- --check
test:
name: test
env:
RUST_BACKTRACE: 1
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v2
- name: Build crate (Static Output)
run: cargo build --verbose --features=static_output,search
- name: Build crate (Tokio)
run: cargo build --verbose --features=tokio_lib,search
- name: Build crate (Async-std)
run: cargo build --verbose --features=async_std_lib,search
- name: Build tests (Static Output)
run: cargo test --verbose --features=static_output,search --no-run
- name: Run Tests (Static Output)
run: cargo test --verbose --features=static_output,search
- name: Build tests (Tokio)
run: cargo test --verbose --features=tokio_lib,search --no-run
- name: Run Tests (Tokio)
run: cargo test --verbose --features=tokio_lib,search
- name: Build tests (Async-std)
run: cargo test --verbose --features=async_std_lib,search --no-run
- name: Run Tests (Async-std)
run: cargo test --verbose --features=async_std_lib,search
examples:
name: examples
env:
RUST_BACKTRACE: 1
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v2
- name: Tokio
run: cargo check --example=dyn_tokio --features=tokio_lib
- name: Async-std
run: cargo check --example=dyn_async_std --features=async_std_lib
- name: Static
run: cargo check --example=static --features=static_output
- name: Static long
run: cargo check --example=static_long --features=static_output
lint:
name: lint
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions-rs/toolchain@v1
with:
toolchain: nightly
override: true
profile: minimal
components: clippy
- uses: actions-rs/cargo@v1
with:
command: clippy
args: --features=async_std_lib,search --tests --examples
- uses: actions-rs/cargo@v1
with:
command: clippy
args: --features=tokio_lib,search --tests --examples
- uses: actions-rs/cargo@v1
with:
command: clippy
args: --features=static_output,search --tests --examples