• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1on:
2  push:
3  pull_request:
4  schedule:
5    - cron: '0 0 * * *'
6
7name: Continuous integration
8
9jobs:
10  check:
11    name: Check
12    runs-on: ubuntu-latest
13    strategy:
14      matrix:
15        rust:
16          - stable
17          - 1.56.0
18    steps:
19      - uses: actions/checkout@v1
20      - uses: actions-rs/toolchain@v1
21        with:
22          toolchain: ${{ matrix.rust }}
23          override: true
24      - uses: actions-rs/cargo@v1
25        with:
26          command: check
27
28  test:
29    name: Test Suite
30    runs-on: ubuntu-latest
31    strategy:
32      matrix:
33        rust:
34          - stable
35          - nightly
36    steps:
37      - uses: actions/checkout@v1
38      - uses: actions-rs/toolchain@v1
39        with:
40          toolchain: ${{ matrix.rust }}
41          override: true
42      - uses: Swatinem/rust-cache@v1
43      - name: Install cargo-nextest
44        uses: baptiste0928/cargo-install@v1
45        with:
46          crate: cargo-nextest
47          version: 0.9
48      - uses: actions-rs/cargo@v1
49        with:
50          command: nextest
51          args: run
52      - uses: actions-rs/cargo@v1
53        with:
54          command: nextest
55          args: run --no-default-features
56      - uses: actions-rs/cargo@v1
57        with:
58          command: test
59          args: --doc
60
61  test-msrv:
62    name: msrv Test Suite
63    runs-on: ubuntu-latest
64    strategy:
65      matrix:
66        rust:
67          - 1.56.0
68    steps:
69      - uses: actions/checkout@v1
70      - uses: actions-rs/toolchain@v1
71        with:
72          toolchain: ${{ matrix.rust }}
73          override: true
74      - uses: Swatinem/rust-cache@v1
75      - uses: actions-rs/cargo@v1
76        with:
77          command: test
78      - uses: actions-rs/cargo@v1
79        with:
80          command: test
81          args: --no-default-features
82
83  fmt:
84    name: Rustfmt
85    runs-on: ubuntu-latest
86    strategy:
87      matrix:
88        rust:
89          - stable
90          - 1.56.0
91    steps:
92      - uses: actions/checkout@v1
93      - uses: actions-rs/toolchain@v1
94        with:
95          toolchain: ${{ matrix.rust }}
96          override: true
97      - run: rustup component add rustfmt
98      - uses: actions-rs/cargo@v1
99        with:
100          command: fmt
101          args: --all -- --check
102
103  clippy:
104    name: Clippy
105    runs-on: ubuntu-latest
106    strategy:
107      matrix:
108        rust:
109          - stable
110    steps:
111      - uses: actions/checkout@v1
112      - uses: actions-rs/toolchain@v1
113        with:
114          toolchain: ${{ matrix.rust }}
115          override: true
116      - run: rustup component add clippy
117      - uses: actions-rs/cargo@v1
118        with:
119          command: clippy
120          args: -- -D warnings
121