name: Linters

on:
  push:
    branches:
      - main
      - feat/*
  pull_request:
    branches:
      - main
      - feat/*
  merge_group:
    types: [checks_requested]

concurrency:
  group: ${{ github.workflow }}-${{ github.ref }}
  cancel-in-progress: true

jobs:
  build:
    runs-on: ubuntu-latest
    env:
      PRE_COMMIT_USE_MICROMAMBA: 1
    steps:
      - uses: actions/checkout@v4
      - name: Install pre-commit
        uses: mamba-org/setup-micromamba@v2
        with:
          environment-name: linters
          create-args: pre-commit
      - name: Add micromamba to GITHUB_PATH
        run: echo "${HOME}/micromamba-bin" >> $GITHUB_PATH
      - name: Run all linters
        shell: micromamba-shell {0}
        run: |
          pre-commit run --all-files --verbose --show-diff-on-failure
