name: Linux

on:
  pull_request:
    paths-ignore:
      - "*.md"
      - "./site/**/*"
  push:
    paths-ignore:
      - "*.md"
      - "./site/**/*"

env:
  CARGO_TERM_COLOR: always

jobs:
  build:
    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@v2
      - name: Install dependencies
        run: sudo apt update && sudo apt install -y libdbus-1-dev libsmbclient-dev
      - uses: dtolnay/rust-toolchain@stable
        with:
          toolchain: stable
          components: rustfmt, clippy
      - name: Run tests
        uses: actions-rs/cargo@v1
        with:
          command: test
          args: --no-default-features --features github-actions --no-fail-fast
      - name: Format
        run: cargo fmt --all -- --check
      - name: Clippy
        run: cargo clippy -- -Dwarnings
