quivr/.github/workflows/backend-tests.yml

71 lines
1.8 KiB
YAML

name: Backend Tests
on:
push:
branches: [main]
paths:
- 'backend/**'
pull_request:
branches: [main]
paths:
- 'backend/**'
workflow_dispatch:
inputs:
logLevel:
description: 'Log level'
required: true
default: 'warning'
type: choice
options:
- info
- warning
- debug
tags:
description: 'Test scenario tags'
required: false
type: boolean
environment:
description: 'Environment to run tests against'
type: environment
required: false
jobs:
build:
runs-on: ubuntu-latest
defaults:
run:
working-directory: ./backend
environment: preview
strategy:
matrix:
python-version: ["3.11"]
steps:
- uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
cache: "pip"
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install pytest
pip install pyright
if [ -f requirements.txt ]; then pip install -r requirements.txt; fi
- name: Test with pytest
env:
SUPABASE_URL: ${{secrets.SUPABASE_URL}}
SUPABASE_SERVICE_KEY: ${{secrets.SUPABASE_SERVICE_KEY}}
PG_DATABASE_URL: ${{secrets.PG_DATABASE_URL}}
OPENAI_API_KEY: ${{secrets.OPENAI_API_KEY}}
ANTHROPIC_API_KEY: ${{secrets.ANTHROPIC_API_KEY}}
JWT_SECRET_KEY: ${{secrets.JWT_SECRET_KEY}}
CI_TEST_API_KEY: ${{secrets.CI_TEST_API_KEY}}
run: |
python -m pytest tests/
- name: Static type checking with pyright
run: |
pyright