name: Verify Kconfig
on:
  push:
  pull_request:

# https://docs.github.com/en/actions/writing-workflows/workflow-syntax-for-github-actions#concurrency
# Ensure that only one commit will be running tests at a time on each push
concurrency:
  group: ${{ github.ref }}-${{ github.workflow }} 
  cancel-in-progress: true

jobs:
  verify-kconfig:
    if: ${{ github.event_name != 'pull_request' || github.repository != github.event.pull_request.head.repo.full_name }}
    runs-on: ubuntu-24.04
    steps:
      - name: Checkout
        uses: actions/checkout@v4
        with:
          persist-credentials: false
          fetch-depth: 0
      - name: Setup Python
        uses: actions/setup-python@v5
        with:
          python-version: 3.12
      - name: Check for leading spaces in Kconfig
        working-directory: .
        run: |
          if grep -qP '^ +' Kconfig; then
            echo "Error: Kconfig contains leading spaces instead of tabs"
            exit 1
          fi
      - name: Run kconfig_verify.py
        run: python3 -m pip install kconfiglib && python kconfig_verify.py ../Kconfig
        working-directory: scripts
