Skip to content

feat: Add calculate_metrics and MetricsResult #5249

feat: Add calculate_metrics and MetricsResult

feat: Add calculate_metrics and MetricsResult #5249

Workflow file for this run

# 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"
- "!haystack/core/**/*.py"
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@v41
with:
files: |
**/*.py
files_ignore: |
test/**
- uses: actions/setup-python@v5
with:
python-version: ${{ env.PYTHON_VERSION }}
- name: Install Haystack
run: pip install .[dev]
- name: Install the dependencies needed for tests
run: pip install -r test/test_requirements.txt
- name: Mypy
if: steps.files.outputs.any_changed == 'true'
run: |
mkdir .mypy_cache
mypy --install-types --non-interactive --cache-dir=.mypy_cache/ ${{ 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@v41
with:
files: |
haystack/**/*.py
- uses: actions/setup-python@v5
with:
python-version: ${{ env.PYTHON_VERSION }}
- name: Install Haystack and the dependencies needed for tests
run: pip install -r test/test_requirements.txt
- name: Pylint
if: steps.files.outputs.any_changed == 'true'
run: |
pylint -ry -j 0 ${{ steps.files.outputs.all_changed_files }}