Skip to content

Upgrade agent framework and semantic kernel .NET versions and remove E2E workflows#306

Merged
gwharris7 merged 9 commits into
mainfrom
users/gwharris7/update-package-versions
May 6, 2026
Merged

Upgrade agent framework and semantic kernel .NET versions and remove E2E workflows#306
gwharris7 merged 9 commits into
mainfrom
users/gwharris7/update-package-versions

Conversation

@gwharris7

Copy link
Copy Markdown
Contributor

This pull request significantly simplifies the GitHub Actions E2E workflow files for .NET and Node.js agents by removing a large number of PowerShell-based setup, agent management, and test orchestration steps. The workflows no longer acquire bearer tokens, generate configuration files, start and verify agent processes, or run .NET-based E2E tests. As a result, the CI pipelines are streamlined but will no longer perform the previous end-to-end test orchestration or artifact collection.

Key changes by workflow:

General Workflow Simplification

  • Removed all steps related to acquiring bearer tokens, generating configuration files (such as .env or appsettings.json), copying manifests, starting/stopping agents, verifying agent health, running .NET E2E tests, emitting test conversations, capturing agent logs, and uploading test results artifacts from the following workflow files:
    • .github/workflows/e2e-dotnet-agent-framework.yml
    • .github/workflows/e2e-dotnet-semantic-kernel.yml
    • .github/workflows/e2e-nodejs-openai.yml
    • .github/workflows/e2e-nodejs-langchain.yml

Impact on .NET Workflows

  • The .NET Agent Framework and Semantic Kernel E2E workflows no longer handle authentication, configuration, or agent process lifecycle management, nor do they execute or collect results from .NET E2E tests. [1] [2]

Impact on Node.js Workflows

  • The Node.js OpenAI and LangChain E2E workflows similarly remove all orchestration for agent startup, configuration, test execution, and result artifact upload. [1] [2]

Test and Artifact Handling

  • All steps related to running E2E tests, capturing logs, and uploading test results as artifacts have been removed from all affected workflows. [1] [2] [3] [4]

Configuration and Credential Management

  • No longer generates or injects environment-specific configuration files or secrets into the test environments. [1] [2] [3] [4]

sellakumaran and others added 7 commits May 1, 2026 16:17
…ity instrumentation

- Upgraded Microsoft.Agents.A365.*, Microsoft.OpenTelemetry, Azure.AI.OpenAI, and related packages to GA 1.0.0 releases
- Added end-to-end tracing with InvokeAgentScope (per turn) and ExecuteToolScope (per tool call)
- Refactored DateTimeFunctionTool to instance class with DI for observability support
- Migrated from AgentThread to AgentSession for conversation state management
- Expanded appsettings.json with Agent365Observability config section; clarified Blueprint vs Agent Identity placeholders
Removed Agent365 tracing/scoping dependencies and related code from MyAgent.cs, including input/output message recording and AgentDetails usage. Renamed thread to session for clarity. In Program.cs, removed custom OpenTelemetry activity source registration and unused imports. Updated WeatherLookupTool.cs to serialize ToolCallDetails arguments using System.Text.Json. Updated appsettings.json with a clearer OpenWeatherApiKey placeholder and removed EnableAgent365Exporter.
Extract AgentDetails construction logic into a new AgentDetailsHelper class to eliminate code duplication in DateTimeFunctionTool and WeatherLookupTool. This centralizes configuration-based AgentDetails creation, improving maintainability and code clarity.
- Replace custom A365 observability wrappers (AgentMetrics, A365OtelWrapper,
  AgentDetailsHelper) with zero-code auto-instrumentation via
  UseMicrosoftOpenTelemetry(); explicitly re-enable HTTP, ASP.NET Core, and
  Azure SDK instrumentation suppressed by Agent365-only export mode
- Remove ExecuteToolScope/ToolCallDetails blocks from WeatherLookupTool and
  DateTimeFunctionTool; remove IExporterTokenCache<AgenticTokenStruct> from
  MyAgent constructor; remove ObservabilityAuthHandlerName and
  InvokeObservedAgentOperation wrappers from all three activity handlers
- Keep .UseOpenTelemetry(sourceName: null, ...) on ChatClientAgent builder to
  preserve gen_ai.* semantic attributes (model, tools, messages, token counts)
  on Azure OpenAI call spans
