1- name : Deploy-Test-Cleanup (v2) Linux
1+ name : Deploy-Test-Cleanup (v2)
22on :
33 push :
44 branches :
1919 - ' src/ContentProcessorWeb/config-overrides.js'
2020 - ' src/ContentProcessorWeb/nginx-custom.conf'
2121 - ' src/ContentProcessorWeb/env.sh'
22- - ' .github/workflows/deploy-linux .yml'
22+ - ' .github/workflows/deploy-v2 .yml'
2323 workflow_dispatch :
2424 inputs :
25+ runner_os :
26+ description : ' Deployment Environment'
27+ required : false
28+ type : choice
29+ options :
30+ - ' codespace'
31+ - ' Local'
32+ default : ' codespace'
2533 azure_location :
2634 description : ' Azure Location For Deployment'
2735 required : false
95103permissions :
96104 contents : read
97105 actions : read
106+ id-token : write
98107jobs :
99108 validate-inputs :
100109 runs-on : ubuntu-latest
101110 outputs :
102111 validation_passed : ${{ steps.validate.outputs.passed }}
112+ runner_os : ${{ steps.validate.outputs.runner_os }}
103113 azure_location : ${{ steps.validate.outputs.azure_location }}
104114 resource_group_name : ${{ steps.validate.outputs.resource_group_name }}
105115 waf_enabled : ${{ steps.validate.outputs.waf_enabled }}
@@ -125,9 +135,24 @@ jobs:
125135 INPUT_AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID : ${{ github.event.inputs.AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID }}
126136 INPUT_AZURE_EXISTING_AI_PROJECT_RESOURCE_ID : ${{ github.event.inputs.AZURE_EXISTING_AI_PROJECT_RESOURCE_ID }}
127137 INPUT_EXISTING_WEBAPP_URL : ${{ github.event.inputs.existing_webapp_url }}
138+ INPUT_RUNNER_OS : ${{ github.event.inputs.runner_os }}
128139 run : |
129140 echo "🔍 Validating workflow input parameters..."
130141 VALIDATION_FAILED=false
142+
143+ # Resolve runner_os from Deployment Environment selection
144+ DEPLOY_ENV="${INPUT_RUNNER_OS:-codespace}"
145+ if [[ "$DEPLOY_ENV" == "codespace" ]]; then
146+ RUNNER_OS="ubuntu-latest"
147+ echo "✅ Deployment Environment: 'codespace' → runner: ubuntu-latest"
148+ elif [[ "$DEPLOY_ENV" == "Local" ]]; then
149+ RUNNER_OS="windows-latest"
150+ echo "✅ Deployment Environment: 'Local' → runner: windows-latest"
151+ else
152+ echo "❌ ERROR: Deployment Environment must be 'codespace' or 'Local', got: '$DEPLOY_ENV'"
153+ VALIDATION_FAILED=true
154+ RUNNER_OS="ubuntu-latest"
155+ fi
131156
132157 # Validate azure_location (Azure region format)
133158 LOCATION="${INPUT_AZURE_LOCATION:-australiaeast}"
@@ -251,6 +276,7 @@ jobs:
251276
252277 # Output validated values
253278 echo "passed=true" >> $GITHUB_OUTPUT
279+ echo "runner_os=$RUNNER_OS" >> $GITHUB_OUTPUT
254280 echo "azure_location=$LOCATION" >> $GITHUB_OUTPUT
255281 echo "resource_group_name=$INPUT_RESOURCE_GROUP_NAME" >> $GITHUB_OUTPUT
256282 echo "waf_enabled=$WAF_ENABLED" >> $GITHUB_OUTPUT
@@ -267,7 +293,7 @@ jobs:
267293 if : needs.validate-inputs.outputs.validation_passed == 'true'
268294 uses : ./.github/workflows/deploy-orchestrator.yml
269295 with :
270- runner_os : ubuntu-latest
296+ runner_os : ${{ needs.validate-inputs.outputs.runner_os || ' ubuntu-latest' }}
271297 azure_location : ${{ needs.validate-inputs.outputs.azure_location || 'australiaeast' }}
272298 resource_group_name : ${{ needs.validate-inputs.outputs.resource_group_name || '' }}
273299 waf_enabled : ${{ needs.validate-inputs.outputs.waf_enabled == 'true' }}
0 commit comments