• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1on:
2  push:
3    branches: [ master ]
4  pull_request:
5    branches: [ master ]
6
7name: CI
8
9jobs:
10  ci:
11    runs-on: ubuntu-latest
12    strategy:
13      fail-fast: false
14      matrix:
15        rust:
16          - 1.36.0  # MSRV
17          - stable
18          - beta
19          - nightly
20        features:
21          - ""
22          - "serde"
23
24    steps:
25      - name: Checkout
26        uses: actions/checkout@v3
27
28      - name: Set up Rust
29        uses: dtolnay/rust-toolchain@master
30        with:
31          toolchain: ${{ matrix.rust }}
32
33      - name: Build (no_std)
34        run: cargo build --no-default-features
35
36      - name: Build
37        run: cargo build --features "${{ matrix.features }}"
38
39      - name: Test
40        run: cargo test --features "${{ matrix.features }}"
41
42      - name: Doc
43        run: cargo doc --features "${{ matrix.features }}"
44
45  clippy:
46    name: Rustfmt and Clippy
47    runs-on: ubuntu-latest
48    steps:
49      - name: Checkout
50        uses: actions/checkout@v3
51
52      - name: Set up nightly Rust
53        uses: dtolnay/rust-toolchain@nightly
54        with:
55          components: rustfmt, clippy
56
57      - name: Rustfmt
58        run: cargo fmt --all -- --check
59
60      - name: Clippy
61        run: cargo clippy  # -- -D warnings
62