name: Lint

on:
  push:
    branches:
      - main
  pull_request:

jobs:
  run-linters:
    name: Run linters
    runs-on: ubuntu-latest

    steps:
      - name: Check out Git repository
        uses: actions/checkout@v3

      - name: Install Foundry
        uses: foundry-rs/foundry-toolchain@v1
        with:
          version: stable

      - name: Lint
        run: forge fmt --check

      - uses: actions/cache@v3
        name: Configure npm caching
        with:
          path: ~/.npm
          key: ${{ runner.os }}-npm-${{ hashFiles('**/workflows/prettier.yml') }}
          restore-keys: |
            ${{ runner.os }}-npm-

      - name: Check code formatting
        run: |-
          npx prettier --check .
