Skip to content

chore(deps)(deps): bump the python-dependencies group with 6 updates #212

chore(deps)(deps): bump the python-dependencies group with 6 updates

chore(deps)(deps): bump the python-dependencies group with 6 updates #212

Workflow file for this run

# This file is part of the jebel-quant/rhiza repository
# (https://github.com/jebel-quant/rhiza).
#
# Workflow: Quality
#
# Purpose: This workflow runs code quality checks to ensure consistency and a
# clean dependency tree across the codebase. It catches formatting
# errors, linting issues, missing or obsolete dependencies, and missing
# docstrings before they are merged.
#
# Trigger: This workflow runs on every push and on pull requests to main/master
# branches (including from forks), and on release tags (v*).
#
# Components:
# - 🔍 Run pre-commit checks (formatting, linting, etc.)
# - 💾 Cache pre-commit environments to speed up runs
# - 📦 Run deptry to detect missing and obsolete dependencies
# - 📝 Enforce 100% docstring coverage with interrogate
# - 🔗 Check links in README.md
name: "(RHIZA) QUALITY"
permissions:
contents: read
on:
push:
schedule:
- cron: "0 8 * * 1" # every Monday 08:00 UTC
workflow_dispatch:
jobs:
pre-commit:
name: Pre-commit checks
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6.0.2
- name: Configure git auth for private packages
uses: ./.github/actions/configure-git-auth
with:
token: ${{ secrets.GH_PAT }}
# Cache pre-commit environments and hooks
- name: Cache pre-commit environments
uses: actions/cache@v5
with:
path: ~/.cache/pre-commit
key: pre-commit-${{ runner.os }}-${{ hashFiles('.pre-commit-config.yaml') }}
restore-keys: |
pre-commit-${{ runner.os }}-
- name: Run pre-commit
run: |
make fmt
deptry:
name: Check dependencies with deptry
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6.0.2
- name: Install uv
uses: astral-sh/setup-uv@v7.6.0
with:
version: "0.10.12"
- name: Configure git auth for private packages
uses: ./.github/actions/configure-git-auth
with:
token: ${{ secrets.GH_PAT }}
- name: Run deptry
run: make deptry
# NOTE: make deptry is good style because it encapsulates the folders to check
# (e.g. src and docs/marimo) and keeps CI in sync with local development.
# Since we have uv/uvx installed, the Makefile is optimised to use the
# pre-installed 'uv' and 'uvx' from the system PATH.
docs-coverage:
name: Check docstring coverage with interrogate
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6.0.2
- name: Install uv
uses: astral-sh/setup-uv@v7.6.0
with:
version: "0.10.12"
- name: Configure git auth for private packages
uses: ./.github/actions/configure-git-auth
with:
token: ${{ secrets.GH_PAT }}
- name: Run docs-coverage
run: make docs-coverage
# NOTE: make docs-coverage uses interrogate to enforce 100% docstring
# coverage on all public methods. Configuration is read from
# [tool.interrogate] in pyproject.toml.
link-check:
name: Check links in README.md
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Check links in README.md
uses: lycheeverse/lychee-action@v2
with:
args: >-
--verbose
--no-progress
--accept 200,206,429
README.md
fail: true