cargo-sweep 0.7.0

A tool for cleaning unused build files created by Cargo
# Mostly copied from https://github.com/rust-lang/docs.rs/blob/master/.github/workflows/ci.yml
name: CI

on: [push, pull_request]

jobs:
  nightly-clippy:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@master
      - uses: dtolnay/rust-toolchain@nightly
        with:
          components: clippy

      - name: restore build & cargo cache
        uses: Swatinem/rust-cache@v1

      - name: show warnings as check annotations on the PR
        # rust.json is copied from https://github.com/hecrj/setup-rust-action/blob/master/.github/rust.json
        run: echo "##[add-matcher].github/rust.json"

      - run: cargo clippy --all-targets --all-features --color never

  test:
    strategy:
      matrix:
        os: [ubuntu-latest, macos-latest]
        include:
          - os: windows-latest
            target: x86_64-pc-windows-msvc
          - os: windows-latest
            target: i686-pc-windows-msvc
          - os: windows-latest
            target: x86_64-pc-windows-gnu
          - os: windows-latest
            target: i686-pc-windows-gnu

    runs-on: ${{ matrix.os }}
    steps:
      - uses: actions/checkout@master
      - uses: dtolnay/rust-toolchain@stable
        with:
          target: ${{ matrix.target }}

      - name: restore build & cargo cache
        uses: Swatinem/rust-cache@v1

      - name: show warnings as check annotations on the PR
        run: echo "##[add-matcher].github/rust.json"

      - name: Clippy
        uses: actions-rs/cargo@v1
        with:
          command: clippy
          args: --all-targets --locked -- -D warnings

      - name: Test
        run: cargo test

  test-cross:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@master
      - uses: dtolnay/rust-toolchain@stable
        with:
          targets: x86_64-pc-windows-gnu

      - name: restore build & cargo cache
        uses: Swatinem/rust-cache@v1

      - name: show warnings as check annotations on the PR
        run: echo "##[add-matcher].github/rust.json"

      - name: Test cross-compile
        uses: actions-rs/cargo@v1
        env:
          RUSTFLAGS: -Dwarnings
        with:
          command: check
          args: --target x86_64-pc-windows-gnu --all-targets --locked

  # This fails often and also doesn't take long to run. Put it in a separate job.
  fmt:
    name: fmt
    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@master
      - uses: dtolnay/rust-toolchain@stable
        with:
          toolchain: stable
          components: rustfmt

      - name: show warnings as check annotations on the PR
        run: echo "##[add-matcher].github/rust.json"

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