feat: add conversational sticky steps and goto for workflows #30720
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: Validation | |
| on: | |
| push: | |
| branches: | |
| - "main" | |
| - "v2.6.0" | |
| pull_request: | |
| types: | |
| - opened | |
| - synchronize | |
| - reopened | |
| branches: | |
| - "main" | |
| - "v2.6.0" | |
| - "feat/v2.7" # Sub-PRs into the release branch get the same gate | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| style-check-agno: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| matrix: | |
| python-version: ["3.10"] | |
| defaults: | |
| run: | |
| working-directory: libs/agno | |
| 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: | | |
| # Install the workspace agnoctl alongside agno so a just-bumped, | |
| # not-yet-published agnoctl version cannot break the resolve. | |
| python -m pip install -e ../agnoctl -e .[dev] | |
| - name: Ruff check | |
| run: | | |
| ruff check . | |
| - name: Mypy | |
| run: | | |
| mypy . --config-file pyproject.toml | |
| style-check-agnoctl: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| matrix: | |
| python-version: ["3.10"] | |
| defaults: | |
| run: | |
| working-directory: libs/agnoctl | |
| 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 -e .[dev] | |
| - name: Ruff check | |
| run: | | |
| ruff check . | |
| - name: Mypy | |
| run: | | |
| mypy . --config-file pyproject.toml | |
| - name: Run agnoctl tests | |
| run: | | |
| python -m pytest ./tests | |
| style-check-cookbook: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| matrix: | |
| python-version: ["3.10"] | |
| defaults: | |
| run: | |
| working-directory: cookbook | |
| 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 -e ../libs/agnoctl -e "../libs/agno/"[dev] | |
| - name: Ruff check | |
| run: | | |
| ruff check . | |
| # - name: Mypy | |
| # run: | | |
| # mypy . | |
| style-check-agno-infra: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| matrix: | |
| python-version: ["3.10"] | |
| defaults: | |
| run: | |
| working-directory: libs/agno_infra | |
| 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 -e .[dev] | |
| - name: Ruff check | |
| run: | | |
| ruff check . | |
| - name: Mypy | |
| run: | | |
| mypy . --config-file pyproject.toml | |
| tests: | |
| runs-on: ubuntu-latest | |
| # Skip push events if there's an open PR from the same branch | |
| if: github.event_name != 'push' || !github.event.pull_request | |
| strategy: | |
| matrix: | |
| group: [1, 2, 3, 4, 5] | |
| fail-fast: true | |
| name: tests (${{ matrix.group }}/5) | |
| steps: | |
| - uses: actions/checkout@v3 | |
| - name: Set up Python 3.12 | |
| uses: actions/setup-python@v4 | |
| with: | |
| python-version: "3.12" | |
| - name: Set up uv with cache | |
| uses: astral-sh/setup-uv@v6 | |
| with: | |
| enable-cache: true | |
| cache-dependency-glob: "libs/agno/pyproject.toml" | |
| - name: Run test setup | |
| working-directory: . | |
| run: | | |
| set -e | |
| ./scripts/test_setup.sh | |
| - name: Run tests (group ${{ matrix.group }}/5) | |
| working-directory: . | |
| env: | |
| AGNO_TELEMETRY: false | |
| run: | | |
| source .venv/bin/activate | |
| uv pip install pytest-split --quiet | |
| python -m pytest --splits 5 --group ${{ matrix.group }} ./libs/agno/tests/unit --ignore=libs/agno/tests/unit/models/litellm --ignore=libs/agno/tests/unit/tools/test_crawl4ai.py --ignore=libs/agno/tests/unit/tools/test_scrapegraph.py |