Improved Python Package Workflow (#2594)

This commit is contained in:
Sayon Dey
2026-05-03 14:55:06 +05:30
committed by GitHub
parent 6cf5604075
commit 05d1eb6fb0
+34 -27
View File
@@ -2,41 +2,48 @@ name: Linting and testing
on: on:
push: push:
branches: [ main ] branches: [main]
pull_request: pull_request:
branches: [ main ] branches: [main]
types: [opened, synchronize, reopened] types: [opened, synchronize, reopened]
jobs: jobs:
build: build:
runs-on: ubuntu-latest runs-on: ubuntu-latest
strategy: strategy:
fail-fast: false
matrix: matrix:
python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"] python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"]
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@v2 uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v2 - name: Set up Python ${{ matrix.python-version }}
with: uses: actions/setup-python@v5
python-version: ${{ matrix.python-version }} with:
- name: Install system dependencies python-version: ${{ matrix.python-version }}
run: |
sudo apt-get update && sudo apt-get install -y libcairo2-dev - name: Install system dependencies
- name: Install dependencies run: |
run: | sudo apt-get update
python -m pip install --upgrade pip sudo apt-get install -y libcairo2-dev
python -m pip install poetry
python -m poetry install --with dev - name: Install dependencies
- name: Test with Coverage and Pytest (Fail if coverage is low) run: |
run: | python -m pip install --upgrade pip
poetry run coverage run --source=./maigret -m pytest --reruns 3 --reruns-delay 5 tests python -m pip install poetry
poetry run coverage report --fail-under=60 python -m poetry install --with dev
poetry run coverage html
- name: Upload coverage report - name: Test with Coverage and Pytest (fail if coverage is low)
uses: actions/upload-artifact@v4 run: |
with: poetry run coverage run --source=./maigret -m pytest --reruns 3 --reruns-delay 5 tests
name: htmlcov-${{ strategy.job-index }} poetry run coverage report --fail-under=60
path: htmlcov poetry run coverage html
- name: Upload coverage report
uses: actions/upload-artifact@v4
with:
name: htmlcov-${{ strategy.job-index }}
path: htmlcov