Skip to content

feat: lazy-loading relationships with lookup tool and graph walk #48

feat: lazy-loading relationships with lookup tool and graph walk

feat: lazy-loading relationships with lookup tool and graph walk #48

Workflow file for this run

name: CI and Publish to PyPI
on:
push:
branches: [main]
paths-ignore:
- "*.md"
- "docs/**"
- "LICENSE"
- ".gitignore"
pull_request:
paths-ignore:
- "*.md"
- "docs/**"
- "LICENSE"
- ".gitignore"
release:
types: [created]
workflow_dispatch:
inputs:
run_publish:
description: 'Set to true to run the publish job'
required: false
default: 'false'
jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
- uses: astral-sh/setup-uv@cec208311dfd045dd5311c1add060b2062131d57 # v8.0.0
with:
enable-cache: true
cache-dependency-glob: "pyproject.toml"
- run: uv python install 3.13
- run: uv sync --all-extras --dev
- run: uv run ruff check src/ tests/
- run: uv run ruff format --check src/ tests/
test:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.12", "3.13"]
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
- uses: astral-sh/setup-uv@cec208311dfd045dd5311c1add060b2062131d57 # v8.0.0
with:
enable-cache: true
cache-dependency-glob: "pyproject.toml"
- run: uv python install ${{ matrix.python-version }}
- run: uv sync --all-extras --dev
- run: uv run pytest --cov=agentic_data_contracts --cov-report=term-missing
publish:
needs: [lint, test]
if: github.event_name == 'release' || (github.event_name == 'workflow_dispatch' && github.event.inputs.run_publish == 'true')
runs-on: ubuntu-latest
permissions:
id-token: write
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
- uses: astral-sh/setup-uv@cec208311dfd045dd5311c1add060b2062131d57 # v8.0.0
with:
enable-cache: true
- run: uv python install 3.13
- run: uv build --no-sources
- uses: pypa/gh-action-pypi-publish@6733eb7d741f0b11ec6a39b58540dab7590f9b7d # v1.14.0