quivr/.github/workflows/backend-tests.yml
2023-11-13 17:58:11 +01:00

76 lines
2.0 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 system dependencies
run: sudo apt-get update && sudo apt-get install -y libcurl4-openssl-dev
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install pytest pytest-emoji pytest-md pytest-mock
pip install pyright
if [ -f requirements.txt ]; then pip install -r requirements.txt; fi
- name: Run pytest
uses: pavelzw/pytest-action@v2
with:
verbose: true
emoji: true
job-summary: true
click-to-expand: false
report-title: 'Test Report'
env:
SUPABASE_URL: ${{secrets.SUPABASE_URL}}
SUPABASE_SERVICE_KEY: ${{secrets.SUPABASE_SERVICE_KEY}}
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}}
CELERY_BROKER_URL: ${{secrets.CELERY_BROKER_URL}}