Skip to content

Merge pull request #6 from Jordan-Kowal/deps/update-python-dependencies #24

Merge pull request #6 from Jordan-Kowal/deps/update-python-dependencies

Merge pull request #6 from Jordan-Kowal/deps/update-python-dependencies #24

Workflow file for this run

name: Code Quality
on:
workflow_call:
# The "on push" event is necessary for the README badges
push:
branches: ['main']
pull_request:
branches: ['main']
jobs:
setup:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.12" # Cached by github (https://github.com/actions/runner-images/blob/main/images/ubuntu/Ubuntu2204-Readme.md#python)
cache: "pip"
cache-dependency-path: |
./uv.lock
- name: Cache venv
id: cache-venv
uses: actions/cache@v3
with:
path: .venv
key: python-3-12-venv-${{ hashFiles('./uv.lock') }}
- name: Install dependencies
if: ${{ steps.cache-venv.outputs.cache-hit != 'true' }}
run: |
python -m pip install --upgrade pip
pip install uv
uv sync --frozen
ruff:
needs: setup
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.12"
cache: "pip"
cache-dependency-path: |
./uv.lock
- name: Cache venv
uses: actions/cache@v3
with:
path: .venv
key: python-3-12-venv-${{ hashFiles('./uv.lock') }}
- name: Run ruff
run: |
. .venv/bin/activate
ruff check --select I .
ruff check .
ruff format --check .
mypy:
needs: setup
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.12"
cache: "pip"
cache-dependency-path: |
./uv.lock
- name: Cache venv
uses: actions/cache@v3
with:
path: .venv
key: python-3-12-venv-${{ hashFiles('./uv.lock') }}
- name: Run mypy
run: |
. .venv/bin/activate
mypy .
coverage:
needs: setup
runs-on: ubuntu-latest
services:
meilisearch:
image: getmeili/meilisearch:v1.11.0
env:
MEILI_HTTP_ADDR: 0.0.0.0:7700
MEILI_MASTER_KEY: meilisearch_local_master_key
ports:
- 7700:7700
options: --health-cmd="curl -f http://localhost:7700/health" --health-interval=10s --health-timeout=5s --health-retries=5
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.12"
cache: "pip"
cache-dependency-path: |
./uv.lock
- name: Cache venv
uses: actions/cache@v3
with:
path: .venv
key: python-3-12-venv-${{ hashFiles('./uv.lock') }}
- name: Run mypy
run: |
. .venv/bin/activate
coverage run -m unittest discover .
coverage report --fail-under=90