1- name : Deploy-Test-Cleanup (v2) Linux
1+ name : Deploy-Test-Cleanup (v2)
22
33permissions :
4+ id-token : write
45 contents : read
56 actions : read
67on :
1415 - hotfix
1516 workflow_dispatch :
1617 inputs :
18+ runner_os :
19+ description : ' Deployment Environment'
20+ required : false
21+ type : choice
22+ options :
23+ - ' codespace'
24+ - ' Local'
25+ default : ' codespace'
1726 azure_location :
1827 description : ' Azure Location For Deployment'
1928 required : false
9099 runs-on : ubuntu-latest
91100 outputs :
92101 validation_passed : ${{ steps.validate.outputs.passed }}
102+ runner_os : ${{ steps.validate.outputs.runner_os }}
93103 azure_location : ${{ steps.validate.outputs.azure_location }}
94104 resource_group_name : ${{ steps.validate.outputs.resource_group_name }}
95105 waf_enabled : ${{ steps.validate.outputs.waf_enabled }}
@@ -105,6 +115,7 @@ jobs:
105115 id : validate
106116 shell : bash
107117 env :
118+ INPUT_RUNNER_OS : ${{ github.event.inputs.runner_os }}
108119 INPUT_AZURE_LOCATION : ${{ github.event.inputs.azure_location }}
109120 INPUT_RESOURCE_GROUP_NAME : ${{ github.event.inputs.resource_group_name }}
110121 INPUT_WAF_ENABLED : ${{ github.event.inputs.waf_enabled }}
@@ -118,6 +129,20 @@ jobs:
118129 run : |
119130 echo "🔍 Validating workflow input parameters..."
120131 VALIDATION_FAILED=false
132+
133+ # Resolve runner_os from Deployment Environment selection
134+ DEPLOY_ENV="${INPUT_RUNNER_OS:-codespace}"
135+ if [[ "$DEPLOY_ENV" == "codespace" ]]; then
136+ RUNNER_OS="ubuntu-latest"
137+ echo "✅ Deployment Environment: 'codespace' → runner: ubuntu-latest"
138+ elif [[ "$DEPLOY_ENV" == "Local" ]]; then
139+ RUNNER_OS="windows-latest"
140+ echo "✅ Deployment Environment: 'Local' → runner: windows-latest"
141+ else
142+ echo "❌ ERROR: Deployment Environment must be 'codespace' or 'Local', got: '$DEPLOY_ENV'"
143+ VALIDATION_FAILED=true
144+ RUNNER_OS="ubuntu-latest"
145+ fi
121146
122147 # Validate azure_location (Azure region format)
123148 LOCATION="${INPUT_AZURE_LOCATION:-australiaeast}"
@@ -241,6 +266,7 @@ jobs:
241266
242267 # Output validated values
243268 echo "passed=true" >> $GITHUB_OUTPUT
269+ echo "runner_os=$RUNNER_OS" >> $GITHUB_OUTPUT
244270 echo "azure_location=$LOCATION" >> $GITHUB_OUTPUT
245271 echo "resource_group_name=$INPUT_RESOURCE_GROUP_NAME" >> $GITHUB_OUTPUT
246272 echo "waf_enabled=$WAF_ENABLED" >> $GITHUB_OUTPUT
@@ -257,7 +283,7 @@ jobs:
257283 if : needs.validate-inputs.outputs.validation_passed == 'true'
258284 uses : ./.github/workflows/deploy-orchestrator.yml
259285 with :
260- runner_os : ubuntu-latest
286+ runner_os : ${{ needs.validate-inputs.outputs.runner_os || ' ubuntu-latest' }}
261287 azure_location : ${{ needs.validate-inputs.outputs.azure_location || 'australiaeast' }}
262288 resource_group_name : ${{ needs.validate-inputs.outputs.resource_group_name || '' }}
263289 waf_enabled : ${{ needs.validate-inputs.outputs.waf_enabled == 'true' }}
0 commit comments