on:
  workflow_dispatch:
  push:
    branches:
      - main
  pull_request:
  merge_group:

name: Lint

jobs:
  lint:
    name: Lint
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
        with:
          fetch-depth: 0
          submodules: recursive

      - name: "Setup"
        uses: ./.github/actions/setup

      - name: Run Linters
        run: bun lint:check
        env:
          NX_CLOUD_ACCESS_TOKEN: ${{ secrets.NX_CLOUD_ACCESS_TOKEN }}

  format:
    name: Formatters
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
        with:
          fetch-depth: 0
          submodules: recursive

      - name: "Setup"
        uses: ./.github/actions/setup

      - name: Run Formatters
        run: bun format:check
        env:
          NX_CLOUD_ACCESS_TOKEN: ${{ secrets.NX_CLOUD_ACCESS_TOKEN }}

  sort-package-json:
    name: Sort package json
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
        with:
          fetch-depth: 0
          submodules: recursive

      - name: "Setup"
        uses: ./.github/actions/setup

      - name: Run Package.json formatter - Run `bun sort-package-json` to fix
        run: bun sort-package-json:check
        env:
          NX_CLOUD_ACCESS_TOKEN: ${{ secrets.NX_CLOUD_ACCESS_TOKEN }}
