name: Rust format check

on: [push, pull_request]

jobs:
    # ensure the toolchain is cached
    ensure-toolchain:
        uses: ./.github/workflows/cache-toolchain.yml
  
    fmt:
        name: check
        runs-on: ubuntu-latest
        needs: [ensure-toolchain]
        steps:
            - uses: actions/checkout@v3
            - name: Cache build tools
              id: dragon-boot-cache-build-tools
              uses: actions/cache@v3
              env:
                  cache-name: dragon-boot-cache-build-tools
              with:
                path: |
                  ~/.cargo
                  ~/.rustup
                  ~/.bashrc
                key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('.github/workflows/cache-toolchain.yml') }}
    
            - name: Check format
              run: |
                    FMT_CHECK=1 make fmt