- Add Observability section to README and design.md documenting the spans
  produced, OTEL_SERVICE_NAME env var, and why no custom tracing code is needed

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…Agent.cs

- Remove redundant null-conditional on turnContext (non-null guaranteed by
  guard at top of OnMessageAsync) at lines 234 and 250
- Use StringBuilder to accumulate userText in the attachment loop instead
  of repeated string concatenation
- Use LINQ Where filter in WelcomeMessageAsync instead of foreach + inner if

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
The loop variable was unused after moving the filter into .Where();
replace with var _ to suppress the "useless assignment" code scanning warning.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings May 6, 2026 05:39
@gwharris7 gwharris7 requested a review from a team as a code owner May 6, 2026 05:39
@github-actions

github-actions Bot commented May 6, 2026

Copy link
Copy Markdown

⚠️ Deprecation Warning: The deny-licenses option is deprecated for possible removal in the next major release. For more information, see issue 997.

Dependency Review

The following issues were found:
  • ✅ 0 vulnerable package(s)
  • ✅ 0 package(s) with incompatible licenses
  • ✅ 0 package(s) with invalid SPDX license definitions
  • ⚠️ 9 package(s) with unknown licenses.
See the Details below.

License Issues

dotnet/agent-framework/sample-agent/AgentFrameworkSampleAgent.csproj

PackageVersionLicenseIssue Type
Microsoft.Agents.A365.Notifications1.0.0NullUnknown License
Microsoft.Agents.A365.Tooling.Extensions.AgentFramework1.0.0NullUnknown License
Microsoft.Agents.AI1.1.0NullUnknown License
Microsoft.OpenTelemetry1.0.0NullUnknown License

dotnet/semantic-kernel/sample-agent/SemanticKernelSampleAgent.csproj

PackageVersionLicenseIssue Type
Microsoft.OpenTelemetry1.0.1NullUnknown License
Microsoft.SemanticKernel.Agents.AzureAI1.71.0-previewNullUnknown License
Microsoft.SemanticKernel.Agents.Core1.71.0NullUnknown License
Microsoft.SemanticKernel.Connectors.AzureOpenAI1.71.0NullUnknown License
Microsoft.SemanticKernel.Connectors.OpenAI1.71.0NullUnknown License
Denied Licenses: GPL-3.0-only, AGPL-3.0-only

OpenSSF Scorecard

