# If you change this name also do it in linting-skipper.yml and ci_metrics.yml name: Linting on: pull_request: paths: - "haystack/**/*.py" - "test/**/*.py" - "e2e/**/*.py" - "pyproject.toml" env: PYTHON_VERSION: "3.8" jobs: mypy: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 with: # With the default value of 1, there are corner cases where tj-actions/changed-files # fails with a `no merge base` error fetch-depth: 0 - name: Get changed files id: files uses: tj-actions/changed-files@v40 with: files: | **/*.py files_ignore: | test/** - uses: actions/setup-python@v4 with: python-version: ${{ env.PYTHON_VERSION }} - name: Install Haystack run: pip install .[dev,audio] langdetect transformers[torch,sentencepiece]==4.35.2 'sentence-transformers>=2.2.0' pypdf tika 'azure-ai-formrecognizer>=3.2.0b2' cohere - name: Mypy if: steps.files.outputs.any_changed == 'true' run: | mypy --install-types --non-interactive ${{ steps.files.outputs.all_changed_files }} pylint: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 with: # With the default value of 1, there are corner cases where tj-actions/changed-files # fails with a `no merge base` error fetch-depth: 0 - name: Get changed files id: files uses: tj-actions/changed-files@v40 with: files: | haystack/**/*.py - uses: actions/setup-python@v4 with: python-version: ${{ env.PYTHON_VERSION }} - name: Install Haystack run: | pip install .[dev,audio] langdetect transformers[torch,sentencepiece]==4.35.2 'sentence-transformers>=2.2.0' pypdf markdown-it-py mdit_plain tika 'azure-ai-formrecognizer>=3.2.0b2' cohere - name: Pylint if: steps.files.outputs.any_changed == 'true' run: | pylint -ry -j 0 ${{ steps.files.outputs.all_changed_files }}