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