Skip to content

[Compute Separation] Add standalone Host and WorkerProxy artifact smoke tests #12028

Description

What problem would the feature you're requesting solve? Please describe.

The artifact-publishing work in #11986 and #12027 is deliberately limited to producing the standalone Linux Host and WorkerProxy artifacts. Automated process/container smoke coverage should be a separate follow-up rather than a BYOC-M1 publishing requirement.

The smoke tests should exercise the artifacts consumed by image builders, not rebuild the products through an unrelated path or treat a listener health response as proof that functions can execute.

Describe the solution you'd like

Add focused smoke coverage for the published Linux x64/Noble artifacts:

  • Consume functions-host.linux-x64.tar.gz and worker-proxy.linux-x64.tar.gz, preserving executable permissions and using the documented entrypoints and runtime dependencies.
  • Start the dedicated Azure.Functions.Host with zero workers and confirm its HTTP listener is healthy while distinguishing that from function invocation readiness.
  • Start Native AOT Azure.Functions.WorkerProxy without a managed .NET runtime and confirm its management endpoint is available.
  • For a linked HTTP smoke, launch one separately supplied .NET isolated test worker in the proxy's network namespace, configure the reachable proxy HTTP origin, link through PUT /admin/workers, then invoke the Host's sample HTTP function and assert the expected response.
  • Require bounded startup, request, and shutdown waits. Send SIGTERM and verify clean process/container exits; retain useful logs on failure and clean up only test-owned resources.
  • Keep test configuration and network exposure isolated. Verify existing supported behavior without adding new product configuration requirements, readiness APIs, or runtime behavior changes solely for the tests.

Acceptance criteria:

  • Smoke tests run against the produced artifacts/images, with no alternate product publish path.
  • Host/proxy listener health, actual linked-worker invocation, and graceful shutdown are reported as distinct outcomes.
  • Failures produce actionable diagnostics, return a nonzero result, and do not leave test-owned processes or containers running.
  • Existing standard Host behavior and its pipeline tests remain unchanged.

Scheduling: leave this issue without a milestone for now. Assign it to a future milestone when the smoke work is scheduled; it is not a blocker for #11986, #12027, or BYOC-M1 artifact publishing.

Out of scope: bundle-cache/fallback testing (covered elsewhere), a bespoke artifact-verifier framework, additional language/OS matrices, production authentication changes, registry publication, rollout/pool orchestration, or a bundled worker/supervisor product.

Describe alternatives you've considered

Keeping this coverage in the artifact-publishing PR was rejected to keep that change focused. Existing unit tests remain valuable, but they do not replace a future smoke against the actual published binaries and their container/runtime dependencies.

Additional context

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions