mirror of
https://github.com/microsoft/agent-framework.git
synced 2026-06-16 21:04:09 +08:00
d5e240b375
* Update github_copilot package for github-copilot-sdk>=0.1.32 (#4549) - Update requires-python from >=3.10 to >=3.11 - Remove Python 3.10 classifier - Update mypy python_version to 3.11 - Update dependency to github-copilot-sdk>=0.1.32 - Fix ToolResult API: use snake_case kwargs (text_result_for_llm, result_type) instead of camelCase (textResultForLlm, resultType) - Update test assertions to use attribute access on ToolResult - Add ToolResult type assertions to tool handler tests Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Fix tests to use ToolInvocation dataclass instead of plain dict (#4549) Update test_github_copilot_agent.py to pass ToolInvocation objects to tool handlers instead of plain dicts, matching the github-copilot-sdk>=0.1.32 API where ToolInvocation is a dataclass with an .arguments attribute. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Add regression tests for ToolInvocation contract (#4549) Add tests to lock in the new ToolInvocation-based calling convention: - test_tool_handler_rejects_raw_dict_invocation: verifies passing a raw dict (old calling convention) raises TypeError/AttributeError - test_tool_handler_with_empty_arguments: verifies ToolInvocation with empty arguments works correctly for no-arg tools Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Revert requires-python to >=3.10 to avoid breaking CI (#4549) The repo CI runs with Python 3.10 (uv sync --all-packages) and all other packages require >=3.10. Raising this package to >=3.11 would break the shared install flow. The SDK dependency version constraint (>=0.1.32) will enforce any Python version requirement from the SDK itself. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Fix min Python version for github_copilot package to >=3.11 github-copilot-sdk>=0.1.32 requires Python>=3.11, which conflicts with the package's declared >=3.10 minimum, breaking uv sync. * Bump py version for GH workflows to 3.11, exclude GHCP sdk from 3.10 items * Fix uv command * Fixes * Update samples --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
44 lines
1.5 KiB
YAML
44 lines
1.5 KiB
YAML
name: Reusable Setup UV
|
|
description: Reusable workflow to setup uv environment
|
|
|
|
inputs:
|
|
python-version:
|
|
description: The Python version to set up
|
|
required: true
|
|
os:
|
|
description: The operating system to set up
|
|
required: true
|
|
exclude-packages:
|
|
description: Space-separated list of packages to exclude from uv sync
|
|
required: false
|
|
default: ''
|
|
|
|
runs:
|
|
using: "composite"
|
|
steps:
|
|
- name: Set up uv
|
|
uses: astral-sh/setup-uv@v6
|
|
with:
|
|
version-file: "python/pyproject.toml"
|
|
enable-cache: true
|
|
cache-suffix: ${{ inputs.os }}-${{ inputs.python-version }}
|
|
cache-dependency-glob: "**/uv.lock"
|
|
- name: Exclude incompatible workspace packages
|
|
if: ${{ inputs.exclude-packages != '' }}
|
|
shell: bash
|
|
run: |
|
|
for pkg in ${{ inputs.exclude-packages }}; do
|
|
for f in python/packages/*/pyproject.toml; do
|
|
if grep -q "name = \"$pkg\"" "$f"; then
|
|
pkg_dir=$(dirname "$f" | sed 's|python/||')
|
|
echo "Excluding workspace package: $pkg ($pkg_dir)"
|
|
sed -i.bak '/\[tool\.uv\.workspace\]/a\exclude = ["'"$pkg_dir"'"]' python/pyproject.toml
|
|
sed -i.bak '/'"$pkg"' = { workspace = true }/d' python/pyproject.toml
|
|
fi
|
|
done
|
|
done
|
|
- name: Install the project
|
|
shell: bash
|
|
run: |
|
|
cd python && uv sync --all-packages --all-extras --dev -U --prerelease=if-necessary-or-explicit
|