Skip to content

Workspace restructure: libs/ + apps/, extract auropro-core & auropro-llm #3

Workspace restructure: libs/ + apps/, extract auropro-core & auropro-llm

Workspace restructure: libs/ + apps/, extract auropro-core & auropro-llm #3

Workflow file for this run

name: ci
on:
push:
branches: [main]
pull_request:
permissions:
contents: read
concurrency:
group: ci-${{ github.ref }}
cancel-in-progress: true
jobs:
checks:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: astral-sh/setup-uv@v5
with:
python-version: "3.11"
- name: Sync workspace
run: uv sync --all-packages --locked
- name: Lint
run: uv run ruff check .
- name: Type-check libs
run: |
(cd libs/core && uv run mypy src)
(cd libs/llm && uv run mypy src)
- name: Test libs/core
run: cd libs/core && uv run pytest -q
- name: Test libs/llm
run: cd libs/llm && uv run pytest -q
- name: Test apps/dla (unit)
run: cd apps/dla && uv run pytest tests/unit -q
- name: Test repo scripts
run: uv run pytest scripts/tests -q
- name: Workspace pin guard
run: uv run python scripts/check_workspace_pins.py
- name: License gate (denylist)
run: uv run python scripts/check_licenses.py
- name: License gate (allowlist)
run: |
IGNORE=$(grep -v '^#' scripts/license_ignore.txt | awk '{print $1}' | grep -v '^$' | tr '\n' ' ')
uv run pip-licenses --allow-only="MIT License;Apache Software License;BSD License;ISC License (ISCL);Python Software Foundation License;The Unlicense (Unlicense);BSD-3-Clause;BSD-2-Clause;Apache-2.0;MIT;Apache License 2.0;PSF-2.0;Apache-2.0 AND MIT;Apache-2.0 AND CNRI-Python;Apache-2.0 OR BSD-2-Clause;Apache Software License; BSD License;Apache Software License; MIT License;MIT OR Apache-2.0;BSD-3-Clause AND 0BSD AND MIT AND Zlib AND CC0-1.0" --ignore-packages $IGNORE
shell: bash