mirror of
https://github.com/crowetic/nc-talk-ai.git
synced 2026-09-07 15:42:31 +00:00
Talk AI is a multi-bot AI assistant manager for Nextcloud Talk: per-bot prompts and models, agentic tool calling (MCP + built-in tools), RAG over Nextcloud files, room-document search, vision and speech-to-text attachments, persistent bot wikis, approval workflows, rate limiting, and multi-provider LLM support (any OpenAI-compatible endpoint). Developed within EDUC - the European Digital UniverCity (https://educalliance.eu), where it runs as the 'EDUC AI' assistant on the alliance-wide Nextcloud portal. This public repository is the upstream point of truth; deployment-specific tools plug in via the tool-provider extension point (docs/TOOL_PROVIDERS.md). License: AGPL-3.0-or-later.
81 lines
2.5 KiB
YAML
81 lines
2.5 KiB
YAML
name: "Tests"
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- "main"
|
|
- "master"
|
|
pull_request: null
|
|
|
|
jobs:
|
|
unit-tests:
|
|
runs-on: "ubuntu-latest"
|
|
name: "Unit Tests on PHP ${{ matrix.php }} and ${{ matrix.tools }}"
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
php:
|
|
- "7.2"
|
|
- "7.3"
|
|
- "7.4"
|
|
- "8.0"
|
|
- "8.1"
|
|
tools: [ "composer" ]
|
|
dependency-versions: [ "highest" ]
|
|
include:
|
|
- php: "7.2"
|
|
tools: "composer:v2.0"
|
|
dependency-versions: "lowest"
|
|
|
|
steps:
|
|
- name: "Check out repository code"
|
|
uses: "actions/checkout@v2"
|
|
|
|
- name: "Setup PHP"
|
|
uses: "shivammathur/setup-php@v2"
|
|
with:
|
|
php-version: "${{ matrix.php }}"
|
|
tools: "${{ matrix.tools }}"
|
|
|
|
- name: "Install Composer dependencies"
|
|
uses: "ramsey/composer-install@v2"
|
|
with:
|
|
dependency-versions: "${{ matrix.dependency-versions }}"
|
|
|
|
- name: "Validate composer.json"
|
|
run: "composer validate --strict --no-check-lock"
|
|
|
|
- name: "Run tests"
|
|
run: "vendor/bin/phpunit --group default"
|
|
|
|
e2e-tests:
|
|
runs-on: "ubuntu-latest"
|
|
name: "E2E Tests on PHP ${{ matrix.php }}"
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
php:
|
|
- "8.1"
|
|
|
|
steps:
|
|
- name: "Check out repository code"
|
|
uses: "actions/checkout@v2"
|
|
|
|
- name: "Setup PHP"
|
|
uses: "shivammathur/setup-php@v2"
|
|
with:
|
|
php-version: "${{ matrix.php }}"
|
|
tools: "composer"
|
|
|
|
- name: "Correct bin plugin version for e2e scenarios (PR-only)"
|
|
if: github.event_name == 'pull_request'
|
|
run: find e2e -maxdepth 1 -mindepth 1 -type d -exec bash -c "cd {} && composer require --dev bamarni/composer-bin-plugin:dev-${GITHUB_SHA} --no-update" \;
|
|
|
|
- name: "Install Composer dependencies"
|
|
uses: "ramsey/composer-install@v2"
|
|
with:
|
|
dependency-versions: "highest"
|
|
|
|
- name: "Run tests"
|
|
run: "vendor/bin/phpunit --group e2e"
|