name: "LLDB Python Lint" permissions: contents: read on: pull_request: paths: - 'lldb/test/API/**.py' - '.github/workflows/lldb-pylint-action.yml' jobs: code_linter: if: github.repository_owner == 'llvm' runs-on: ubuntu-24.04 timeout-minutes: 60 concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true steps: - name: Fetch LLVM sources uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: persist-credentials: false fetch-depth: 2 - name: Setup python uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0 with: python-version: '3.14' - name: Install dependencies run: | python3 -m pip install --require-hashes -r ./llvm/utils/git/requirements_pylint.txt - name: Get changed files id: changed-files uses: tj-actions/changed-files@9426d40962ed5378910ee2e21d5f8c6fcbf2dd96 # v47.0.6 with: separator: " " skip_initial_fetch: true base_sha: 'HEAD~1' sha: 'HEAD' files: | **/*.py - name: List files env: CHANGED_FILES: ${{ steps.changed-files.outputs.all_changed_files }} run: | echo "Changed files:" echo "$CHANGED_FILES" - name: Run Python test-name linter env: CHANGED_FILES: ${{ steps.changed-files.outputs.all_changed_files }} # Only run pylint if we have any changed files at this point. # Otherwise pylint errors out. if: ${{ env.CHANGED_FILES != '' }} run: | pylint --disable=all --enable=E0102 $CHANGED_FILES