mulligan 0.6.0

A flexible retry library for Rust async operations with configurable backoff strategies and jitter.
Documentation
name: Pull Request

on:
  pull_request:
    types:
      - opened
      - synchronize
    paths:
      - Cargo.toml
      - '**/Cargo.toml'
      - Cargo.lock
      - '**.rs'

jobs:
  test:
    name: Test
    runs-on: ubuntu-24.04

    steps:
      - uses: actions/checkout@v3
      - uses: dtolnay/rust-toolchain@stable
      - uses: Swatinem/rust-cache@v2
        with:
          key: rust-toolchain-cache
      - name: Run tests
        run: cargo test --all

  fmt:
    name: Rustfmt
    runs-on: ubuntu-24.04
    steps:
      - uses: actions/checkout@v3
      - uses: dtolnay/rust-toolchain@stable
        with:
          components: rustfmt
      - uses: Swatinem/rust-cache@v2
        with:
          key: rust-toolchain-cache
      - name: Version Check
        run: cargo fmt --version
      - name: Enforce formatting
        run: cargo fmt --check

  clippy:
    name: Clippy
    runs-on: ubuntu-24.04
    steps:
      - uses: actions/checkout@v3
      - uses: dtolnay/rust-toolchain@stable
        with:
          components: clippy
      - uses: Swatinem/rust-cache@v2
        with:
          key: rust-toolchain-cache
      - name: Version Check
        run: cargo clippy --version
      - name: Linting
        run: cargo clippy --all-targets -- -D warnings