LightRAG/.github/workflows/test.yaml
Taddeus 2255b91210 Adds initial LightRAG app integration with schema and processors
Introduces the LightRAG Retrieval-Augmented Generation framework as an Apolo app, including input/output schemas, types, and processors.
Adds Helm chart value processing, environment and persistence configurations, and output service discovery for deployment.
Includes scripts for generating type schemas and testing support, along with CI and linting setup tailored for the new app.
Provides a documentation loader script to ingest markdown files into LightRAG with flexible referencing modes.

Relates to MLO-469
2025-11-03 13:59:52 +02:00

74 lines
2.1 KiB
YAML

on:
workflow_call: {}
jobs:
lint:
name: Lint
runs-on: ubuntu-latest
steps:
- name: Checkout commit
uses: actions/checkout@v4
- name: Install python
uses: actions/setup-python@v5
with:
python-version: 3.12
- name: Cache pre-commit hooks
uses: actions/cache@v4
with:
path: ~/.cache/pre-commit
key: pre-commit|py3.12|${{ hashFiles('.pre-commit-config.yaml') }}
- name: Install Poetry
run: pip install poetry
- name: Setup Python dependencies cache
uses: actions/cache@v4
with:
path: ~/.cache/pypoetry
key: poetry-${{ hashFiles('**/poetry.lock') }}
restore-keys: |
poetry-
- name: Install dependencies
run: make install
- name: Add local venv to PATH
run: echo "${{ github.workspace }}/.venv/bin" >> $GITHUB_PATH
- name: Lint
run: |
echo "::add-matcher::.github/actionlint-matcher.json"
make lint
test-unit:
name: Unit tests
runs-on: ubuntu-latest
steps:
- name: Checkout commit
uses: actions/checkout@v4
- name: Install python
uses: actions/setup-python@v5
with:
python-version-file: .python-version
cache: pip
- name: Install Poetry
run: pip install poetry
- name: Setup Python dependencies cache
uses: actions/cache@v4
with:
path: ~/.cache/pypoetry
key: poetry-${{ hashFiles('**/poetry.lock') }}
restore-keys: |
poetry-
- name: Install dependencies
run: make setup
- name: Add local venv to PATH
run: echo "${{ github.workspace }}/.venv/bin" >> $GITHUB_PATH
- name: Run unit tests
run: make test-unit
check:
name: Check
needs:
- lint
runs-on: ubuntu-latest
if: always()
steps:
- name: Decide whether the needed jobs succeeded or failed
uses: re-actors/alls-green@release/v1
with:
jobs: ${{ toJSON(needs) }}