From f849dc3e0b0c7f68a2b2b7e97c84c09a447af4c1 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 1 May 2026 13:28:16 +0000 Subject: [PATCH 1/3] Initial plan From cc26fe8097f6f3805f0596668c4d0c2369540d6a Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 1 May 2026 13:29:48 +0000 Subject: [PATCH 2/3] fix(cd): require staging infra success before production deployment Add deploy-staging-infra to the deploy-production job's needs array so production deployment won't proceed if staging infrastructure fails. Agent-Logs-Url: https://github.com/techhubms/techhub/sessions/946cdf93-0f88-4d45-b713-1c8edfa22724 Co-authored-by: rvanmaanen <4835258+rvanmaanen@users.noreply.github.com> --- .github/workflows/cd.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/cd.yml b/.github/workflows/cd.yml index 7504abfde..bde7fc648 100644 --- a/.github/workflows/cd.yml +++ b/.github/workflows/cd.yml @@ -562,7 +562,7 @@ jobs: deploy-production: name: Deploy to Production runs-on: ubuntu-latest - needs: [build-and-push] + needs: [build-and-push, deploy-staging-infra] concurrency: group: deploy-production cancel-in-progress: false From 14c2eb51d152336eb4619da93b73e6c6c853bcb4 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 1 May 2026 13:34:27 +0000 Subject: [PATCH 3/3] fix(bicep): fix multi-line string syntax error in openai.bicep The @description decorator for adminIpAddresses used a single-quoted string spanning two lines, which is invalid Bicep syntax. Single-quoted strings cannot contain newlines. This caused the parser to fail on every subsequent line, breaking both staging and production deployments. Agent-Logs-Url: https://github.com/techhubms/techhub/sessions/0d549980-361d-4da0-b86b-84623d884815 Co-authored-by: rvanmaanen <4835258+rvanmaanen@users.noreply.github.com> --- infra/modules/openai.bicep | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/infra/modules/openai.bicep b/infra/modules/openai.bicep index 2584e2907..4a1b711d0 100644 --- a/infra/modules/openai.bicep +++ b/infra/modules/openai.bicep @@ -22,8 +22,7 @@ param modelCapacity int = 100 @description('Tags applied to the AI Foundry account') param tags object = {} -@description('Admin IP addresses allowed to reach the AI Foundry endpoint over the public internet. -Container Apps always access it via the private endpoint and are unaffected by this list.') +@description('Admin IP addresses allowed to reach the AI Foundry endpoint over the public internet. Container Apps always access it via the private endpoint and are unaffected by this list.') param adminIpAddresses string[] = [] // Azure AI Foundry Account (AIServices)