Skip to content

Integration Tests

Integration Tests #4

name: Integration Tests
on:
workflow_dispatch:
schedule:
- cron: '0 6 * * *' # Nightly at 06:00 UTC
jobs:
integration-tests:
name: Integration + E2E Tests
runs-on: ubuntu-latest
if: github.repository == 'user/codebase-mentor' # Only run on main repo, not forks
steps:
- name: Check out repository
uses: actions/checkout@v4
- name: Set up Python 3.11
uses: actions/setup-python@v5
with:
python-version: '3.11'
cache: pip
- name: Install package from source
run: pip install -e '.[dev]'
- name: Run fast test suite
run: pytest --tb=short
- name: Run integration tests (slow)
env:
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
run: |
scripts/run_integration_tests.sh
continue-on-error: true
- name: Upload failure artifacts
if: failure()
uses: actions/upload-artifact@v4
with:
name: integration-failure-artifacts
path: artifacts/
retention-days: 14
if-no-files-found: ignore
fast-structure:
name: Fast Structure + Setup Checks
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, macos-latest]
python-version: ['3.11']
fail-fast: false
steps:
- name: Check out repository
uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
cache: pip
- name: Install package from source
run: pip install -e '.[dev]'
- name: Run fast tests (excludes slow)
run: pytest --tb=short -q