84d5a5eec1
* Bump AgentMemory from 1.2.0 to 1.3.0 --- updated-dependencies: - dependency-name: AgentMemory dependency-version: 1.3.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> * .NET: consolidate #7280 AgentMemory.AgentFramework 1.3.0 * Bump github/codeql-action/init from 4.37.0 to 4.37.3 Bumps [github/codeql-action/init](https://github.com/github/codeql-action) from 4.37.0 to 4.37.3. - [Release notes](https://github.com/github/codeql-action/releases) - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md) - [Commits](https://github.com/github/codeql-action/compare/99df26d4f13ea111d4ec1a7dddef6063f76b97e9...e4fba868fa4b1b91e1fdab776edc8cfbe6e9fb81) --- updated-dependencies: - dependency-name: github/codeql-action/init dependency-version: 4.37.3 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> * Bump astral-sh/setup-uv from 8.3.2 to 9.0.0 Bumps [astral-sh/setup-uv](https://github.com/astral-sh/setup-uv) from 8.3.2 to 9.0.0. - [Release notes](https://github.com/astral-sh/setup-uv/releases) - [Commits](https://github.com/astral-sh/setup-uv/compare/11f9893b081a58869d3b5fccaea48c9e9e46f990...c771a70e6277c0a99b617c7a806ffedaca235ff9) --- updated-dependencies: - dependency-name: astral-sh/setup-uv dependency-version: 9.0.0 dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> * Bump github/codeql-action/analyze from 4.37.0 to 4.37.3 Bumps [github/codeql-action/analyze](https://github.com/github/codeql-action) from 4.37.0 to 4.37.3. - [Release notes](https://github.com/github/codeql-action/releases) - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md) - [Commits](https://github.com/github/codeql-action/compare/99df26d4f13ea111d4ec1a7dddef6063f76b97e9...e4fba868fa4b1b91e1fdab776edc8cfbe6e9fb81) --- updated-dependencies: - dependency-name: github/codeql-action/analyze dependency-version: 4.37.3 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> * Bump actions/cache from 5.0.5 to 6.1.0 Bumps [actions/cache](https://github.com/actions/cache) from 5.0.5 to 6.1.0. - [Release notes](https://github.com/actions/cache/releases) - [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md) - [Commits](https://github.com/actions/cache/compare/27d5ce7f107fe9357f9df03efb73ab90386fccae...55cc8345863c7cc4c66a329aec7e433d2d1c52a9) --- updated-dependencies: - dependency-name: actions/cache dependency-version: 6.1.0 dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> * Bump actions/checkout from 6.0.2 to 7.0.1 Bumps [actions/checkout](https://github.com/actions/checkout) from 6.0.2 to 7.0.1. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/de0fac2e4500dabe0009e67214ff5f5447ce83dd...3d3c42e5aac5ba805825da76410c181273ba90b1) --- updated-dependencies: - dependency-name: actions/checkout dependency-version: 7.0.1 dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> * Bump astral-sh/setup-uv in /.github/actions/python-setup Bumps [astral-sh/setup-uv](https://github.com/astral-sh/setup-uv) from 8.3.2 to 9.0.0. - [Release notes](https://github.com/astral-sh/setup-uv/releases) - [Commits](https://github.com/astral-sh/setup-uv/compare/11f9893b081a58869d3b5fccaea48c9e9e46f990...c771a70e6277c0a99b617c7a806ffedaca235ff9) --- updated-dependencies: - dependency-name: astral-sh/setup-uv dependency-version: 9.0.0 dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> * Bump ty from 0.0.60 to 0.0.64 in /python Bumps [ty](https://github.com/astral-sh/ty) from 0.0.60 to 0.0.64. - [Release notes](https://github.com/astral-sh/ty/releases) - [Changelog](https://github.com/astral-sh/ty/blob/main/CHANGELOG.md) - [Commits](https://github.com/astral-sh/ty/compare/0.0.60...0.0.64) --- updated-dependencies: - dependency-name: ty dependency-version: 0.0.65 dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> * Bump prek from 0.4.10 to 0.4.11 in /python Bumps [prek](https://github.com/j178/prek) from 0.4.10 to 0.4.11. - [Release notes](https://github.com/j178/prek/releases) - [Changelog](https://github.com/j178/prek/blob/master/CHANGELOG.md) - [Commits](https://github.com/j178/prek/compare/v0.4.10...v0.4.11) --- updated-dependencies: - dependency-name: prek dependency-version: 0.4.11 dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> * Bump uv from 0.11.29 to 0.11.32 in /python Bumps [uv](https://github.com/astral-sh/uv) from 0.11.29 to 0.11.32. - [Release notes](https://github.com/astral-sh/uv/releases) - [Changelog](https://github.com/astral-sh/uv/blob/main/CHANGELOG.md) - [Commits](https://github.com/astral-sh/uv/compare/0.11.29...0.11.32) --- updated-dependencies: - dependency-name: uv dependency-version: 0.12.0 dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> * Bump ruff from 0.15.22 to 0.16.0 in /python Bumps [ruff](https://github.com/astral-sh/ruff) from 0.15.22 to 0.16.0. - [Release notes](https://github.com/astral-sh/ruff/releases) - [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md) - [Commits](https://github.com/astral-sh/ruff/compare/0.15.22...0.16.0) --- updated-dependencies: - dependency-name: ruff dependency-version: 0.16.0 dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> * update uv-build requirement in /python --- updated-dependencies: - dependency-name: uv-build dependency-version: 0.12.0 dependency-type: direct:development ... Signed-off-by: dependabot[bot] <support@github.com> * Python: align workspace pins for #7436-#7439 * Python: support ty 0.0.64 diagnostics for #7436 * Python: apply Ruff 0.16 formatting for #7439 * Update workflow action version annotations --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
947 lines
37 KiB
YAML
947 lines
37 KiB
YAML
name: Python - Sample Validation
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
schedule:
|
|
- cron: "0 0 * * *" # Run at midnight UTC daily
|
|
|
|
env:
|
|
# Configure a constant location for the uv cache
|
|
UV_CACHE_DIR: /tmp/.uv-cache
|
|
GITHUB_TOKEN: ${{ github.token }}
|
|
GITHUB_COPILOT_MODEL: auto
|
|
|
|
permissions:
|
|
copilot-requests: write
|
|
contents: read
|
|
id-token: write
|
|
|
|
jobs:
|
|
validate-01-get-started:
|
|
name: Validate 01-get-started
|
|
runs-on: ubuntu-latest
|
|
environment: integration
|
|
env:
|
|
# Required configuration for get-started samples
|
|
FOUNDRY_PROJECT_ENDPOINT: ${{ vars.FOUNDRY_PROJECT_ENDPOINT }}
|
|
FOUNDRY_MODEL: ${{ vars.FOUNDRY_MODEL }}
|
|
defaults:
|
|
run:
|
|
working-directory: python
|
|
steps:
|
|
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
|
|
|
- name: Setup environment
|
|
uses: ./.github/actions/sample-validation-setup
|
|
with:
|
|
azure-client-id: ${{ secrets.AZURE_CLIENT_ID }}
|
|
azure-tenant-id: ${{ secrets.AZURE_TENANT_ID }}
|
|
azure-subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
|
|
os: ${{ runner.os }}
|
|
|
|
- name: Create .env for samples
|
|
run: |
|
|
echo "FOUNDRY_PROJECT_ENDPOINT=$FOUNDRY_PROJECT_ENDPOINT" >> .env
|
|
echo "FOUNDRY_MODEL=$FOUNDRY_MODEL" >> .env
|
|
|
|
- name: Run sample validation
|
|
run: |
|
|
cd scripts && uv run python -m sample_validation --subdir 01-get-started --save-report --report-name 01-get-started
|
|
|
|
- name: Save sample playbooks
|
|
if: ${{ !cancelled() }}
|
|
uses: ./.github/actions/sample-validation-save-playbooks
|
|
|
|
- name: Upload validation report
|
|
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7
|
|
if: always()
|
|
with:
|
|
name: validation-report-01-get-started
|
|
path: python/samples/sample_validation/reports/
|
|
|
|
validate-02-agents:
|
|
name: Validate 02-agents
|
|
if: false # Temporarily disabled - to free up Copilot quota for other jobs
|
|
runs-on: ubuntu-latest
|
|
environment: integration
|
|
env:
|
|
# Foundry configuration
|
|
FOUNDRY_PROJECT_ENDPOINT: ${{ vars.FOUNDRY_PROJECT_ENDPOINT }}
|
|
FOUNDRY_MODEL: ${{ vars.FOUNDRY_MODEL }}
|
|
# Azure OpenAI configuration
|
|
AZURE_OPENAI_ENDPOINT: ${{ vars.AZUREOPENAI__ENDPOINT }}
|
|
AZURE_OPENAI_MODEL: ${{ vars.AZURE_OPENAI_DEPLOYMENT_NAME || vars.AZUREOPENAI__RESPONSESDEPLOYMENTNAME }}
|
|
AZURE_OPENAI_CHAT_COMPLETION_MODEL: ${{ vars.AZUREOPENAI__CHATDEPLOYMENTNAME }}
|
|
AZURE_OPENAI_CHAT_MODEL: ${{ vars.AZUREOPENAI__RESPONSESDEPLOYMENTNAME }}
|
|
AZURE_OPENAI_EMBEDDING_MODEL: ${{ vars.AZURE_OPENAI_EMBEDDING_DEPLOYMENT_NAME || vars.AZUREOPENAI__EMBEDDINGDEPLOYMENTNAME }}
|
|
# OpenAI configuration
|
|
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
|
|
OPENAI_CHAT_COMPLETION_MODEL: ${{ vars.OPENAI_CHAT_MODEL_NAME }}
|
|
OPENAI_CHAT_MODEL: ${{ vars.OPENAI_REASONING_MODEL_NAME }}
|
|
# GitHub MCP
|
|
GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }}
|
|
OPENAI_MODEL: ${{ vars.OPENAI_REASONING_MODEL_NAME }}
|
|
# Observability
|
|
ENABLE_INSTRUMENTATION: "true"
|
|
defaults:
|
|
run:
|
|
working-directory: python
|
|
steps:
|
|
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
|
|
|
- name: Setup environment
|
|
uses: ./.github/actions/sample-validation-setup
|
|
with:
|
|
azure-client-id: ${{ secrets.AZURE_CLIENT_ID }}
|
|
azure-tenant-id: ${{ secrets.AZURE_TENANT_ID }}
|
|
azure-subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
|
|
os: ${{ runner.os }}
|
|
|
|
- name: Create .env for samples
|
|
run: |
|
|
echo "FOUNDRY_PROJECT_ENDPOINT=$FOUNDRY_PROJECT_ENDPOINT" >> .env
|
|
echo "FOUNDRY_MODEL=$FOUNDRY_MODEL" >> .env
|
|
echo "AZURE_OPENAI_ENDPOINT=$AZURE_OPENAI_ENDPOINT" >> .env
|
|
echo "AZURE_OPENAI_MODEL=$AZURE_OPENAI_MODEL" >> .env
|
|
echo "AZURE_OPENAI_CHAT_COMPLETION_MODEL=$AZURE_OPENAI_CHAT_COMPLETION_MODEL" >> .env
|
|
echo "AZURE_OPENAI_CHAT_MODEL=$AZURE_OPENAI_CHAT_MODEL" >> .env
|
|
echo "AZURE_OPENAI_EMBEDDING_MODEL=$AZURE_OPENAI_EMBEDDING_MODEL" >> .env
|
|
echo "OPENAI_API_KEY=$OPENAI_API_KEY" >> .env
|
|
echo "OPENAI_CHAT_COMPLETION_MODEL=$OPENAI_CHAT_COMPLETION_MODEL" >> .env
|
|
echo "OPENAI_CHAT_MODEL=$OPENAI_CHAT_MODEL" >> .env
|
|
echo "GITHUB_PAT=$GITHUB_PAT" >> .env
|
|
|
|
- name: Run sample validation
|
|
run: |
|
|
cd scripts && uv run python -m sample_validation --subdir 02-agents --exclude providers harness tools --save-report --report-name 02-agents
|
|
|
|
- name: Save sample playbooks
|
|
if: ${{ !cancelled() }}
|
|
uses: ./.github/actions/sample-validation-save-playbooks
|
|
|
|
- name: Upload validation report
|
|
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7
|
|
if: always()
|
|
with:
|
|
name: validation-report-02-agents
|
|
path: python/samples/sample_validation/reports/
|
|
|
|
validate-02-agents-harness:
|
|
name: Validate 02-agents/harness
|
|
if: false # Temporarily disabled - to free up Copilot quota for other jobs
|
|
runs-on: ubuntu-latest
|
|
environment: integration
|
|
env:
|
|
FOUNDRY_PROJECT_ENDPOINT: ${{ vars.FOUNDRY_PROJECT_ENDPOINT }}
|
|
FOUNDRY_MODEL: ${{ vars.FOUNDRY_MODEL }}
|
|
# Optional: enables the Foundry memory path in harness samples
|
|
FOUNDRY_EMBEDDING_MODEL: ${{ vars.FOUNDRY_EMBEDDING_MODEL || '' }}
|
|
FOUNDRY_MEMORY_STORE: ${{ vars.FOUNDRY_MEMORY_STORE || '' }}
|
|
defaults:
|
|
run:
|
|
working-directory: python
|
|
steps:
|
|
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
|
|
|
- name: Setup environment
|
|
uses: ./.github/actions/sample-validation-setup
|
|
with:
|
|
azure-client-id: ${{ secrets.AZURE_CLIENT_ID }}
|
|
azure-tenant-id: ${{ secrets.AZURE_TENANT_ID }}
|
|
azure-subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
|
|
os: ${{ runner.os }}
|
|
|
|
- name: Create .env for samples
|
|
run: |
|
|
echo "FOUNDRY_PROJECT_ENDPOINT=$FOUNDRY_PROJECT_ENDPOINT" >> .env
|
|
echo "FOUNDRY_MODEL=$FOUNDRY_MODEL" >> .env
|
|
echo "FOUNDRY_EMBEDDING_MODEL=$FOUNDRY_EMBEDDING_MODEL" >> .env
|
|
echo "FOUNDRY_MEMORY_STORE=$FOUNDRY_MEMORY_STORE" >> .env
|
|
|
|
- name: Run sample validation
|
|
run: |
|
|
cd scripts && uv run python -m sample_validation --subdir 02-agents/harness --save-report --report-name 02-agents-harness
|
|
|
|
- name: Save sample playbooks
|
|
if: ${{ !cancelled() }}
|
|
uses: ./.github/actions/sample-validation-save-playbooks
|
|
|
|
- name: Upload validation report
|
|
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7
|
|
if: always()
|
|
with:
|
|
name: validation-report-02-agents-harness
|
|
path: python/samples/sample_validation/reports/
|
|
|
|
validate-02-agents-tools:
|
|
name: Validate 02-agents/tools
|
|
if: false # Temporarily disabled - to free up Copilot quota for other jobs
|
|
runs-on: ubuntu-latest
|
|
environment: integration
|
|
env:
|
|
FOUNDRY_PROJECT_ENDPOINT: ${{ vars.FOUNDRY_PROJECT_ENDPOINT }}
|
|
FOUNDRY_MODEL: ${{ vars.FOUNDRY_MODEL }}
|
|
defaults:
|
|
run:
|
|
working-directory: python
|
|
steps:
|
|
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
|
|
|
- name: Setup environment
|
|
uses: ./.github/actions/sample-validation-setup
|
|
with:
|
|
azure-client-id: ${{ secrets.AZURE_CLIENT_ID }}
|
|
azure-tenant-id: ${{ secrets.AZURE_TENANT_ID }}
|
|
azure-subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
|
|
os: ${{ runner.os }}
|
|
|
|
- name: Create .env for samples
|
|
run: |
|
|
echo "FOUNDRY_PROJECT_ENDPOINT=$FOUNDRY_PROJECT_ENDPOINT" >> .env
|
|
echo "FOUNDRY_MODEL=$FOUNDRY_MODEL" >> .env
|
|
|
|
- name: Run sample validation
|
|
run: |
|
|
cd scripts && uv run python -m sample_validation --subdir 02-agents/tools --save-report --report-name 02-agents-tools
|
|
|
|
- name: Save sample playbooks
|
|
if: ${{ !cancelled() }}
|
|
uses: ./.github/actions/sample-validation-save-playbooks
|
|
|
|
- name: Upload validation report
|
|
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7
|
|
if: always()
|
|
with:
|
|
name: validation-report-02-agents-tools
|
|
path: python/samples/sample_validation/reports/
|
|
|
|
validate-02-agents-openai:
|
|
name: Validate 02-agents/providers/openai
|
|
if: false # Temporarily disabled - to free up Copilot quota for other jobs
|
|
runs-on: ubuntu-latest
|
|
environment: integration
|
|
env:
|
|
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
|
|
OPENAI_MODEL: ${{ vars.OPENAI_CHAT_MODEL_NAME }}
|
|
OPENAI_CHAT_COMPLETION_MODEL: ${{ vars.OPENAI_CHAT_MODEL_NAME }}
|
|
OPENAI_CHAT_MODEL: ${{ vars.OPENAI_REASONING_MODEL_NAME }}
|
|
defaults:
|
|
run:
|
|
working-directory: python
|
|
steps:
|
|
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
|
|
|
- name: Setup environment
|
|
uses: ./.github/actions/sample-validation-setup
|
|
with:
|
|
azure-client-id: ${{ secrets.AZURE_CLIENT_ID }}
|
|
azure-tenant-id: ${{ secrets.AZURE_TENANT_ID }}
|
|
azure-subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
|
|
os: ${{ runner.os }}
|
|
|
|
- name: Create .env for samples
|
|
run: |
|
|
echo "OPENAI_API_KEY=$OPENAI_API_KEY" >> .env
|
|
echo "OPENAI_MODEL=$OPENAI_MODEL" >> .env
|
|
echo "OPENAI_CHAT_COMPLETION_MODEL=$OPENAI_CHAT_COMPLETION_MODEL" >> .env
|
|
echo "OPENAI_CHAT_MODEL=$OPENAI_CHAT_MODEL" >> .env
|
|
|
|
- name: Run sample validation
|
|
run: |
|
|
cd scripts && uv run python -m sample_validation --subdir 02-agents/providers/openai --save-report --report-name 02-agents-openai
|
|
|
|
- name: Save sample playbooks
|
|
if: ${{ !cancelled() }}
|
|
uses: ./.github/actions/sample-validation-save-playbooks
|
|
|
|
- name: Upload validation report
|
|
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7
|
|
if: always()
|
|
with:
|
|
name: validation-report-02-agents-openai
|
|
path: python/samples/sample_validation/reports/
|
|
|
|
validate-02-agents-azure:
|
|
name: Validate 02-agents/providers/azure
|
|
if: false # Temporarily disabled - to free up Copilot quota for other jobs
|
|
runs-on: ubuntu-latest
|
|
environment: integration
|
|
env:
|
|
AZURE_OPENAI_ENDPOINT: ${{ vars.AZUREOPENAI__ENDPOINT }}
|
|
AZURE_OPENAI_MODEL: ${{ vars.AZURE_OPENAI_DEPLOYMENT_NAME || vars.AZUREOPENAI__RESPONSESDEPLOYMENTNAME }}
|
|
AZURE_OPENAI_API_VERSION: ${{ vars.AZURE_OPENAI_API_VERSION || '' }}
|
|
defaults:
|
|
run:
|
|
working-directory: python
|
|
steps:
|
|
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
|
|
|
- name: Setup environment
|
|
uses: ./.github/actions/sample-validation-setup
|
|
with:
|
|
azure-client-id: ${{ secrets.AZURE_CLIENT_ID }}
|
|
azure-tenant-id: ${{ secrets.AZURE_TENANT_ID }}
|
|
azure-subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
|
|
os: ${{ runner.os }}
|
|
|
|
- name: Create .env for samples
|
|
run: |
|
|
echo "AZURE_OPENAI_ENDPOINT=$AZURE_OPENAI_ENDPOINT" >> .env
|
|
echo "AZURE_OPENAI_MODEL=$AZURE_OPENAI_MODEL" >> .env
|
|
echo "AZURE_OPENAI_API_VERSION=$AZURE_OPENAI_API_VERSION" >> .env
|
|
|
|
- name: Run sample validation
|
|
run: |
|
|
cd scripts && uv run python -m sample_validation --subdir 02-agents/providers/azure --save-report --report-name 02-agents-azure
|
|
|
|
- name: Save sample playbooks
|
|
if: ${{ !cancelled() }}
|
|
uses: ./.github/actions/sample-validation-save-playbooks
|
|
|
|
- name: Upload validation report
|
|
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7
|
|
if: always()
|
|
with:
|
|
name: validation-report-02-agents-azure
|
|
path: python/samples/sample_validation/reports/
|
|
|
|
validate-02-agents-anthropic:
|
|
name: Validate 02-agents/providers/anthropic
|
|
if: false # Temporarily disabled - to free up Copilot quota for other jobs
|
|
runs-on: ubuntu-latest
|
|
environment: integration
|
|
env:
|
|
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
|
|
ANTHROPIC_CHAT_MODEL: ${{ vars.ANTHROPIC_CHAT_MODEL_ID }}
|
|
defaults:
|
|
run:
|
|
working-directory: python
|
|
steps:
|
|
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
|
|
|
- name: Setup environment
|
|
uses: ./.github/actions/sample-validation-setup
|
|
with:
|
|
azure-client-id: ${{ secrets.AZURE_CLIENT_ID }}
|
|
azure-tenant-id: ${{ secrets.AZURE_TENANT_ID }}
|
|
azure-subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
|
|
os: ${{ runner.os }}
|
|
|
|
- name: Create .env for samples
|
|
run: |
|
|
echo "ANTHROPIC_API_KEY=$ANTHROPIC_API_KEY" >> .env
|
|
echo "ANTHROPIC_CHAT_MODEL=$ANTHROPIC_CHAT_MODEL" >> .env
|
|
|
|
- name: Run sample validation
|
|
run: |
|
|
cd scripts && uv run python -m sample_validation --subdir 02-agents/providers/anthropic --save-report --report-name 02-agents-anthropic
|
|
|
|
- name: Save sample playbooks
|
|
if: ${{ !cancelled() }}
|
|
uses: ./.github/actions/sample-validation-save-playbooks
|
|
|
|
- name: Upload validation report
|
|
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7
|
|
if: always()
|
|
with:
|
|
name: validation-report-02-agents-anthropic
|
|
path: python/samples/sample_validation/reports/
|
|
|
|
validate-02-agents-github-copilot:
|
|
name: Validate 02-agents/providers/github_copilot
|
|
if: false # Temporarily disabled - to free up Copilot quota for other jobs
|
|
runs-on: ubuntu-latest
|
|
environment: integration
|
|
defaults:
|
|
run:
|
|
working-directory: python
|
|
steps:
|
|
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
|
|
|
- name: Setup environment
|
|
uses: ./.github/actions/sample-validation-setup
|
|
with:
|
|
azure-client-id: ${{ secrets.AZURE_CLIENT_ID }}
|
|
azure-tenant-id: ${{ secrets.AZURE_TENANT_ID }}
|
|
azure-subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
|
|
os: ${{ runner.os }}
|
|
|
|
- name: Run sample validation
|
|
run: |
|
|
cd scripts && uv run python -m sample_validation --subdir 02-agents/providers/github_copilot --save-report --report-name 02-agents-github-copilot
|
|
|
|
- name: Save sample playbooks
|
|
if: ${{ !cancelled() }}
|
|
uses: ./.github/actions/sample-validation-save-playbooks
|
|
|
|
- name: Upload validation report
|
|
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7
|
|
if: always()
|
|
with:
|
|
name: validation-report-02-agents-github-copilot
|
|
path: python/samples/sample_validation/reports/
|
|
|
|
validate-02-agents-amazon:
|
|
name: Validate 02-agents/providers/amazon
|
|
if: false # Temporarily disabled - requires AWS credentials
|
|
runs-on: ubuntu-latest
|
|
environment: integration
|
|
env:
|
|
BEDROCK_CHAT_MODEL: ${{ vars.BEDROCK__CHATMODELID }}
|
|
defaults:
|
|
run:
|
|
working-directory: python
|
|
steps:
|
|
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
|
|
|
- name: Setup environment
|
|
uses: ./.github/actions/sample-validation-setup
|
|
with:
|
|
azure-client-id: ${{ secrets.AZURE_CLIENT_ID }}
|
|
azure-tenant-id: ${{ secrets.AZURE_TENANT_ID }}
|
|
azure-subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
|
|
os: ${{ runner.os }}
|
|
|
|
- name: Run sample validation
|
|
run: |
|
|
cd scripts && uv run python -m sample_validation --subdir 02-agents/providers/amazon --save-report --report-name 02-agents-amazon
|
|
|
|
- name: Save sample playbooks
|
|
if: ${{ !cancelled() }}
|
|
uses: ./.github/actions/sample-validation-save-playbooks
|
|
|
|
- name: Upload validation report
|
|
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7
|
|
if: always()
|
|
with:
|
|
name: validation-report-02-agents-amazon
|
|
path: python/samples/sample_validation/reports/
|
|
|
|
validate-02-agents-ollama:
|
|
name: Validate 02-agents/providers/ollama
|
|
if: false # Temporarily disabled - requires local Ollama server
|
|
runs-on: ubuntu-latest
|
|
environment: integration
|
|
env:
|
|
OLLAMA_MODEL: ${{ vars.OLLAMA__MODEL }}
|
|
defaults:
|
|
run:
|
|
working-directory: python
|
|
steps:
|
|
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
|
|
|
- name: Setup environment
|
|
uses: ./.github/actions/sample-validation-setup
|
|
with:
|
|
azure-client-id: ${{ secrets.AZURE_CLIENT_ID }}
|
|
azure-tenant-id: ${{ secrets.AZURE_TENANT_ID }}
|
|
azure-subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
|
|
os: ${{ runner.os }}
|
|
|
|
- name: Run sample validation
|
|
run: |
|
|
cd scripts && uv run python -m sample_validation --subdir 02-agents/providers/ollama --save-report --report-name 02-agents-ollama
|
|
|
|
- name: Save sample playbooks
|
|
if: ${{ !cancelled() }}
|
|
uses: ./.github/actions/sample-validation-save-playbooks
|
|
|
|
- name: Upload validation report
|
|
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7
|
|
if: always()
|
|
with:
|
|
name: validation-report-02-agents-ollama
|
|
path: python/samples/sample_validation/reports/
|
|
|
|
validate-02-agents-foundry:
|
|
name: Validate 02-agents/providers/foundry
|
|
if: false # Temporarily disabled - to free up Copilot quota for other jobs
|
|
runs-on: ubuntu-latest
|
|
environment: integration
|
|
env:
|
|
FOUNDRY_PROJECT_ENDPOINT: ${{ vars.FOUNDRY_PROJECT_ENDPOINT }}
|
|
FOUNDRY_MODEL: ${{ vars.FOUNDRY_MODEL }}
|
|
FOUNDRY_AGENT_NAME: ${{ vars.FOUNDRY_AGENT_NAME || '' }}
|
|
FOUNDRY_AGENT_VERSION: ${{ vars.FOUNDRY_AGENT_VERSION || '' }}
|
|
defaults:
|
|
run:
|
|
working-directory: python
|
|
steps:
|
|
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
|
|
|
- name: Setup environment
|
|
uses: ./.github/actions/sample-validation-setup
|
|
with:
|
|
azure-client-id: ${{ secrets.AZURE_CLIENT_ID }}
|
|
azure-tenant-id: ${{ secrets.AZURE_TENANT_ID }}
|
|
azure-subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
|
|
os: ${{ runner.os }}
|
|
|
|
- name: Create .env for samples
|
|
run: |
|
|
echo "FOUNDRY_PROJECT_ENDPOINT=$FOUNDRY_PROJECT_ENDPOINT" >> .env
|
|
echo "FOUNDRY_MODEL=$FOUNDRY_MODEL" >> .env
|
|
echo "FOUNDRY_AGENT_NAME=$FOUNDRY_AGENT_NAME" >> .env
|
|
echo "FOUNDRY_AGENT_VERSION=$FOUNDRY_AGENT_VERSION" >> .env
|
|
|
|
- name: Run sample validation
|
|
run: |
|
|
cd scripts && uv run python -m sample_validation --subdir 02-agents/providers/foundry --save-report --report-name 02-agents-foundry
|
|
|
|
- name: Save sample playbooks
|
|
if: ${{ !cancelled() }}
|
|
uses: ./.github/actions/sample-validation-save-playbooks
|
|
|
|
- name: Upload validation report
|
|
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7
|
|
if: always()
|
|
with:
|
|
name: validation-report-02-agents-foundry
|
|
path: python/samples/sample_validation/reports/
|
|
|
|
validate-02-agents-copilotstudio:
|
|
name: Validate 02-agents/providers/copilotstudio
|
|
if: false # Temporarily disabled - requires Copilot Studio setup
|
|
runs-on: ubuntu-latest
|
|
environment: integration
|
|
env:
|
|
COPILOTSTUDIOAGENT__ENVIRONMENTID: ${{ secrets.COPILOTSTUDIOAGENT__ENVIRONMENTID }}
|
|
COPILOTSTUDIOAGENT__SCHEMANAME: ${{ secrets.COPILOTSTUDIOAGENT__SCHEMANAME }}
|
|
COPILOTSTUDIOAGENT__TENANTID: ${{ secrets.COPILOTSTUDIOAGENT__TENANTID }}
|
|
COPILOTSTUDIOAGENT__AGENTAPPID: ${{ secrets.COPILOTSTUDIOAGENT__AGENTAPPID }}
|
|
defaults:
|
|
run:
|
|
working-directory: python
|
|
steps:
|
|
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
|
|
|
- name: Setup environment
|
|
uses: ./.github/actions/sample-validation-setup
|
|
with:
|
|
azure-client-id: ${{ secrets.AZURE_CLIENT_ID }}
|
|
azure-tenant-id: ${{ secrets.AZURE_TENANT_ID }}
|
|
azure-subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
|
|
os: ${{ runner.os }}
|
|
|
|
- name: Create .env for samples
|
|
run: |
|
|
echo "COPILOTSTUDIOAGENT__ENVIRONMENTID=$COPILOTSTUDIOAGENT__ENVIRONMENTID" >> .env
|
|
echo "COPILOTSTUDIOAGENT__SCHEMANAME=$COPILOTSTUDIOAGENT__SCHEMANAME" >> .env
|
|
echo "COPILOTSTUDIOAGENT__TENANTID=$COPILOTSTUDIOAGENT__TENANTID" >> .env
|
|
echo "COPILOTSTUDIOAGENT__AGENTAPPID=$COPILOTSTUDIOAGENT__AGENTAPPID" >> .env
|
|
|
|
- name: Run sample validation
|
|
run: |
|
|
cd scripts && uv run python -m sample_validation --subdir 02-agents/providers/copilotstudio --save-report --report-name 02-agents-copilotstudio
|
|
|
|
- name: Save sample playbooks
|
|
if: ${{ !cancelled() }}
|
|
uses: ./.github/actions/sample-validation-save-playbooks
|
|
|
|
- name: Upload validation report
|
|
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7
|
|
if: always()
|
|
with:
|
|
name: validation-report-02-agents-copilotstudio
|
|
path: python/samples/sample_validation/reports/
|
|
|
|
validate-02-agents-custom:
|
|
name: Validate 02-agents/providers/custom
|
|
runs-on: ubuntu-latest
|
|
environment: integration
|
|
defaults:
|
|
run:
|
|
working-directory: python
|
|
steps:
|
|
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
|
|
|
- name: Setup environment
|
|
uses: ./.github/actions/sample-validation-setup
|
|
with:
|
|
azure-client-id: ${{ secrets.AZURE_CLIENT_ID }}
|
|
azure-tenant-id: ${{ secrets.AZURE_TENANT_ID }}
|
|
azure-subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
|
|
os: ${{ runner.os }}
|
|
|
|
- name: Run sample validation
|
|
run: |
|
|
cd scripts && uv run python -m sample_validation --subdir 02-agents/providers/custom --save-report --report-name 02-agents-custom
|
|
|
|
- name: Save sample playbooks
|
|
if: ${{ !cancelled() }}
|
|
uses: ./.github/actions/sample-validation-save-playbooks
|
|
|
|
- name: Upload validation report
|
|
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7
|
|
if: always()
|
|
with:
|
|
name: validation-report-02-agents-custom
|
|
path: python/samples/sample_validation/reports/
|
|
|
|
validate-03-workflows:
|
|
name: Validate 03-workflows
|
|
if: false # Temporarily disabled - to free up Copilot quota for other jobs
|
|
runs-on: ubuntu-latest
|
|
environment: integration
|
|
env:
|
|
FOUNDRY_PROJECT_ENDPOINT: ${{ vars.FOUNDRY_PROJECT_ENDPOINT }}
|
|
FOUNDRY_MODEL: ${{ vars.FOUNDRY_MODEL }}
|
|
defaults:
|
|
run:
|
|
working-directory: python
|
|
steps:
|
|
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
|
|
|
- name: Setup environment
|
|
uses: ./.github/actions/sample-validation-setup
|
|
with:
|
|
azure-client-id: ${{ secrets.AZURE_CLIENT_ID }}
|
|
azure-tenant-id: ${{ secrets.AZURE_TENANT_ID }}
|
|
azure-subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
|
|
os: ${{ runner.os }}
|
|
|
|
- name: Create .env for samples
|
|
run: |
|
|
echo "FOUNDRY_PROJECT_ENDPOINT=$FOUNDRY_PROJECT_ENDPOINT" >> .env
|
|
echo "FOUNDRY_MODEL=$FOUNDRY_MODEL" >> .env
|
|
|
|
- name: Run sample validation
|
|
run: |
|
|
cd scripts && uv run python -m sample_validation --subdir 03-workflows --save-report --report-name 03-workflows
|
|
|
|
- name: Save sample playbooks
|
|
if: ${{ !cancelled() }}
|
|
uses: ./.github/actions/sample-validation-save-playbooks
|
|
|
|
- name: Upload validation report
|
|
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7
|
|
if: always()
|
|
with:
|
|
name: validation-report-03-workflows
|
|
path: python/samples/sample_validation/reports/
|
|
|
|
validate-04-hosting-foundry-hosted-agents:
|
|
name: Validate 04-hosting (foundry-hosted-agents)
|
|
runs-on: ubuntu-latest
|
|
environment: integration
|
|
env:
|
|
FOUNDRY_PROJECT_ENDPOINT: ${{ vars.FOUNDRY_PROJECT_ENDPOINT }}
|
|
FOUNDRY_MODEL: ${{ vars.FOUNDRY_MODEL }}
|
|
# Foundry hosted agent configuration
|
|
AZURE_AI_MODEL_DEPLOYMENT_NAME: ${{ vars.FOUNDRY_MODEL }}
|
|
FOUNDRY_PROJECT_ID: ${{ vars.FOUNDRY_PROJECT_ID }}
|
|
AZURE_CONTAINER_REGISTRY_ENDPOINT: ${{ vars.AZURE_CONTAINER_REGISTRY_ENDPOINT }}
|
|
GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }}
|
|
TOOLBOX_ENDPOINT: ${{ vars.TOOLBOX_ENDPOINT }}
|
|
FOUNDRY_AGENT_NAME: ${{ vars.FOUNDRY_HOSTED_AGENT_NAME }}
|
|
MEMORY_STORE_NAME: ${{ vars.FOUNDRY_HOSTED_AGENT_MEMORY_STORE }}
|
|
AZURE_SEARCH_ENDPOINT: ${{ vars.AZURE_SEARCH_ENDPOINT }}
|
|
AZURE_SEARCH_INDEX_NAME: ${{ vars.FOUNDRY_HOSTED_AGENT_SEARCH_INDEX_NAME }}
|
|
defaults:
|
|
run:
|
|
working-directory: python
|
|
steps:
|
|
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
|
|
|
- name: Setup environment
|
|
uses: ./.github/actions/sample-validation-setup
|
|
with:
|
|
azure-client-id: ${{ secrets.AZURE_CLIENT_ID }}
|
|
azure-tenant-id: ${{ secrets.AZURE_TENANT_ID }}
|
|
azure-subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
|
|
os: ${{ runner.os }}
|
|
|
|
- name: Run sample validation
|
|
# Maximum parallel workers is set to 1 because all samples use the same port
|
|
run: |
|
|
cd scripts && uv run python -m sample_validation --subdir 04-hosting/foundry-hosted-agents --save-report --report-name 04-hosting-foundry-hosted-agents --max-parallel-workers 1
|
|
|
|
- name: Save sample playbooks
|
|
if: ${{ !cancelled() }}
|
|
uses: ./.github/actions/sample-validation-save-playbooks
|
|
|
|
- name: Upload validation report
|
|
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7
|
|
if: always()
|
|
with:
|
|
name: validation-report-04-hosting-foundry-hosted-agents
|
|
path: python/samples/sample_validation/reports/
|
|
|
|
validate-04-hosting-other:
|
|
name: Validate 04-hosting (other)
|
|
if: false # Temporarily disabled - to free up Copilot quota for other jobs
|
|
runs-on: ubuntu-latest
|
|
environment: integration
|
|
env:
|
|
FOUNDRY_PROJECT_ENDPOINT: ${{ vars.FOUNDRY_PROJECT_ENDPOINT }}
|
|
FOUNDRY_MODEL: ${{ vars.FOUNDRY_MODEL }}
|
|
# A2A configuration
|
|
A2A_AGENT_HOST: http://localhost:5001/
|
|
defaults:
|
|
run:
|
|
working-directory: python
|
|
steps:
|
|
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
|
|
|
- name: Setup environment
|
|
uses: ./.github/actions/sample-validation-setup
|
|
with:
|
|
azure-client-id: ${{ secrets.AZURE_CLIENT_ID }}
|
|
azure-tenant-id: ${{ secrets.AZURE_TENANT_ID }}
|
|
azure-subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
|
|
os: ${{ runner.os }}
|
|
|
|
- name: Run sample validation
|
|
run: |
|
|
cd scripts && uv run python -m sample_validation --subdir 04-hosting --exclude foundry-hosted-agents --save-report --report-name 04-hosting-other
|
|
|
|
- name: Save sample playbooks
|
|
if: ${{ !cancelled() }}
|
|
uses: ./.github/actions/sample-validation-save-playbooks
|
|
|
|
- name: Upload validation report
|
|
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7
|
|
if: always()
|
|
with:
|
|
name: validation-report-04-hosting-other
|
|
path: python/samples/sample_validation/reports/
|
|
|
|
validate-05-end-to-end:
|
|
name: Validate 05-end-to-end
|
|
if: false # Temporarily disabled because of sample complexity
|
|
runs-on: ubuntu-latest
|
|
environment: integration
|
|
env:
|
|
FOUNDRY_PROJECT_ENDPOINT: ${{ vars.FOUNDRY_PROJECT_ENDPOINT }}
|
|
FOUNDRY_MODEL: ${{ vars.FOUNDRY_MODEL }}
|
|
# Azure OpenAI configuration
|
|
AZURE_OPENAI_ENDPOINT: ${{ vars.AZUREOPENAI__ENDPOINT }}
|
|
AZURE_OPENAI_MODEL: ${{ vars.AZURE_OPENAI_DEPLOYMENT_NAME || vars.AZUREOPENAI__RESPONSESDEPLOYMENTNAME }}
|
|
# Azure AI Search (for evaluation samples)
|
|
AZURE_SEARCH_ENDPOINT: ${{ secrets.AZURE_SEARCH_ENDPOINT }}
|
|
AZURE_SEARCH_API_KEY: ${{ secrets.AZURE_SEARCH_API_KEY }}
|
|
AZURE_SEARCH_INDEX_NAME: ${{ secrets.AZURE_SEARCH_INDEX_NAME }}
|
|
# Evaluation sample
|
|
FOUNDRY_MODEL_WORKFLOW: ${{ vars.FOUNDRY_MODEL_WORKFLOW || vars.AZUREOPENAI__RESPONSESDEPLOYMENTNAME }}
|
|
FOUNDRY_MODEL_EVAL: ${{ vars.FOUNDRY_MODEL_EVAL || vars.AZUREOPENAI__RESPONSESDEPLOYMENTNAME }}
|
|
defaults:
|
|
run:
|
|
working-directory: python
|
|
steps:
|
|
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
|
|
|
- name: Setup environment
|
|
uses: ./.github/actions/sample-validation-setup
|
|
with:
|
|
azure-client-id: ${{ secrets.AZURE_CLIENT_ID }}
|
|
azure-tenant-id: ${{ secrets.AZURE_TENANT_ID }}
|
|
azure-subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
|
|
os: ${{ runner.os }}
|
|
|
|
- name: Run sample validation
|
|
run: |
|
|
cd scripts && uv run python -m sample_validation --subdir 05-end-to-end --save-report --report-name 05-end-to-end
|
|
|
|
- name: Save sample playbooks
|
|
if: ${{ !cancelled() }}
|
|
uses: ./.github/actions/sample-validation-save-playbooks
|
|
|
|
- name: Upload validation report
|
|
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7
|
|
if: always()
|
|
with:
|
|
name: validation-report-05-end-to-end
|
|
path: python/samples/sample_validation/reports/
|
|
|
|
validate-autogen-migration:
|
|
name: Validate autogen-migration
|
|
runs-on: ubuntu-latest
|
|
environment: integration
|
|
env:
|
|
FOUNDRY_PROJECT_ENDPOINT: ${{ vars.FOUNDRY_PROJECT_ENDPOINT }}
|
|
FOUNDRY_MODEL: ${{ vars.FOUNDRY_MODEL }}
|
|
# Azure OpenAI configuration
|
|
AZURE_OPENAI_ENDPOINT: ${{ vars.AZUREOPENAI__ENDPOINT }}
|
|
AZURE_OPENAI_MODEL: ${{ vars.AZURE_OPENAI_DEPLOYMENT_NAME || vars.AZUREOPENAI__RESPONSESDEPLOYMENTNAME }}
|
|
# OpenAI configuration
|
|
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
|
|
OPENAI_CHAT_COMPLETION_MODEL: ${{ vars.OPENAI_CHAT_MODEL_NAME }}
|
|
OPENAI_CHAT_MODEL: ${{ vars.OPENAI_REASONING_MODEL_NAME }}
|
|
OPENAI_MODEL: ${{ vars.OPENAI_REASONING_MODEL_NAME }}
|
|
defaults:
|
|
run:
|
|
working-directory: python
|
|
steps:
|
|
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
|
|
|
- name: Setup environment
|
|
uses: ./.github/actions/sample-validation-setup
|
|
with:
|
|
azure-client-id: ${{ secrets.AZURE_CLIENT_ID }}
|
|
azure-tenant-id: ${{ secrets.AZURE_TENANT_ID }}
|
|
azure-subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
|
|
os: ${{ runner.os }}
|
|
|
|
- name: Create .env for samples
|
|
run: |
|
|
echo "FOUNDRY_PROJECT_ENDPOINT=$FOUNDRY_PROJECT_ENDPOINT" >> .env
|
|
echo "FOUNDRY_MODEL=$FOUNDRY_MODEL" >> .env
|
|
echo "AZURE_OPENAI_ENDPOINT=$AZURE_OPENAI_ENDPOINT" >> .env
|
|
echo "AZURE_OPENAI_MODEL=$AZURE_OPENAI_MODEL" >> .env
|
|
echo "OPENAI_API_KEY=$OPENAI_API_KEY" >> .env
|
|
echo "OPENAI_CHAT_COMPLETION_MODEL=$OPENAI_CHAT_COMPLETION_MODEL" >> .env
|
|
echo "OPENAI_CHAT_MODEL=$OPENAI_CHAT_MODEL" >> .env
|
|
|
|
- name: Pre-install AutoGen dependencies for migration samples
|
|
run: uv pip install "autogen-agentchat" "autogen-ext[openai]"
|
|
|
|
- name: Run sample validation
|
|
run: |
|
|
cd scripts && uv run python -m sample_validation --subdir autogen-migration --save-report --report-name autogen-migration --agent-timeout 600
|
|
|
|
- name: Save sample playbooks
|
|
if: ${{ !cancelled() }}
|
|
uses: ./.github/actions/sample-validation-save-playbooks
|
|
|
|
- name: Upload validation report
|
|
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7
|
|
if: always()
|
|
with:
|
|
name: validation-report-autogen-migration
|
|
path: python/samples/sample_validation/reports/
|
|
|
|
validate-semantic-kernel-migration:
|
|
name: Validate semantic-kernel-migration
|
|
if: false # Temporarily disabled - to free up Copilot quota for other jobs
|
|
runs-on: ubuntu-latest
|
|
environment: integration
|
|
env:
|
|
FOUNDRY_PROJECT_ENDPOINT: ${{ vars.FOUNDRY_PROJECT_ENDPOINT }}
|
|
FOUNDRY_MODEL: ${{ vars.FOUNDRY_MODEL }}
|
|
# Azure OpenAI configuration for AF
|
|
AZURE_OPENAI_ENDPOINT: ${{ vars.AZUREOPENAI__ENDPOINT }}
|
|
AZURE_OPENAI_MODEL: ${{ vars.AZURE_OPENAI_DEPLOYMENT_NAME || vars.AZUREOPENAI__RESPONSESDEPLOYMENTNAME }}
|
|
# Azure OpenAI configuration for SK
|
|
AZURE_OPENAI_CHAT_DEPLOYMENT_NAME: ${{ vars.AZURE_OPENAI_DEPLOYMENT_NAME }}
|
|
# OpenAI key
|
|
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
|
|
OPENAI_CHAT_COMPLETION_MODEL: ${{ vars.OPENAI_CHAT_MODEL_NAME }}
|
|
OPENAI_CHAT_MODEL: ${{ vars.OPENAI_REASONING_MODEL_NAME }}
|
|
OPENAI_MODEL: ${{ vars.OPENAI_REASONING_MODEL_NAME }}
|
|
# OpenAI configuration for SK
|
|
OPENAI_CHAT_MODEL_ID: ${{ vars.OPENAI_CHAT_MODEL_NAME }}
|
|
OPENAI_RESPONSES_MODEL_ID: ${{ vars.OPENAI__RESPONSESMODELID }}
|
|
# Copilot Studio
|
|
COPILOTSTUDIOAGENT__ENVIRONMENTID: ${{ secrets.COPILOTSTUDIOAGENT__ENVIRONMENTID }}
|
|
COPILOTSTUDIOAGENT__SCHEMANAME: ${{ secrets.COPILOTSTUDIOAGENT__SCHEMANAME }}
|
|
COPILOTSTUDIOAGENT__TENANTID: ${{ secrets.COPILOTSTUDIOAGENT__TENANTID }}
|
|
COPILOTSTUDIOAGENT__AGENTAPPID: ${{ secrets.COPILOTSTUDIOAGENT__AGENTAPPID }}
|
|
defaults:
|
|
run:
|
|
working-directory: python
|
|
steps:
|
|
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
|
|
|
- name: Setup environment
|
|
uses: ./.github/actions/sample-validation-setup
|
|
with:
|
|
azure-client-id: ${{ secrets.AZURE_CLIENT_ID }}
|
|
azure-tenant-id: ${{ secrets.AZURE_TENANT_ID }}
|
|
azure-subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
|
|
os: ${{ runner.os }}
|
|
|
|
- name: Create .env for samples
|
|
run: |
|
|
echo "FOUNDRY_PROJECT_ENDPOINT=$FOUNDRY_PROJECT_ENDPOINT" >> .env
|
|
echo "FOUNDRY_MODEL=$FOUNDRY_MODEL" >> .env
|
|
echo "AZURE_OPENAI_ENDPOINT=$AZURE_OPENAI_ENDPOINT" >> .env
|
|
echo "AZURE_OPENAI_MODEL=$AZURE_OPENAI_MODEL" >> .env
|
|
echo "OPENAI_API_KEY=$OPENAI_API_KEY" >> .env
|
|
echo "OPENAI_CHAT_COMPLETION_MODEL=$OPENAI_CHAT_COMPLETION_MODEL" >> .env
|
|
echo "OPENAI_CHAT_MODEL=$OPENAI_CHAT_MODEL" >> .env
|
|
echo "COPILOTSTUDIOAGENT__ENVIRONMENTID=$COPILOTSTUDIOAGENT__ENVIRONMENTID" >> .env
|
|
echo "COPILOTSTUDIOAGENT__SCHEMANAME=$COPILOTSTUDIOAGENT__SCHEMANAME" >> .env
|
|
echo "COPILOTSTUDIOAGENT__TENANTID=$COPILOTSTUDIOAGENT__TENANTID" >> .env
|
|
echo "COPILOTSTUDIOAGENT__AGENTAPPID=$COPILOTSTUDIOAGENT__AGENTAPPID" >> .env
|
|
|
|
- name: Run sample validation
|
|
run: |
|
|
cd scripts && uv run python -m sample_validation --subdir semantic-kernel-migration --save-report --report-name semantic-kernel-migration
|
|
|
|
- name: Save sample playbooks
|
|
if: ${{ !cancelled() }}
|
|
uses: ./.github/actions/sample-validation-save-playbooks
|
|
|
|
- name: Upload validation report
|
|
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7
|
|
if: always()
|
|
with:
|
|
name: validation-report-semantic-kernel-migration
|
|
path: python/samples/sample_validation/reports/
|
|
|
|
aggregate-results:
|
|
name: Aggregate Results
|
|
runs-on: ubuntu-latest
|
|
if: always()
|
|
needs:
|
|
- validate-01-get-started
|
|
- validate-02-agents
|
|
- validate-02-agents-harness
|
|
- validate-02-agents-tools
|
|
- validate-02-agents-openai
|
|
- validate-02-agents-azure
|
|
- validate-02-agents-anthropic
|
|
- validate-02-agents-github-copilot
|
|
- validate-02-agents-amazon
|
|
- validate-02-agents-ollama
|
|
- validate-02-agents-foundry
|
|
- validate-02-agents-copilotstudio
|
|
- validate-02-agents-custom
|
|
- validate-03-workflows
|
|
- validate-04-hosting-foundry-hosted-agents
|
|
- validate-04-hosting-other
|
|
- validate-05-end-to-end
|
|
- validate-autogen-migration
|
|
- validate-semantic-kernel-migration
|
|
steps:
|
|
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
|
|
|
- name: Download all validation reports
|
|
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
|
|
with:
|
|
pattern: validation-report-*
|
|
path: reports/
|
|
merge-multiple: true
|
|
|
|
- name: Restore validation history
|
|
id: cache-restore
|
|
uses: actions/cache/restore@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0
|
|
with:
|
|
path: validation-history/
|
|
key: validation-history-${{ github.run_id }}
|
|
restore-keys: |
|
|
validation-history-
|
|
|
|
- name: Aggregate results and generate trend report
|
|
run: |
|
|
python3 python/scripts/sample_validation/aggregate.py \
|
|
reports/ \
|
|
validation-history/history.json \
|
|
trend-report.md
|
|
|
|
- name: Write trend report to job summary
|
|
run: cat trend-report.md >> "$GITHUB_STEP_SUMMARY"
|
|
|
|
- name: Save validation history
|
|
uses: actions/cache/save@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0
|
|
with:
|
|
path: validation-history/
|
|
key: validation-history-${{ github.run_id }}
|
|
|
|
- name: Upload trend report
|
|
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7
|
|
if: always()
|
|
with:
|
|
name: validation-trend-report
|
|
path: trend-report.md
|