Scorecard details
PackageVersionScoreDetails
nuget/Azure.AI.OpenAI 2.7.0-beta.2 🟢 7.2
Details
CheckScoreReason
Code-Review🟢 10all changesets reviewed
Maintained🟢 1030 commit(s) and 15 issue activity found in the last 90 days -- score normalized to 10
CII-Best-Practices⚠️ 0no effort to earn an OpenSSF best practices badge detected
Packaging⚠️ -1packaging workflow not detected
License🟢 10license file detected
Dangerous-Workflow🟢 10no dangerous workflow patterns detected
Security-Policy🟢 10security policy file detected
Token-Permissions🟢 9detected GitHub workflow tokens with excessive permissions
Signed-Releases⚠️ -1no releases found
Branch-Protection🟢 5branch protection is not maximal on development and all release branches
SAST⚠️ 0SAST tool is not run on all commits -- score normalized to 0
Binary-Artifacts🟢 9binaries present in source code
Pinned-Dependencies🟢 5dependency not pinned by hash detected -- score normalized to 5
Fuzzing⚠️ 0project is not fuzzed
nuget/Azure.Identity 1.17.1 🟢 7.2
Details
CheckScoreReason
Code-Review🟢 10all changesets reviewed
Maintained🟢 1030 commit(s) and 15 issue activity found in the last 90 days -- score normalized to 10
CII-Best-Practices⚠️ 0no effort to earn an OpenSSF best practices badge detected
Packaging⚠️ -1packaging workflow not detected
License🟢 10license file detected
Dangerous-Workflow🟢 10no dangerous workflow patterns detected
Security-Policy🟢 10security policy file detected
Token-Permissions🟢 9detected GitHub workflow tokens with excessive permissions
Signed-Releases⚠️ -1no releases found
Branch-Protection🟢 5branch protection is not maximal on development and all release branches
SAST⚠️ 0SAST tool is not run on all commits -- score normalized to 0
Binary-Artifacts🟢 9binaries present in source code
Pinned-Dependencies🟢 5dependency not pinned by hash detected -- score normalized to 5
Fuzzing⚠️ 0project is not fuzzed
nuget/Microsoft.Agents.A365.Notifications 1.0.0 UnknownUnknown
nuget/Microsoft.Agents.A365.Tooling.Extensions.AgentFramework 1.0.0 UnknownUnknown
nuget/Microsoft.Agents.AI 1.1.0 UnknownUnknown
nuget/Microsoft.Agents.Authentication.Msal 1.4.83 UnknownUnknown
nuget/Microsoft.Agents.Hosting.AspNetCore 1.4.83 UnknownUnknown
nuget/Microsoft.Extensions.AI.OpenAI 10.0.1-preview.1.25571.5 🟢 6.7
Details
CheckScoreReason
Code-Review🟢 10all changesets reviewed
Security-Policy🟢 10security policy file detected
CII-Best-Practices⚠️ 0no effort to earn an OpenSSF best practices badge detected
Maintained🟢 1030 commit(s) and 16 issue activity found in the last 90 days -- score normalized to 10
Dangerous-Workflow🟢 10no dangerous workflow patterns detected
Token-Permissions⚠️ 0detected GitHub workflow tokens with excessive permissions
Packaging⚠️ -1packaging workflow not detected
License🟢 10license file detected
Branch-Protection🟢 5branch protection is not maximal on development and all release branches
Signed-Releases⚠️ -1no releases found
Binary-Artifacts🟢 10no binaries found in the repo
Pinned-Dependencies🟢 9dependency not pinned by hash detected -- score normalized to 9
Fuzzing⚠️ 0project is not fuzzed
SAST⚠️ 0SAST tool is not run on all commits -- score normalized to 0
nuget/Microsoft.OpenTelemetry 1.0.0 UnknownUnknown
nuget/Azure.Identity 1.17.1 🟢 7.2
Details
CheckScoreReason
Code-Review🟢 10all changesets reviewed
Maintained🟢 1030 commit(s) and 15 issue activity found in the last 90 days -- score normalized to 10
CII-Best-Practices⚠️ 0no effort to earn an OpenSSF best practices badge detected
Packaging⚠️ -1packaging workflow not detected
License🟢 10license file detected
Dangerous-Workflow🟢 10no dangerous workflow patterns detected
Security-Policy🟢 10security policy file detected
Token-Permissions🟢 9detected GitHub workflow tokens with excessive permissions
Signed-Releases⚠️ -1no releases found
Branch-Protection🟢 5branch protection is not maximal on development and all release branches
SAST⚠️ 0SAST tool is not run on all commits -- score normalized to 0
Binary-Artifacts🟢 9binaries present in source code
Pinned-Dependencies🟢 5dependency not pinned by hash detected -- score normalized to 5
Fuzzing⚠️ 0project is not fuzzed
nuget/Microsoft.OpenTelemetry 1.0.1 UnknownUnknown
nuget/Microsoft.SemanticKernel.Agents.AzureAI 1.71.0-preview UnknownUnknown
nuget/Microsoft.SemanticKernel.Agents.Core 1.71.0 UnknownUnknown
nuget/Microsoft.SemanticKernel.Connectors.AzureOpenAI 1.71.0 UnknownUnknown
nuget/Microsoft.SemanticKernel.Connectors.OpenAI 1.71.0 UnknownUnknown

Scanned Files

  • .github/workflows/e2e-python-agent-framework.yml
  • .github/workflows/e2e-python-openai.yml
  • dotnet/agent-framework/sample-agent/AgentFrameworkSampleAgent.csproj
  • dotnet/semantic-kernel/sample-agent/SemanticKernelSampleAgent.csproj

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates the .NET Agent Framework and Semantic Kernel samples to newer SDK/package versions and switches observability to the Microsoft.OpenTelemetry distro, while significantly simplifying the GitHub Actions “E2E” workflows by removing the prior PowerShell-based end-to-end orchestration and .NET E2E test execution.

Changes:

  • Upgrade .NET agent dependencies (Agents SDK, Semantic Kernel, Azure Identity/OpenAI packages) and adjust code to newer APIs (e.g., session-based conversation state).
  • Replace/trim custom observability plumbing (custom metrics/wrappers) in favor of builder.UseMicrosoftOpenTelemetry(...) plus UseOpenTelemetry() on the chat client/agent builders.
  • Remove bearer token acquisition, agent lifecycle management, and .NET E2E test runs from the e2e-* GitHub Actions workflows (leaving build/dependency verification + SDK version logging).

