on:
  push:
    branches: [master]
    paths-ignore:
      - "**/README.md"
      - "**/Cargo.toml"
      - "**/.github/**"
      - "**/LICENSE"
      - "**/CHANGELOG.md"
      - "**/CONTRIBUTING.md"
      - "**/CODE_OF_CONDUCT.md"
      - "**/SECURITY.md"
      - "**/rustfmt.toml"
      - "**/rust-toolchain"
  pull_request:
name: Tests

jobs:
  test:
    name: Check
    runs-on: ubuntu-latest
    steps:
      - name: Checkout sources
        uses: actions/checkout@v2

      - name: Install stable toolchain
        uses: actions-rs/toolchain@v1
        with:
          profile: minimal
          toolchain: stable
          override: true
          components: rustfmt, clippy

      - name: Run cargo check
        uses: actions-rs/cargo@v1
        with:
          command: check

      - name: Run cargo test
        uses: actions-rs/cargo@v1
        with:
          command: test

      - name: Run cargo fmt
        uses: actions-rs/cargo@v1
        with:
          command: fmt
          args: --all -- --check

      - name: Run cargo clippy
        uses: actions-rs/cargo@v1
        with:
          command: clippy
