Skip to content

Build and test linkml-runtime with latest dependency versions #89

Build and test linkml-runtime with latest dependency versions

Build and test linkml-runtime with latest dependency versions #89

name: Build and test linkml-runtime with latest dependency versions
env:
UV_VERSION: "0.7.13"
on:
schedule:
- cron: '0 5 * * 1' # once per week on Monday at 05:00 UTC
workflow_dispatch:
# Allows you to run this workflow manually from the Actions tab
types: trigger-run-check-dependencies
jobs:
quality-checks:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@4.2.2
- name: Install uv
uses: astral-sh/setup-uv@v6
with:
version: ${{ env.UV_VERSION }}
enable-cache: true
- uses: actions/setup-python@v5.6.0
with:
python-version: 3.13
- name: Install tox
run: python -m pip install tox
- name: Run codespell
run: tox -e codespell
- name: Run code quality checks
run: tox -e lint
test:
needs:
- quality-checks
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, windows-latest]
python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"]
exclude:
- os: windows-latest
python-version: "3.10"
- os: windows-latest
python-version: "3.11"
- os: windows-latest
python-version: "3.12"
runs-on: ${{ matrix.os }}
steps:
- name: Install uv
uses: astral-sh/setup-uv@v6
with:
enable-cache: true
version: ${{ env.UV_VERSION }}
python-version: ${{ matrix.python-version }}
- name: Check out repository
uses: actions/checkout@v4.2.2
with:
# Fetch all history for all branches and all tags.
# The tags are required for dynamic versioning.
fetch-depth: 0
- name: Regenerate lock file with latest dependencies
run: uv lock --upgrade
- name: Install dependencies
run: uv sync --group dev
- name: Run tests
# Set bash shell to fail correctly on Windows https://github.com/actions/runner-images/issues/6668
shell: bash
run: uv run -m pytest --with-slow