Repository navigation
Support deployments to Container Apps Express - #10223
Conversation
Detect the managed environment mode before updating a Container App and omit revision settings that Express does not support. Retain a targeted retry for deployments where mode detection is unavailable. Add a minimal image-passthrough Express sample and a recorded functional test covering provision, deploy, endpoint validation, playback, and cleanup. Fixes Azure#10214 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 9ed5398e-8fd3-46ba-963c-55d26d6ace95
|
Azure Pipelines: Successfully started running 1 pipeline(s). 24 pipeline(s) were filtered out due to trigger conditions. There may be pipelines that require an authorized user to comment /azp run to run. |
There was a problem hiding this comment.
Copilot review overview
🟢 Approval recommended
The implementation is focused, backward-compatible, and covered by unit and recorded functional tests.
Review effort: Balanced
Findings: None
What changed in this PR
Adds Container Apps Express deployment support while preserving standard Container Apps behavior.
Changes:
- Detects and caches the parent environment mode.
- Omits unsupported revision suffix and traffic settings, with targeted retry fallback.
- Adds unit and recorded functional coverage with an Express sample.
| File | Description |
|---|---|
cli/azd/pkg/containerapps/container_app.go |
Implements Express detection and update handling. |
cli/azd/pkg/containerapps/container_app_test.go |
Tests detection, retry, and error behavior. |
cli/azd/test/functional/up_test.go |
Adds the Express end-to-end test. |
cli/azd/test/functional/testdata/samples/containerappexpress/azure.yaml |
Defines the test service. |
cli/azd/test/functional/testdata/samples/containerappexpress/infra/main.bicep |
Creates the test resource group and outputs. |
cli/azd/test/functional/testdata/samples/containerappexpress/infra/main.parameters.json |
Maps azd environment parameters. |
cli/azd/test/functional/testdata/samples/containerappexpress/infra/resources.bicep |
Provisions the Express environment and app. |
cli/azd/test/functional/testdata/recordings/Test_CLI_Up_Down_ContainerAppExpress.yaml |
Records the functional test interactions. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Azure Dev CLI Install InstructionsInstall scriptsMacOS/Linux
bash: pwsh: WindowsPowerShell install MSI install Standalone Binary
MSI
Documentationlearn.microsoft.com documentationtitle: Azure Developer CLI reference
|
Summary
The existing
containerappservice target remains the right abstraction because Express uses the sameMicrosoft.App/containerAppsresource type. The environment mode is discovered from the parentMicrosoft.App/managedEnvironmentsresource through the stable2026-07-01API.Fixes #10214
Validation
go test ./pkg/containerapps/...go test ./test/recording/...go test ./test/functional -run ^'$'\n-AZURE_RECORD_MODE=record go test ./test/functional -run ^'Test_CLI_Up_Down_ContainerAppExpress$' -count=1 -timeout 45m\n-AZURE_RECORD_MODE=playback go test ./test/functional -run ^'Test_CLI_Up_Down_ContainerAppExpress$' -count=1 -timeout 10m\n-go test -race ./pkg/containerapps/...\n-go vet ./pkg/containerapps/...\n-git diff --check