#################################
#################################
## Super Linter GitHub Actions ##
#################################
#################################
name: Lint Code Base

#
# Documentation:
# https://docs.github.com/en/actions/learn-github-actions/workflow-syntax-for-github-actions
#

#############################
# Start the job on all push #
#############################
on:
  pull_request:
    branches: [main]

###############
# Set the Job #
###############
jobs:
  build:
    # Name the Job
    name: Lint Code Base
    # Set the agent to run on
    runs-on: ubuntu-latest

    ##################
    # Load all steps #
    ##################
    steps:
      ##########################
      # Checkout the code base #
      ##########################
      - name: Checkout Code
        uses: actions/checkout@v6
        with:
          # Full git history is needed to get a proper list of changed files within `super-linter`
          fetch-depth: 0

      ################################
      # Run Linter against code base #
      ################################
      - name: Lint Code Base
        uses: super-linter/super-linter/slim@v7
        env:
          DEFAULT_BRANCH: main
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
          FILTER_REGEX_EXCLUDE: "^(.github/|gemini/sample-apps/finance-advisor-spanner/|gemini/sample-apps/quickbot/).*"
          LOG_LEVEL: WARN
          SHELLCHECK_OPTS: -e SC1091 -e 2086
          VALIDATE_ALL_CODEBASE: false
          VALIDATE_PYTHON_PYINK: false
          VALIDATE_PYTHON_ISORT: false
          VALIDATE_PYTHON_BLACK: false
          VALIDATE_CHECKOV: false
          VALIDATE_JAVASCRIPT_STANDARD: false
          VALIDATE_TYPESCRIPT_STANDARD: false
          VALIDATE_JUPYTER_NBQA_FLAKE8: false
          VALIDATE_JUPYTER_NBQA_PYLINT: false
          VALIDATE_JUPYTER_NBQA_ISORT: false
          VALIDATE_JUPYTER_NBQA_MYPY: false
          VALIDATE_JUPYTER_NBQA_BLACK: false
          VALIDATE_JSCPD: false
