name: lint-on-push

on:
  - push
  - pull_request

jobs:
  lint:
    runs-on: ubuntu-24.04
    strategy:
      fail-fast: false
      matrix:
        flags:
          - --debug --test --uv
          - --debug --test
    steps:
      - name: checkout-code
        uses: actions/checkout@main
      - name: setup-python
        uses: actions/setup-python@main
        with:
          python-version: 3.12.3
          cache: pip
          cache-dependency-path: requirements.txt
      - name: install-pylint
        run: |
          python -m pip install --upgrade pip
          pip install pylint
      - name: pre-commit
        uses: pre-commit-ci/lite-action@v1.1.0
        if: always()
        with:
          msg: apply code formatting and linting auto-fixes
      - name: test-startup
        run: |
          export COMMANDLINE_ARGS="${{ matrix.flags }}"
          python launch.py
