tire 0.1.3

Tire provides a single interface for the most common workflows in a typical, modern Python project.
Documentation
name: Build

on:
  push:
    branches:
      - main
  pull_request:
  workflow_dispatch:

env:
  MINIMUM_LINE_COVERAGE_PERCENT: 35

jobs:
  fmt:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - uses: actions-rust-lang/setup-rust-toolchain@v1
      - run: cargo fmt --check --all

  clippy:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - uses: actions-rust-lang/setup-rust-toolchain@v1
      - uses: Swatinem/rust-cache@v2
      - run: cargo clippy --all-targets --workspace -- -D warnings -D clippy::all

  deny:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - uses: actions-rust-lang/setup-rust-toolchain@v1
      - uses: Swatinem/rust-cache@v2
      - run: cargo install cargo-deny || true
      - run: cargo deny --workspace check

  test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
        with:
          lfs: 'true'
      - uses: actions-rust-lang/setup-rust-toolchain@v1
        with:
          components: llvm-tools-preview
      - uses: Swatinem/rust-cache@v2
      - run: cargo install cargo-llvm-cov || true
      # Disable coverage for now
      # - run: cargo llvm-cov --workspace --fail-under-lines "$MINIMUM_LINE_COVERAGE_PERCENT"
      #   env:
      #     RUST_BACKTRACE: 1

  typos:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - uses: actions-rust-lang/setup-rust-toolchain@v1
      - uses: Swatinem/rust-cache@v2
      - run: cargo install typos-cli@=1.16.26 --locked || true
      - run: typos