Skip to content

Update on the templates #749

Update on the templates

Update on the templates #749

Workflow file for this run

# This workflow will install Python dependencies, run tests and lint with a single version of Python
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions
name: CI
on:
push:
branches: [ main, dev ]
pull_request:
branches: [ main, dev ]
release:
types: [published]
permissions:
contents: read
jobs:
pre-commit:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
submodules: true
- name: Set up Python 3.10
uses: actions/setup-python@v5
with:
python-version: "3.10"
- name: Install uv
uses: astral-sh/setup-uv@v5
with:
enable-cache: true
- name: Sync workspace
run: uv sync
- name: Run pre-commit hooks
run: uv run pre-commit run --all-files
test-core:
name: Core Tests (Python ${{ matrix.python-version }})
runs-on: ubuntu-latest
needs: pre-commit
strategy:
matrix:
python-version: ["3.10", "3.11", "3.12", "3.13"]
steps:
- uses: actions/checkout@v4
with:
submodules: true
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Install uv
uses: astral-sh/setup-uv@v5
with:
enable-cache: true
- name: Sync workspace (core dependencies only)
run: uv sync
- name: Run core tests (excluding ontology)
run: uv run pytest -m "not ontology" -v
test-ontology:
name: Ontology Tests (Python ${{ matrix.python-version }})
runs-on: ubuntu-latest
needs: pre-commit
strategy:
matrix:
python-version: ["3.10", "3.11", "3.12", "3.13"]
steps:
- uses: actions/checkout@v4
with:
submodules: true
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Install uv
uses: astral-sh/setup-uv@v5
with:
enable-cache: true
- name: Sync workspace with ontology dependencies
run: uv sync --extra ontology
- name: Run ontology tests
run: uv run pytest -m "ontology" -v
publish:
runs-on: ubuntu-latest
needs: [test-core, test-ontology]
if: github.event_name == 'release' && github.event.action == 'published'
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
submodules: true
- name: Set up Python 3.10
uses: actions/setup-python@v5
with:
python-version: "3.10"
- name: Install uv
uses: astral-sh/setup-uv@v5
with:
enable-cache: true
- name: Build package
run: uv build
- name: Publish package
run: uv publish --token ${{ secrets.PYPI_API_TOKEN }}