imghash 2.0.0

Image hashing algorithms for Rust
Documentation
name: Pull Request

on: [pull_request]

jobs:
  test:
    name: Tests
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2

      - name: Setup Rust
        run: rustup show

      - name: Run Tests
        run: make test

  format:
    name: Formatting
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2

      - name: Setup Rust
        run: rustup show

      - name: Check Formatting
        run: make check-fmt

  lint:
    name: Linting
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2

      - name: Setup Rust
        run: rustup show

      - name: Check Linting
        run: make lint

  coverage:
    name: Coverage
    permissions:
      contents: write
      pull-requests: write
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2

      - name: Setup Rust
        run: rustup show

      - uses: taiki-e/install-action@1ed3272338f573e042a2e6bca3893aa19f43b47a # 2.71.3
        with:
          tool: cargo-tarpaulin

      - name: Generate coverage
        run: cargo tarpaulin --out Lcov --engine llvm

      - name: Upload to Codecov
        uses: codecov/codecov-action@57e3a136b779b570ffcdbf80b3bdc90e7fab3de2 # v6.0.0
        with:
          files: ./lcov.info
          token: ${{ secrets.CODECOV_TOKEN }}