french-numbers 1.2.0

Represent numbers in French language
Documentation
on:
  pull_request:
  merge_group:

name: Continuous integration

jobs:
  check:
    name: Check
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - run: |
          rustup install --profile minimal stable
          rustup default stable
      - uses: Swatinem/rust-cache@v2
      - run: cargo check --all-targets --features cli

  test:
    name: Test suite
    runs-on: ubuntu-latest
    needs: check
    strategy:
      matrix:
        toolchain: [stable, beta, nightly]
      fail-fast: false
    steps:
      - uses: actions/checkout@v4
      - run: |
          rustup install --profile minimal ${{ matrix.toolchain }}
          rustup default ${{ matrix.toolchain }}
      - uses: Swatinem/rust-cache@v2
      - name: Test in debug mode
        run: cargo test --tests --benches
      - name: Test in release mode
        run: cargo test --release --tests --benches
      - name: Build program
        run: cargo build --release --features cli

  test-minimal-versions:
    name: Test with minimal versions
    runs-on: ubuntu-latest
    needs: check
    steps:
      - uses: actions/checkout@v4
      - run: |
          rustup install --profile minimal nightly
          rustup default nightly
      - run: cargo update -Zminimal-versions
        name: Set dependencies to the minimal version allowed
      - name: Test with minimal version dependencies
        run: cargo test --tests --benches
      - name: Build program
        run: cargo build --features cli

  fmt:
    name: Rustfmt
    runs-on: ubuntu-latest
    needs: check
    steps:
      - uses: actions/checkout@v4
      - run: |
          rustup install --profile minimal nightly
          rustup default nightly
      - uses: Swatinem/rust-cache@v2
      - run: rustup component add rustfmt
      - run: cargo fmt --all -- --check

  clippy:
    name: Clippy
    runs-on: ubuntu-latest
    needs: check
    steps:
      - uses: actions/checkout@v4
      - run: |
          rustup install --profile minimal nightly
          rustup default nightly
      - uses: Swatinem/rust-cache@v2
      - run: rustup component add clippy
      - run: cargo clippy --all-targets