sqlformat 0.5.0

Formats whitespace in a SQL string to make it easier to read
Documentation
name: sqlformat

permissions:
  contents: read

on:
  push:
    branches:
      - master
  pull_request:
    branches:
      - master

jobs:
  build-test-unix:
    runs-on: ubuntu-latest
    strategy:
      matrix:
        conf:
          - minimum
          - latest-stable
          - latest-beta
          - latest-nightly
        include:
          - conf: minimum
            toolchain: 1.84.0
          - conf: latest-stable
            toolchain: stable
          - conf: latest-beta
            toolchain: beta
          - conf: latest-nightly
            toolchain: nightly
    steps:
      - uses: actions/checkout@v5
      - name: Install ${{ matrix.toolchain }}
        uses: dtolnay/rust-toolchain@stable
        with:
          toolchain: ${{ matrix.toolchain }}
          components: clippy, rustfmt
      - uses: Swatinem/rust-cache@v2
      - name: Run rustfmt
        if: matrix.toolchain == 'stable'
        run: |
          cargo fmt --all -- --check
      - name: Run clippy
        if: matrix.toolchain == 'stable'
        uses: actions-rs-plus/clippy-check@v2.3.0
        with:
          args: --all -- -D warnings
      - name: Run tests
        run: cargo test
      - name: Build docs
        run: cargo doc --no-deps
  code-coverage:
    needs: [build-test-unix]
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v5
      - name: Install stable
        uses: dtolnay/rust-toolchain@stable
      - uses: Swatinem/rust-cache@v2
      - name: Install cargo-llvm-cov
        uses: taiki-e/install-action@v2
        with:
          tool: cargo-llvm-cov
      - name: Generate code coverage
        run: cargo llvm-cov --codecov --output-path codecov.json --ignore-filename-regex tests\.rs
      - name: Upload coverage to Codecov
        uses: codecov/codecov-action@v5
        with:
          token: ${{ secrets.CODECOV_TOKEN }}
          files: codecov.json
          fail_ci_if_error: false