addchain 0.3.0

Generate addition chains
Documentation
name: CI

on:
  pull_request:
  push:
    branches: main
  merge_group:

permissions: {}

jobs:
  test-msrv:
    name: Test MSRV
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
        with:
          persist-credentials: false
      - name: Run tests
        run: cargo test
      - name: Verify working directory is clean
        run: git diff --exit-code

  test-latest:
    name: Test latest
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
        with:
          persist-credentials: false
      - uses: dtolnay/rust-toolchain@stable
        id: toolchain
      - run: rustup override set ${RUST_TOOLCHAIN}
        shell: bash
        env:
          RUST_TOOLCHAIN: ${{steps.toolchain.outputs.name}}
      - name: Remove lockfile to build with latest dependencies
        run: rm Cargo.lock
      - name: Run tests
        run: cargo test
      - name: Verify working directory is clean (excluding lockfile)
        run: git diff --exit-code ':!Cargo.lock'

  clippy:
    name: Clippy (MSRV)
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
        with:
          persist-credentials: false
      - name: Run clippy
        uses: auguwu/clippy-action@94a9ff2f6920180b89e5c03d121d0af04a9d3e03 # 1.4.0
        with:
          token: ${{ secrets.GITHUB_TOKEN }}
          check-args: >
            --all-targets
          args: >
            -D warnings

  fmt:
    name: Rustfmt
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
        with:
          persist-credentials: false
      - name: Check formatting
        run: cargo fmt --all -- --check