Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
35 changes: 12 additions & 23 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -1,37 +1,26 @@
name: PR tests
name: Tests
on:
pull_request:
paths:
- 'ml_orchestrator/**'
- 'tests/**'
- '.github/workflows/ci.yml'
- 'pyproject.toml'
- 'uv.lock'
workflow_dispatch:


jobs:
tests:
pytest:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ ubuntu-latest, macos-latest, windows-latest ]
python-version: [ '3.9', '3.10', '3.11', '3.12', '3.13' ]
steps:
- uses: actions/checkout@v4
- run: pipx install poetry
- run: poetry check
- uses: actions/setup-python@v5
- uses: astral-sh/setup-uv@v6
with:
python-version: ${{ matrix.python-version }}
cache: poetry
enable-cache: true
- run: uv python install ${{ matrix.python-version }}
- run: make test

- run: poetry install --all-extras
- run: poetry run pytest
continue-on-error: true
check-docs-build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: pipx install poetry
- run: poetry check
- uses: actions/setup-python@v5
with:
python-version: '3.11'
cache: poetry
- run: make
- run: make doc
23 changes: 14 additions & 9 deletions .github/workflows/code-checks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,19 +4,24 @@ on:
pull_request:
workflow_dispatch:
jobs:
lint:
name: Code Check
pre-commit-hooks:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4
- run: pipx install poetry
- uses: actions/setup-python@v5
- uses: astral-sh/setup-uv@v6
with:
python-version: ${{ matrix.python-version }}
cache: poetry


- run: make
enable-cache: true
- run: uv python install 3.12
- run: make check

typecheck:
name: Types Check
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: astral-sh/setup-uv@v6
with:
enable-cache: true
- run: uv python install 3.12
- run: make mypy
10 changes: 4 additions & 6 deletions .github/workflows/codecov.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,16 +11,14 @@ on:
workflow_dispatch:
jobs:
upload-coverage-report:
name: Upload Report
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: pipx install poetry
- uses: actions/setup-python@v5
- uses: astral-sh/setup-uv@v6
with:
python-version: '3.11'
cache: poetry

- run: make
enable-cache: true
- run: uv python install 3.12
- run: make coverage
- uses: codecov/codecov-action@v5
with:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/copilot-setup-steps.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,4 +16,4 @@ jobs:
with:
enable-cache: true
- run: uv python install 3.11
- run: uv sync --all-extras --all-groups --frozen
- run: make
24 changes: 6 additions & 18 deletions .github/workflows/docs.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
name: Publish docs
name: Doc-Test
on:
release:
types: [ published ]
pull_request:
workflow_dispatch:

permissions:
Expand All @@ -16,19 +15,8 @@ jobs:

steps:
- uses: actions/checkout@v4
- run: pipx install poetry
- run: poetry check
- uses: actions/setup-python@v5
- uses: astral-sh/setup-uv@v6
with:
python-version: '3.11'
cache: poetry

- run: make
- run: make doc

- name: Deploy
uses: peaceiris/actions-gh-pages@v4
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./docs/build
keep_files: true
enable-cache: true
- run: uv python install 3.12
- run: make doctest
14 changes: 5 additions & 9 deletions .github/workflows/parsing-checks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,11 +10,9 @@ jobs:

steps:
- uses: actions/checkout@v4
- run: pipx install poetry
- uses: actions/setup-python@v5
- uses: astral-sh/setup-uv@v6
with:
python-version: ${{ matrix.python-version }}
cache: poetry
enable-cache: true


- run: make
Expand All @@ -36,13 +34,11 @@ jobs:

steps:
- uses: actions/checkout@v4
- run: pipx install poetry
- run: poetry check
- uses: actions/setup-python@v5
- uses: astral-sh/setup-uv@v6
with:
python-version: '3.11'
enable-cache: true

- run: poetry build
- run: uv build
- run: pip install dist/*.whl
- run: python -m dummy_components.check_imports
continue-on-error: true
14 changes: 6 additions & 8 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,9 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: pipx install poetry
- uses: actions/setup-python@v5
- run: poetry install --all-extras
- run: poetry run pytest
- run: poetry version ${{ github.ref_name }}
- run: poetry build
- run: poetry config pypi-token.pypi ${{ secrets.PYPI_API_TOKEN }}
- run: poetry publish
- uses: astral-sh/setup-uv@v6
- run: uv python install 3.11
- run: make
- run: make test
- run: uv build
- run: uv publish --token ${{ secrets.PYPI_API_TOKEN }}
41 changes: 27 additions & 14 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -3,22 +3,35 @@
default: install

install:
poetry install --all-extras --all-groups
# poetry run pre-commit autoupdate
poetry run pre-commit install
uv sync --all-extras --all-groups --frozen
uvx pre-commit install

test:
poetry run pytest
coverage:
poetry run pytest --cov=ml_orchestrator --cov-report=xml --junitxml=junit.xml -o junit_family=legacy
update:
uv lock
uvx pre-commit autoupdate
$(MAKE) install

cov:
poetry run pytest --cov=ml_orchestrator --cov-report=term-missing
test: install
uv run pytest

check:
poetry run pre-commit run --all-files
mypy:
poetry run mypy ml_orchestrator --config-file pyproject.toml
coverage: install
uv run pytest --cov=ml_orchestrator --cov-report=xml --junitxml=junit.xml -o junit_family=legacy

cov: install
uv run pytest --cov=ml_orchestrator --cov-report=term-missing

check: install
uvx pre-commit run --all-files

mypy: install
uv run mypy ml_orchestrator --config-file pyproject.toml

doctest: install-docs doc

install-docs:
uv sync --group docs --frozen --no-group dev

doc:
poetry run sphinx-build -M html docs/source docs/build/
uv run --no-sync sphinx-build -M html docs/source docs/build/ -W --keep-going --fresh-env

check-all: check test mypy doc
Loading
Loading