on: push: branches: - master pull_request: branches: - master name: Continuous integration jobs: test: runs-on: ubuntu-latest strategy: matrix: rust: - stable - beta - nightly include: - rust: stable features: "" - rust: beta features: "" - rust: nightly features: "--all-features" steps: - uses: actions/checkout@v1 - uses: actions-rs/toolchain@v1 with: profile: minimal toolchain: ${{ matrix.rust }} override: true - name: build uses: actions-rs/cargo@v1 with: command: build args: --verbose ${{ matrix.features }} - name: test uses: actions-rs/cargo@v1 with: command: test args: --verbose ${{ matrix.features }} clippy: runs-on: ubuntu-latest steps: - uses: actions/checkout@v1 - uses: actions-rs/toolchain@v1 with: profile: minimal toolchain: nightly override: true components: clippy - name: clippy uses: actions-rs/cargo@v1 with: command: clippy args: --all-targets --all-features -- -D warnings style: runs-on: ubuntu-latest steps: - uses: actions/checkout@v1 - uses: actions-rs/toolchain@v1 with: profile: minimal toolchain: nightly override: true components: rustfmt - name: fmt uses: actions-rs/cargo@v1 with: command: fmt args: --all -- --check