.NET: [Feature Branch] Introduce Azure OpenAI config for .NET pipeline (#2106)

Also fixes an issue where we were trying to start docker containers for integration tests on Windows, which doesn't work.

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
This commit is contained in:
Chris Gillum
2025-11-11 17:30:55 -08:00
committed by GitHub
Unverified
parent 246bf07419
commit 3eda97aac6
3 changed files with 18 additions and 18 deletions
@@ -116,16 +116,13 @@ internal sealed class TestHelper : IDisposable
internal static ChatClient GetAzureOpenAIChatClient(IConfiguration configuration)
{
string azureOpenAiEndpoint =
configuration["AZUREAI:ENDPOINT"] ?? // Defined in dotnet-build-and-test.yml (as AZUREAI__ENDPOINT)
configuration["AZURE_OPENAI_ENDPOINT"] ?? // Legacy
throw new InvalidOperationException("The required AZUREAI__ENDPOINT or AZURE_OPENAI_ENDPOINT env variable is not set.");
string azureOpenAiDeploymentName =
configuration["AZUREAI:DEPLOYMENTNAME"] ?? // Defined in dotnet-build-and-test.yml (as AZUREAI__DEPLOYMENTNAME)
configuration["AZURE_OPENAI_DEPLOYMENT"] ?? // Legacy
throw new InvalidOperationException("The required AZUREAI__DEPLOYMENTNAME or AZURE_OPENAI_DEPLOYMENT env variable is not set.");
string azureOpenAiEndpoint = configuration["AZURE_OPENAI_ENDPOINT"] ??
throw new InvalidOperationException("The required AZURE_OPENAI_ENDPOINT env variable is not set.");
string azureOpenAiDeploymentName = configuration["AZURE_OPENAI_CHAT_DEPLOYMENT_NAME"] ??
throw new InvalidOperationException("The required AZURE_OPENAI_CHAT_DEPLOYMENT_NAME env variable is not set.");
// Check if AZURE_OPENAI_KEY is provided for token-based authentication
// Check if AZURE_OPENAI_KEY is provided for key-based authentication.
// NOTE: This is not used for automated tests, but can be useful for local development.
string? azureOpenAiKey = configuration["AZURE_OPENAI_KEY"];
AzureOpenAIClient client = !string.IsNullOrEmpty(azureOpenAiKey)
@@ -635,14 +635,10 @@ public sealed class SamplesValidation(ITestOutputHelper outputHelper) : IAsyncLi
RedirectStandardError = true,
};
string openAiEndpoint =
s_configuration["AZUREAI:ENDPOINT"] ?? // Defined in dotnet-build-and-test.yml (as AZUREAI__ENDPOINT)
s_configuration["AZURE_OPENAI_ENDPOINT"] ?? // Legacy
throw new InvalidOperationException("The required AZUREAI__ENDPOINT or AZURE_OPENAI_ENDPOINT env variable is not set.");
string openAiDeployment =
s_configuration["AZUREAI:DEPLOYMENTNAME"] ?? // Defined in dotnet-build-and-test.yml (as AZUREAI__DEPLOYMENTNAME)
s_configuration["AZURE_OPENAI_DEPLOYMENT"] ?? // Legacy
throw new InvalidOperationException("The required AZUREAI__DEPLOYMENTNAME or AZURE_OPENAI_DEPLOYMENT env variable is not set.");
string openAiEndpoint = s_configuration["AZURE_OPENAI_ENDPOINT"] ??
throw new InvalidOperationException("The required AZURE_OPENAI_ENDPOINT env variable is not set.");
string openAiDeployment = s_configuration["AZURE_OPENAI_CHAT_DEPLOYMENT_NAME"] ??
throw new InvalidOperationException("The required AZURE_OPENAI_CHAT_DEPLOYMENT_NAME env variable is not set.");
// Set required environment variables for the function app (see local.settings.json for required settings)
startInfo.EnvironmentVariables["AZURE_OPENAI_ENDPOINT"] = openAiEndpoint;