diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..0f3c0fb --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,46 @@ +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 --no-deps + + build_and_test: + name: Build & Test + runs-on: ${{ matrix.os }} + strategy: + matrix: + rust: [1.46.0, 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: Clippy + run: cargo clippy --all -- -D warnings + - name: Run tests + run: cargo test --all --verbose