Skip to content

Conversation

Copy link
Contributor

Copilot AI commented Dec 9, 2025

Implements automated smoke testing for Azure Functions isolated .NET worker to catch SDK and source generator regressions.

Implementation

Test Application (test/AzureFunctionsSmokeTests/)

  • .NET 8.0 isolated worker app with HelloCities orchestration pattern
  • References local source generators to validate code generation
  • Configured as executable (not a unit test project) to avoid test framework dependencies

Docker Orchestration (run-smoketests.ps1)

  • Builds and publishes Functions app
  • Spins up Azurite storage emulator and Functions host in containers
  • Triggers HTTP orchestration endpoint, polls for completion
  • Validates output matches expected result
  • Automatic cleanup of containers and artifacts

CI Integration (.github/workflows/azure-functions-smoke-tests.yml)

  • Runs on push/PR to main and feature branches
  • Executes full smoke test suite in GitHub Actions

Key Configuration

Sets WEBSITE_HOSTNAME environment variable to enable webhook generation in isolated worker:

docker run -d \
    -e AzureWebJobsStorage="$storageConnectionString" \
    -e WEBSITE_HOSTNAME="localhost:$Port" \
    $ImageName

Azurite connection string components broken out for maintainability. Error polling includes consecutive failure limit to prevent infinite loops on persistent issues.

Package Updates

Added missing versions to Directory.Packages.props:

  • Microsoft.Azure.Functions.Worker.Extensions.Http (3.0.13)
  • Microsoft.Azure.Functions.Worker.Sdk (1.16.2)

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • 127.0.0.11
    • Triggering command: REDACTED, pid is -1 (packet block)
  • https://api.github.com/repos/Azure/azure-functions-durable-extension/contents/test/SmokeTests/OOProcSmokeTests/DotNetIsolated
    • Triggering command: /usr/bin/curl curl -s REDACTED (http block)

If you need me to access, download, or install something from one of these locations, you can either:

Original prompt

This section details on the original issue you should resolve

<issue_title>Azure Functions sample app with automated CI testing</issue_title>
<issue_description>Need to add an Azure Functions test case and automate it using Docker in a GitHub Actions CI. The app can be similar to this one and will be useful for tracking any regressions caused by SDK or Source Generator updates.</issue_description>

<agent_instructions>check the https://github.com/Azure/azure-functions-durable-extension/tree/dev/test/SmokeTests/OOProcSmokeTests/DotNetIsolated, and set up ci to run isolated dotnet function tests </agent_instructions>

Comments on the Issue (you are @copilot in this section)


💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.

Copilot AI changed the title [WIP] Add Azure Functions sample app with automated CI testing Add Azure Functions smoke tests with Docker CI automation Dec 9, 2025
Copilot AI requested a review from YunchuWang December 9, 2025 23:35
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.

Azure Functions sample app with automated CI testing

2 participants