Repository navigation
Release v0.1.1 #2
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: Publish to PyPI | |
| on: | |
| release: | |
| types: [published] | |
| permissions: | |
| contents: read | |
| jobs: | |
| test: | |
| name: Test release source | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v4 | |
| - uses: astral-sh/setup-uv@d4b2f3b6ecc6e67c4457f6d3e41ec42d3d0fcb86 # v5 | |
| - uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0 | |
| with: | |
| python-version: "3.13" | |
| - run: uv sync --dev --locked | |
| - run: uv run ruff format --check | |
| - run: uv run ruff check | |
| - run: uv run ty check | |
| - run: uv run pytest -q -m "not live and not integration and not openai_compat_llm" | |
| build: | |
| name: Build release distributions | |
| needs: test | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v4 | |
| - uses: astral-sh/setup-uv@d4b2f3b6ecc6e67c4457f6d3e41ec42d3d0fcb86 # v5 | |
| - uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0 | |
| with: | |
| python-version: "3.13" | |
| - name: Verify release tag matches package version | |
| env: | |
| RELEASE_TAG: ${{ github.event.release.tag_name }} | |
| run: | | |
| PACKAGE_VERSION="$(uv run python -c 'import tomllib; print(tomllib.load(open("pyproject.toml", "rb"))["project"]["version"])')" | |
| test "$RELEASE_TAG" = "v$PACKAGE_VERSION" | |
| - run: uv build | |
| - uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4 | |
| with: | |
| name: release-distributions | |
| path: dist/ | |
| if-no-files-found: error | |
| verify-distributions: | |
| name: Verify built wheel and live SerpApi responses | |
| needs: build | |
| runs-on: ubuntu-latest | |
| env: | |
| SERPAPI_API_KEY: ${{ secrets.SERPAPI_API_KEY }} | |
| SERPAPI_KEY: ${{ secrets.SERPAPI_KEY }} | |
| steps: | |
| - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v4 | |
| - uses: astral-sh/setup-uv@d4b2f3b6ecc6e67c4457f6d3e41ec42d3d0fcb86 # v5 | |
| - uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0 | |
| with: | |
| python-version: "3.14" | |
| - uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1 | |
| with: | |
| name: release-distributions | |
| path: dist/ | |
| - run: uv venv --python 3.14 .release-venv | |
| - name: Install and smoke-test the exact release wheel | |
| run: | | |
| uv pip install --python .release-venv/bin/python dist/*.whl | |
| .release-venv/bin/python tests/clean_install_smoke.py | |
| - name: Require the live-test API key | |
| run: test -n "$SERPAPI_API_KEY" || test -n "$SERPAPI_KEY" | |
| - name: Run live search suite with the exact release wheel | |
| run: | | |
| uv pip install --python .release-venv/bin/python "pytest>=8.4,<9" | |
| .release-venv/bin/python -m pytest -q -m live tests/test_live.py | |
| framework-tests: | |
| name: Verify ${{ matrix.provider }} adapter | |
| needs: test | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| - provider: agno | |
| python-version: "3.14" | |
| tox-environment: integration-py314-agno | |
| - provider: autogen | |
| python-version: "3.14" | |
| tox-environment: integration-py314-autogen | |
| - provider: microsoft-agent-framework | |
| python-version: "3.14" | |
| tox-environment: integration-py314-microsoft-agent-framework | |
| - provider: claude-agent-sdk | |
| python-version: "3.14" | |
| tox-environment: integration-py314-claude-agent-sdk | |
| - provider: crewai | |
| python-version: "3.13" | |
| tox-environment: integration-py313-crewai | |
| - provider: google-adk | |
| python-version: "3.14" | |
| tox-environment: integration-py314-google-adk | |
| - provider: haystack | |
| python-version: "3.14" | |
| tox-environment: integration-py314-haystack | |
| - provider: langchain | |
| python-version: "3.14" | |
| tox-environment: integration-py314-langchain | |
| - provider: langgraph | |
| python-version: "3.13" | |
| tox-environment: integration-py313-langgraph | |
| - provider: llamaindex | |
| python-version: "3.14" | |
| tox-environment: integration-py314-llamaindex | |
| - provider: openai-agents | |
| python-version: "3.14" | |
| tox-environment: integration-py314-openai-agents | |
| - provider: pydantic-ai | |
| python-version: "3.14" | |
| tox-environment: integration-py314-pydantic-ai | |
| - provider: semantic-kernel | |
| python-version: "3.14" | |
| tox-environment: integration-py314-semantic-kernel | |
| - provider: smolagents | |
| python-version: "3.14" | |
| tox-environment: integration-py314-smolagents | |
| steps: | |
| - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v4 | |
| - uses: astral-sh/setup-uv@d4b2f3b6ecc6e67c4457f6d3e41ec42d3d0fcb86 # v5 | |
| - uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| - run: uv sync --dev --locked | |
| - run: uv run tox -e ${{ matrix.tox-environment }} | |
| publish: | |
| name: Publish release to PyPI | |
| needs: [verify-distributions, framework-tests] | |
| runs-on: ubuntu-latest | |
| environment: pypi | |
| permissions: | |
| id-token: write | |
| steps: | |
| - uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1 | |
| with: | |
| name: release-distributions | |
| path: dist/ | |
| - uses: pypa/gh-action-pypi-publish@dc37677b2e1c63e2034f94d8a5b11f265b73ba33 # release/v1 |