cacache-rs/.github/workflows/ci.yml

71 lines
1.7 KiB
YAML

name: CI
on: [push, pull_request]
env:
RUSTFLAGS: -Dwarnings
jobs:
fmt_and_docs:
name: Check fmt & build docs
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: Install Rust
uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
components: rustfmt
override: true
- name: rustfmt
run: cargo fmt --all -- --check
- name: docs
run: cargo doc
build_and_test_async_std:
name: Build & Test (async-std)
runs-on: ${{ matrix.os }}
strategy:
matrix:
rust: [1.66.1, stable]
os: [ubuntu-latest, macOS-latest, windows-latest]
steps:
- uses: actions/checkout@v1
- name: Install Rust
uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: ${{ matrix.rust }}
components: clippy
override: true
- name: Check
run: cargo check
- name: Clippy
run: cargo clippy -- -D warnings
- name: Run tests
run: cargo test --verbose
build_and_test_tokio:
name: Build & Test (Tokio)
runs-on: ${{ matrix.os }}
strategy:
matrix:
rust: [1.66.1, stable]
os: [ubuntu-latest, macOS-latest, windows-latest]
steps:
- uses: actions/checkout@v1
- name: Install Rust
uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: ${{ matrix.rust }}
components: clippy
override: true
- name: Check
run: cargo check --no-default-features --features tokio-runtime
- name: Run unit tests
run: cargo test --verbose --no-default-features --features tokio-runtime --lib