Skip to content

chore(deps): bump gitpython from 3.1.52 to 3.1.54 #298

chore(deps): bump gitpython from 3.1.52 to 3.1.54

chore(deps): bump gitpython from 3.1.52 to 3.1.54 #298

Workflow file for this run

name: CI
on:
push:
branches: [main, develop]
pull_request:
branches: [main, develop]
workflow_dispatch:
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
pre-commit:
name: Pre-commit checks
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7
- name: Set up Python
uses: actions/setup-python@v7
with:
python-version: '3.12'
- name: Install uv
uses: astral-sh/setup-uv@v7
with:
enable-cache: true
cache-dependency-glob: "uv.lock"
- name: Install dependencies
run: uv sync --all-extras --dev
- name: Run pre-commit
run: uv run pre-commit run --all-files
test:
name: Test Python ${{ matrix.python-version }}
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
python-version: ['3.10', '3.12']
steps:
- uses: actions/checkout@v7
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v7
with:
python-version: ${{ matrix.python-version }}
- name: Install uv
uses: astral-sh/setup-uv@v7
with:
enable-cache: true
cache-dependency-glob: "uv.lock"
- name: Install dependencies
run: uv sync --all-extras --dev
- name: Run tests
# Neo4j-backed tests need Docker; they run in the neo4j-integration job.
run: uv run pytest -m "not neo4j" --cov=docling_graph --cov-report=xml --cov-report=term tests/
- name: Upload coverage to Codecov
if: matrix.python-version == '3.12'
uses: codecov/codecov-action@v7
with:
file: ./coverage.xml
flags: unittests
name: codecov-umbrella
fail_ci_if_error: false
token: ${{ secrets.CODECOV_TOKEN }}
type-check:
name: Type checking
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7
- name: Set up Python
uses: actions/setup-python@v7
with:
python-version: '3.12'
- name: Install uv
uses: astral-sh/setup-uv@v7
with:
enable-cache: true
cache-dependency-glob: "uv.lock"
- name: Install dependencies
run: uv sync --all-extras --dev
- name: Run mypy
run: uv run mypy docling_graph
lint:
name: Linting
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7
- name: Set up Python
uses: actions/setup-python@v7
with:
python-version: '3.12'
- name: Install uv
uses: astral-sh/setup-uv@v7
with:
enable-cache: true
cache-dependency-glob: "uv.lock"
- name: Install dependencies
run: uv sync --all-extras --dev
- name: Run ruff format check
run: uv run ruff format --check .
- name: Run ruff linter
run: uv run ruff check .
neo4j-integration:
name: Neo4j integration
runs-on: ubuntu-latest
# Kept out of the test matrix so the common path stays Docker-free, and out
# of the build gate so a database hiccup cannot block the distribution.
# Failures still surface on the PR.
services:
neo4j:
image: neo4j:5.26
env:
NEO4J_AUTH: neo4j/testpassword
ports:
- 7687:7687
options: >-
--health-cmd "cypher-shell -u neo4j -p testpassword 'RETURN 1'"
--health-interval 10s
--health-timeout 5s
--health-retries 12
--health-start-period 30s
steps:
- uses: actions/checkout@v7
- name: Set up Python
uses: actions/setup-python@v7
with:
python-version: '3.12'
- name: Install uv
uses: astral-sh/setup-uv@v7
with:
enable-cache: true
cache-dependency-glob: "uv.lock"
- name: Install dependencies
run: uv sync --all-extras --dev
- name: Run Neo4j-backed tests
# NEO4J_TEST_URI points at the service container, so the tests use it
# directly instead of starting a testcontainers instance.
env:
NEO4J_TEST_URI: bolt://localhost:7687
NEO4J_TEST_AUTH: neo4j/testpassword
run: uv run pytest -m neo4j tests/
build:
name: Build distribution
runs-on: ubuntu-latest
needs: [pre-commit, test, type-check, lint]
steps:
- uses: actions/checkout@v7
- name: Set up Python
uses: actions/setup-python@v7
with:
python-version: '3.12'
- name: Install uv
uses: astral-sh/setup-uv@v7
- name: Build package
run: uv build
- name: Upload artifacts
uses: actions/upload-artifact@v7
with:
name: dist
path: dist/