Integration Tests #4
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: 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 |