name: Lint

on:
    # Triggers the workflow on push or pull request events but only for the main branch
    push:
        branches: [main, release**]
    pull_request:
        branches: [main, dev, release**]
    # Allows us to run the workflow manually from the Actions tab
    workflow_dispatch:

jobs:
  fmt:
    runs-on: ubuntu-24.04
    steps:
      - uses: actions/checkout@v3
        with:
          submodules: recursive

      - name: Install Nix
        uses: DeterminateSystems/nix-installer-action@main

      - run: nix fmt -- --check .

  test:
    runs-on: ubuntu-24.04
    steps:
      - uses: actions/checkout@v3
        with:
          submodules: recursive

      - name: Install Nix
        uses: DeterminateSystems/nix-installer-action@main

      - run: nix flake check
