Skip to content

Support typed sibling bindings for fidelity ladders #25

Support typed sibling bindings for fidelity ladders

Support typed sibling bindings for fidelity ladders #25

Workflow file for this run

name: CI
on:
push:
branches: [main]
pull_request:
workflow_dispatch:
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
env:
FORCE_COLOR: "1"
jobs:
lint:
name: lint & typecheck
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
with:
fetch-depth: 0
- uses: astral-sh/setup-uv@v7
with:
enable-cache: true
- run: uv sync --all-extras --group dev
- run: uv run ruff check --output-format=github .
- run: uv run ruff format --check .
- run: uv run mypy
test:
name: test ${{ matrix.python }}
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
python: ["3.11", "3.12", "3.13"]
steps:
- uses: actions/checkout@v5
with:
fetch-depth: 0
- uses: astral-sh/setup-uv@v7
with:
enable-cache: true
python-version: ${{ matrix.python }}
- run: uv sync --group test
- run: uv run pytest -m "not parse and not api and not conformance" --cov --cov-report=xml
- uses: codecov/codecov-action@v5
if: matrix.python == '3.12'
with:
fail_ci_if_error: false
token: ${{ secrets.CODECOV_TOKEN }}
parse:
name: parse round-trip (sysmlpy)
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
with:
fetch-depth: 0
- uses: astral-sh/setup-uv@v7
with:
enable-cache: true
python-version: "3.12"
- run: uv sync --extra parse --group test --group parse-test
- run: uv run pytest -m "parse"
docs:
name: docs build
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
with:
fetch-depth: 0
- uses: astral-sh/setup-uv@v7
with:
enable-cache: true
- run: uv sync --group docs
- run: uv run mkdocs build --strict
package:
name: build & inspect
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
with:
fetch-depth: 0
- uses: hynek/build-and-inspect-python-package@v2