Reviewed changes

Copilot reviewed 20 out of 20 changed files in this pull request and generated 5 comments.

Show a summary per file
File Description
dotnet/semantic-kernel/sample-agent/telemetry/AgentOTELExtensions.cs Removes Aspire/OpenTelemetry service-defaults helper (file deleted).
dotnet/semantic-kernel/sample-agent/telemetry/A365OtelWrapper.cs Drops exporter token-cache registration from wrapper invocation.
dotnet/semantic-kernel/sample-agent/SemanticKernelSampleAgent.csproj Upgrades SK + Agents packages; replaces explicit OTEL package set with Microsoft.OpenTelemetry.
dotnet/semantic-kernel/sample-agent/Program.cs Switches startup telemetry to UseMicrosoftOpenTelemetry; removes prior A365 tracing setup + custom HTTP tracing wrapper usage.
dotnet/semantic-kernel/sample-agent/Agents/MyAgent.cs Removes token-cache DI usage; updates wrapper calls accordingly.
dotnet/agent-framework/sample-agent/Tools/DateTimeFunctionTool.cs Refactors datetime tool from static function to instance method and renames API.
dotnet/agent-framework/sample-agent/telemetry/AgentMetrics.cs Removes custom telemetry helper (file deleted).
dotnet/agent-framework/sample-agent/telemetry/A365OtelWrapper.cs Removes custom A365 OTEL wrapper (file deleted).
dotnet/agent-framework/sample-agent/README.md Documents the new Microsoft.OpenTelemetry distro-based observability approach.
dotnet/agent-framework/sample-agent/Program.cs Adds UseMicrosoftOpenTelemetry distro configuration; removes custom HTTP tracing wrapper usage.
dotnet/agent-framework/sample-agent/docs/design.md Updates design doc to reflect distro-based auto-instrumentation and session-based flow.
dotnet/agent-framework/sample-agent/appsettings.json Updates placeholders/config for auth + AI settings; adds Agent365Observability section.
dotnet/agent-framework/sample-agent/AgentFrameworkSampleAgent.csproj Pins newer stable versions for Agent365 packages + upgrades Azure/Agents/Extensions.AI packages.
dotnet/agent-framework/sample-agent/Agent/MyAgent.cs Migrates thread→session, updates tool registration and chat history plumbing, removes custom observability wrapper usage.
.github/workflows/e2e-python-openai.yml Removes bearer token/config generation/agent start/E2E test execution; retains setup + dependency install + SDK version logging.
.github/workflows/e2e-python-agent-framework.yml Same simplification as python-openai workflow.
.github/workflows/e2e-nodejs-openai.yml Removes E2E orchestration and .NET E2E test run; retains setup + build + SDK version logging.
.github/workflows/e2e-nodejs-langchain.yml Removes E2E orchestration and .NET E2E test run; retains setup + build + SDK version logging.
.github/workflows/e2e-dotnet-semantic-kernel.yml Removes bearer token/config generation/agent start/E2E test execution; retains restore/build + SDK version logging.
.github/workflows/e2e-dotnet-agent-framework.yml Removes bearer token/config generation/agent start/E2E test execution; retains restore/build + SDK version logging.

Comment thread dotnet/agent-framework/sample-agent/Tools/DateTimeFunctionTool.cs Outdated
Comment thread dotnet/agent-framework/sample-agent/Tools/DateTimeFunctionTool.cs
Comment thread dotnet/agent-framework/sample-agent/Agent/MyAgent.cs
Comment thread dotnet/agent-framework/sample-agent/appsettings.json
Comment thread dotnet/agent-framework/sample-agent/appsettings.json
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
….GetCurrentDateTime

Agent-Logs-Url: https://github.com/microsoft/Agent365-Samples/sessions/a2eca8a7-110d-43e3-9b47-787442d25c08

Co-authored-by: gwharris7 <96964444+gwharris7@users.noreply.github.com>
@gwharris7 gwharris7 enabled auto-merge (squash) May 6, 2026 05:55
@gwharris7 gwharris7 merged commit 8b09f84 into main May 6, 2026
36 checks passed
@gwharris7 gwharris7 deleted the users/gwharris7/update-package-versions branch May 6, 2026 17:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants