mirror of
https://github.com/langbot-app/LangBot.git
synced 2026-10-30 20:35:22 +08:00
59 lines
2.4 KiB
YAML
59 lines
2.4 KiB
YAML
name: Plugins / KnowledgeEngine shared SDK verification
|
|
|
|
on:
|
|
push:
|
|
paths:
|
|
- "plugins/pytest.ini"
|
|
- 'plugins/KnowledgeEngine/**'
|
|
- '.github/workflows/plugins-knowledgeengine-shared-tests.yml'
|
|
pull_request:
|
|
paths:
|
|
- "plugins/pytest.ini"
|
|
- 'plugins/KnowledgeEngine/**'
|
|
- '.github/workflows/plugins-knowledgeengine-shared-tests.yml'
|
|
workflow_dispatch:
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
jobs:
|
|
candidate-sdk:
|
|
runs-on: ubuntu-latest
|
|
timeout-minutes: 20
|
|
defaults:
|
|
run:
|
|
working-directory: plugins
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- uses: actions/setup-python@v5
|
|
with:
|
|
python-version: '3.11'
|
|
- uses: astral-sh/setup-uv@v5
|
|
- name: Install released SDK and test dependencies
|
|
run: |
|
|
uv venv
|
|
uv pip install 'https://files.pythonhosted.org/packages/f2/c7/c870377771cbe27e047b19778b5f249b15efef52409358901af94d13e6c0/langbot_plugin-0.7.4-py3-none-any.whl#sha256=596ecd776c13efa6f6cfe178463dc4a967653238548c9569195cdbb5aa47506e' pytest pytest-asyncio \
|
|
-r KnowledgeEngine/LangRAG/requirements.txt \
|
|
-r KnowledgeEngine/DifyDatasetsConnector/requirements.txt \
|
|
-r KnowledgeEngine/FastGPTConnector/requirements.txt \
|
|
-r KnowledgeEngine/RAGFlowConnector/requirements.txt
|
|
- name: Behavioral regressions (fake Host and HTTP provider)
|
|
run: .venv/bin/python -m pytest KnowledgeEngine/certification-tests -q
|
|
- name: LangRAG legacy unit and benchmark fixtures
|
|
working-directory: plugins/KnowledgeEngine/LangRAG
|
|
run: ../../.venv/bin/python -m unittest discover -s tests -v
|
|
- name: LongTermMemory regressions
|
|
working-directory: plugins/KnowledgeEngine/LongTermMemory
|
|
run: PYTHONPATH=. ../../.venv/bin/python -m pytest tests -q
|
|
- name: Exact archives, real dependency prepare, discovery and RPC
|
|
run: .venv/bin/python KnowledgeEngine/certification-tests/verify_candidates.py --evidence "$RUNNER_TEMP/ke-evidence"
|
|
- name: Retain unsigned candidate evidence
|
|
if: always()
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: knowledgeengine-unsigned-candidates
|
|
path: |
|
|
${{ runner.temp }}/ke-evidence/*.json
|
|
${{ runner.temp }}/ke-evidence/*.log
|
|
${{ runner.temp }}/ke-evidence/packages/**/*.lbpkg
|