style(pipelines): apply ruff --fix to src/pipelines #12
Workflow file for this run
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: Python Tests (consolidated) | |
| on: | |
| push: | |
| branches: [ main ] | |
| pull_request: | |
| branches: [ main ] | |
| workflow_dispatch: | |
| inputs: | |
| run_providers: | |
| description: 'Set to true to run the providers matrix (manual run)' | |
| required: false | |
| default: 'false' | |
| jobs: | |
| static-analysis: | |
| name: Static analysis & unit tests (one python) | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Set up Python | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: '3.11' | |
| - name: Cache pip | |
| uses: actions/cache@v4 | |
| with: | |
| path: ~/.cache/pip | |
| key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }} | |
| restore-keys: | | |
| ${{ runner.os }}-pip- | |
| - name: Install dependencies for static | |
| run: | | |
| python -m pip install --upgrade pip | |
| pip install -r requirements.txt | |
| pip install pytest pytest-cov mypy | |
| - name: Run ruff (lint) | |
| run: | | |
| python -m pip install ruff | |
| python -m ruff check src/ | |
| - name: Run unit tests with coverage | |
| run: | | |
| PYTHONPATH=. pytest --cov=src/ --cov-report=xml | |
| - name: Upload coverage to Codecov | |
| uses: codecov/codecov-action@v4 | |
| with: | |
| files: ./coverage.xml | |
| fail_ci_if_error: false | |
| token: ${{ secrets.CODECOV_TOKEN }} | |
| - name: Run mypy static analysis | |
| run: mypy src/ --ignore-missing-imports --exclude "src/llm/router.py" | |
| tests: | |
| name: Run tests matrix | |
| runs-on: ubuntu-latest | |
| strategy: | |
| matrix: | |
| python-version: [3.11, 3.12] | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Set up Python | |
| uses: actions/setup-python@v4 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| - name: Cache pip | |
| uses: actions/cache@v4 | |
| with: | |
| path: ~/.cache/pip | |
| key: ${{ runner.os }}-pip-${{ matrix.python-version }}-${{ hashFiles('**/requirements.txt') }} | |
| restore-keys: | | |
| ${{ runner.os }}-pip- | |
| - name: Install dependencies | |
| run: | | |
| python -m pip install --upgrade pip | |
| python -m venv .venv_ci | |
| . .venv_ci/bin/activate | |
| pip install --upgrade pip setuptools wheel | |
| pip install -r requirements.txt | |
| - name: Run tests | |
| env: | |
| PYTHONPATH: . | |
| run: | | |
| python -m pytest -q | |
| deepagent-test: | |
| name: DeepAgent focused tests (fast) | |
| runs-on: ubuntu-latest | |
| needs: tests | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Set up Python | |
| uses: actions/setup-python@v4 | |
| with: | |
| python-version: 3.12 | |
| - name: Cache pip | |
| uses: actions/cache@v4 | |
| with: | |
| path: ~/.cache/pip | |
| key: ${{ runner.os }}-pip-3.12-${{ hashFiles('**/requirements.txt') }} | |
| restore-keys: | | |
| ${{ runner.os }}-pip- | |
| - name: Install test deps only | |
| run: | | |
| python -m pip install --upgrade pip | |
| python -m venv .venv_ci | |
| . .venv_ci/bin/activate | |
| pip install --upgrade pip setuptools wheel | |
| pip install pytest python-dotenv | |
| - name: Run deepagent unit tests | |
| env: | |
| PYTHONPATH: . | |
| run: | | |
| python -m pytest -q test/unit/test_deepagent.py test/unit/test_deepagent_providers.py | |
| provider-smoke: | |
| name: Provider smoke (manual) | |
| runs-on: ubuntu-latest | |
| if: github.event_name == 'workflow_dispatch' | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Set up Python | |
| uses: actions/setup-python@v4 | |
| with: | |
| python-version: 3.12 | |
| - name: Install provider packages | |
| run: | | |
| python -m pip install --upgrade pip | |
| python -m venv .venv_ci | |
| . .venv_ci/bin/activate | |
| pip install --upgrade pip setuptools wheel | |
| pip install langchain-google-genai langchain-community langchain-ollama python-dotenv | |
| - name: Cache pip for provider-smoke | |
| uses: actions/cache@v4 | |
| with: | |
| path: ~/.cache/pip | |
| key: ${{ runner.os }}-pip-provider-smoke-${{ hashFiles('**/requirements.txt') }} | |
| restore-keys: | | |
| ${{ runner.os }}-pip- | |
| - name: Quick deepagent smoke (dry-run disabled) | |
| env: | |
| PYTHONPATH: . | |
| run: | | |
| python -c "from src.agents import deepagent; a=deepagent.SDLCFlexibleAgent(provider='gemini', model='chat-bison-001', dry_run=True); print('constructed', getattr(a, 'llm', None))" | |
| providers: | |
| name: Providers matrix (optional) | |
| runs-on: ubuntu-latest | |
| if: github.event_name == 'workflow_dispatch' && github.event.inputs.run_providers == 'true' | |
| strategy: | |
| matrix: | |
| provider: [gemini, openai, ollama] | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Cache pip | |
| uses: actions/cache@v4 | |
| with: | |
| path: ~/.cache/pip | |
| key: ${{ runner.os }}-pip-providers-${{ matrix.provider }}-${{ hashFiles('**/requirements.txt') }} | |
| restore-keys: | | |
| ${{ runner.os }}-pip- | |
| - name: Set up Python | |
| uses: actions/setup-python@v4 | |
| with: | |
| python-version: 3.12 | |
| - name: Install provider packages | |
| run: | | |
| python -m pip install --upgrade pip | |
| pip install -r requirements.txt | |
| pip install langchain-google-genai langchain-community langchain-ollama | |
| - name: Run provider smoke for matrix provider | |
| env: | |
| PYTHONPATH: . | |
| run: | | |
| python -c "from src.agents import deepagent; p='${{ matrix.provider }}'; d = deepagent.SDLCFlexibleAgent(provider=p, dry_run=True); print('provider', p, 'dry_run', getattr(d, 'dry_run', False))" |