feat: add multi-provider LLM and embedding support #10
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: CI | |
| on: | |
| push: | |
| branches: [ main, develop ] | |
| pull_request: | |
| branches: [ main ] | |
| jobs: | |
| test-backend: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| matrix: | |
| python-version: [3.11, 3.12] | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Install uv | |
| uses: astral-sh/setup-uv@v3 | |
| with: | |
| version: "latest" | |
| - name: Set up Python ${{ matrix.python-version }} | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| - name: Install dependencies | |
| run: | | |
| cd backend | |
| uv sync | |
| - name: Start backend server | |
| run: | | |
| cd backend | |
| uv run python main.py & | |
| sleep 5 | |
| env: | |
| ARK_API_TOKEN: mock-token-for-testing | |
| - name: Run health check | |
| run: | | |
| curl -f http://localhost:8000/health || exit 1 | |
| curl -f http://localhost:8000/stats || exit 1 | |
| - name: Run test data generator | |
| run: | | |
| cd backend | |
| uv run python ../demo/test-data-generator.py | |
| - name: Run validation tests | |
| run: | | |
| cd backend | |
| uv run python ../demo/quick-test.py | |
| - name: Run performance tests | |
| run: | | |
| cd backend | |
| uv run python ../demo/test_backend.py | |
| validate-extension: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Validate manifest.json | |
| run: | | |
| cd extension | |
| python -m json.tool manifest.json > /dev/null | |
| echo "✅ manifest.json is valid JSON" | |
| - name: Check required files | |
| run: | | |
| cd extension | |
| test -f manifest.json || (echo "❌ manifest.json missing" && exit 1) | |
| test -f newtab/index.html || (echo "❌ newtab/index.html missing" && exit 1) | |
| test -f newtab/app.js || (echo "❌ newtab/app.js missing" && exit 1) | |
| test -f newtab/styles.css || (echo "❌ newtab/styles.css missing" && exit 1) | |
| echo "✅ All required extension files present" |