Skip to content

Commit e840c0a

Browse files
Added Waf into job files
1 parent c51c9d5 commit e840c0a

3 files changed

Lines changed: 53 additions & 70 deletions

File tree

.github/workflows/job-deploy-linux.yml

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,10 @@ on:
2424
EXP:
2525
required: true
2626
type: string
27+
WAF_ENABLED:
28+
required: false
29+
type: string
30+
default: 'false'
2731
AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID:
2832
required: false
2933
type: string
@@ -67,6 +71,16 @@ jobs:
6771
- name: Checkout Code
6872
uses: actions/checkout@v4
6973

74+
- name: Configure Parameters Based on WAF Setting
75+
shell: bash
76+
run: |
77+
if [[ "${{ inputs.WAF_ENABLED }}" == "true" ]]; then
78+
cp infra/main.waf.parameters.json infra/main.parameters.json
79+
echo "✅ Successfully copied WAF parameters to main parameters file"
80+
else
81+
echo "🔧 Configuring Non-WAF deployment - using default main.parameters.json..."
82+
fi
83+
7084
- name: Setup Azure CLI
7185
shell: bash
7286
run: |
@@ -91,7 +105,7 @@ jobs:
91105
id: get_output_linux
92106
shell: bash
93107
run: |
94-
set -e
108+
set -e
95109
echo "Starting azd deployment..."
96110
echo "EXP: ${{ inputs.EXP }}"
97111
echo "Using Docker Image Tag: ${{ inputs.IMAGE_TAG }}"

.github/workflows/job-deploy-windows.yml

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,10 @@ on:
2424
EXP:
2525
required: true
2626
type: string
27+
WAF_ENABLED:
28+
required: false
29+
type: string
30+
default: 'false'
2731
AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID:
2832
required: false
2933
type: string
@@ -67,6 +71,16 @@ jobs:
6771
- name: Checkout Code
6872
uses: actions/checkout@v4
6973

74+
- name: Configure Parameters Based on WAF Setting
75+
shell: bash
76+
run: |
77+
if [[ "${{ inputs.WAF_ENABLED }}" == "true" ]]; then
78+
cp infra/main.waf.parameters.json infra/main.parameters.json
79+
echo "✅ Successfully copied WAF parameters to main parameters file"
80+
else
81+
echo "🔧 Configuring Non-WAF deployment - using default main.parameters.json..."
82+
fi
83+
7084
- name: Setup Azure Developer CLI (Windows)
7185
uses: Azure/setup-azd@v2
7286

.github/workflows/job-deploy.yml

Lines changed: 24 additions & 69 deletions
Original file line numberDiff line numberDiff line change
@@ -155,14 +155,6 @@ jobs:
155155
- name: Checkout Code
156156
uses: actions/checkout@v4
157157

158-
- name: Setup Azure CLI
159-
shell: bash
160-
run: |
161-
if [[ "${{ runner.os }}" == "Linux" ]]; then
162-
curl -sL https://aka.ms/InstallAzureCLIDeb | sudo bash
163-
fi
164-
az --version
165-
166158
- name: Login to Azure
167159
shell: bash
168160
run: |
@@ -220,9 +212,8 @@ jobs:
220212
echo "AZURE_LOCATION=$VALID_REGION" >> $GITHUB_OUTPUT
221213
fi
222214
223-
- name: Generate Resource Group Name (Linux)
224-
if: runner.os == 'Linux'
225-
id: generate_rg_name_linux
215+
- name: Generate Resource Group Name
216+
id: generate_rg_name
226217
shell: bash
227218
run: |
228219
# Check if a resource group name was provided as input
@@ -232,28 +223,11 @@ jobs:
232223
else
233224
echo "Generating a unique resource group name..."
234225
ACCL_NAME="cp" # Account name as specified
235-
SHORT_UUID=$(uuidgen | cut -d'-' -f1)
226+
SHORT_UUID=$(uuidgen | cut -d'-' -f1)
236227
UNIQUE_RG_NAME="arg-${ACCL_NAME}-${SHORT_UUID}"
237228
echo "RESOURCE_GROUP_NAME=${UNIQUE_RG_NAME}" >> $GITHUB_ENV
238229
echo "Generated RESOURCE_GROUP_NAME: ${UNIQUE_RG_NAME}"
239230
fi
240-
- name: Generate Resource Group Name (Windows)
241-
if: runner.os == 'Windows'
242-
id: generate_rg_name_windows
243-
shell: powershell
244-
run: |
245-
# Check if a resource group name was provided as input
246-
if ("${{ inputs.resource_group_name }}" -ne "") {
247-
Write-Host "Using provided Resource Group name: ${{ inputs.resource_group_name }}"
248-
"RESOURCE_GROUP_NAME=${{ inputs.resource_group_name }}" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
249-
} else {
250-
Write-Host "Generating a unique resource group name..."
251-
$ACCL_NAME = "cp" # Account name as specified
252-
$SHORT_UUID = ([guid]::NewGuid().ToString().Split('-')[0])
253-
$UNIQUE_RG_NAME = "arg-${ACCL_NAME}-${SHORT_UUID}"
254-
"RESOURCE_GROUP_NAME=${UNIQUE_RG_NAME}" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
255-
Write-Host "Generated RESOURCE_GROUP_NAME: ${UNIQUE_RG_NAME}"
256-
}
257231
258232
- name: Install Bicep CLI
259233
shell: bash
@@ -341,59 +315,38 @@ jobs:
341315
echo "Generated Environment Name: ${UNIQUE_ENV_NAME}"
342316
echo "ENV_NAME=${UNIQUE_ENV_NAME}" >> $GITHUB_OUTPUT
343317
344-
- name: Configure Parameters Based on WAF Setting
345-
shell: bash
346-
run: |
347-
if [[ "${{ env.WAF_ENABLED }}" == "true" ]]; then
348-
echo "🔧 Configuring WAF deployment - copying main.waf.parameters.json to main.parameters.json..."
349-
cp infra/main.waf.parameters.json infra/main.parameters.json
350-
echo "✅ Successfully copied WAF parameters to main parameters file"
351-
else
352-
echo "🔧 Configuring Non-WAF deployment - using default main.parameters.json..."
353-
if [[ -f infra/main.waf.parameters.json ]] && [[ ! -f infra/main.parameters.json.backup ]]; then
354-
echo "Backing up original parameters file..."
355-
git checkout HEAD -- infra/main.parameters.json || echo "Using existing main.parameters.json"
356-
fi
357-
fi
358-
359318
- name: Display Workflow Configuration to GitHub Summary
360319
shell: bash
361320
run: |
362321
echo "## 📋 Workflow Configuration Summary" >> $GITHUB_STEP_SUMMARY
363322
echo "" >> $GITHUB_STEP_SUMMARY
364323
echo "| Configuration | Value |" >> $GITHUB_STEP_SUMMARY
365324
echo "|---------------|-------|" >> $GITHUB_STEP_SUMMARY
325+
echo "| **Trigger Type** | \`${{ github.event_name }}\` |" >> $GITHUB_STEP_SUMMARY
326+
echo "| **Branch** | \`${{ env.BRANCH_NAME }}\` |" >> $GITHUB_STEP_SUMMARY
327+
echo "| **Runner OS** | \`${{ inputs.runner_os }}\` |" >> $GITHUB_STEP_SUMMARY
328+
echo "| **WAF Enabled** | ${{ env.WAF_ENABLED == 'true' && '✅ Yes' || '❌ No' }} |" >> $GITHUB_STEP_SUMMARY
329+
echo "| **EXP Enabled** | ${{ env.EXP == 'true' && '✅ Yes' || '❌ No' }} |" >> $GITHUB_STEP_SUMMARY
330+
echo "| **Run E2E Tests** | \`${{ env.RUN_E2E_TESTS }}\` |" >> $GITHUB_STEP_SUMMARY
331+
echo "| **Cleanup Resources** | ${{ env.CLEANUP_RESOURCES == 'true' && '✅ Yes' || '❌ No' }} |" >> $GITHUB_STEP_SUMMARY
332+
echo "| **Build Docker Image** | ${{ env.BUILD_DOCKER_IMAGE == 'true' && '✅ Yes' || '❌ No' }} |" >> $GITHUB_STEP_SUMMARY
366333
367-
if [[ "${{ inputs.existing_webapp_url }}" != "" ]]; then
368-
echo "| **Existing WebApp URL (Skips Deployment)** | [${{ inputs.existing_webapp_url }}](${{ inputs.existing_webapp_url }}) |" >> $GITHUB_STEP_SUMMARY
369-
echo "| **Run E2E Tests** | \`${{ env.RUN_E2E_TESTS }}\` |" >> $GITHUB_STEP_SUMMARY
334+
if [[ "${{ inputs.trigger_type }}" == "workflow_dispatch" && -n "${{ inputs.azure_location }}" ]]; then
335+
echo "| **Azure Location** | \`${{ inputs.azure_location }}\` (User Selected) |" >> $GITHUB_STEP_SUMMARY
336+
fi
337+
338+
if [[ -n "${{ inputs.resource_group_name }}" ]]; then
339+
echo "| **Resource Group** | \`${{ inputs.resource_group_name }}\` (Pre-specified) |" >> $GITHUB_STEP_SUMMARY
370340
else
371-
echo "| **Trigger Type** | \`${{ github.event_name }}\` |" >> $GITHUB_STEP_SUMMARY
372-
echo "| **Branch** | \`${{ env.BRANCH_NAME }}\` |" >> $GITHUB_STEP_SUMMARY
373-
echo "| **Runner OS** | \`${{ inputs.runner_os }}\` |" >> $GITHUB_STEP_SUMMARY
374-
echo "| **WAF Enabled** | ${{ env.WAF_ENABLED == 'true' && '✅ Yes' || '❌ No' }} |" >> $GITHUB_STEP_SUMMARY
375-
echo "| **EXP Enabled** | ${{ env.EXP == 'true' && '✅ Yes' || '❌ No' }} |" >> $GITHUB_STEP_SUMMARY
376-
echo "| **Run E2E Tests** | \`${{ env.RUN_E2E_TESTS }}\` |" >> $GITHUB_STEP_SUMMARY
377-
echo "| **Cleanup Resources** | ${{ env.CLEANUP_RESOURCES == 'true' && '✅ Yes' || '❌ No' }} |" >> $GITHUB_STEP_SUMMARY
378-
echo "| **Build Docker Image** | ${{ env.BUILD_DOCKER_IMAGE == 'true' && '✅ Yes' || '❌ No' }} |" >> $GITHUB_STEP_SUMMARY
379-
380-
if [[ "${{ inputs.trigger_type }}" == "workflow_dispatch" && -n "${{ inputs.azure_location }}" ]]; then
381-
echo "| **Azure Location** | \`${{ inputs.azure_location }}\` (User Selected) |" >> $GITHUB_STEP_SUMMARY
382-
fi
383-
384-
if [[ -n "${{ inputs.resource_group_name }}" ]]; then
385-
echo "| **Resource Group** | \`${{ inputs.resource_group_name }}\` (Pre-specified) |" >> $GITHUB_STEP_SUMMARY
386-
fi
341+
echo "| **Resource Group** | \`${{ env.RESOURCE_GROUP_NAME }}\` (Auto-generated) |" >> $GITHUB_STEP_SUMMARY
387342
fi
388343
389344
echo "" >> $GITHUB_STEP_SUMMARY
390345
391-
if [[ "${{ inputs.existing_webapp_url }}" == "" ]]; then
392-
if [[ "${{ inputs.trigger_type }}" != "workflow_dispatch" ]]; then
393-
echo "ℹ️ **Note:** Automatic Trigger - Using Non-WAF + Non-EXP configuration" >> $GITHUB_STEP_SUMMARY
394-
else
395-
echo "ℹ️ **Note:** Manual Trigger - Using user-specified configuration" >> $GITHUB_STEP_SUMMARY
396-
fi
346+
if [[ "${{ inputs.trigger_type }}" != "workflow_dispatch" ]]; then
347+
echo "ℹ️ **Note:** Automatic Trigger - Using Non-WAF + Non-EXP configuration" >> $GITHUB_STEP_SUMMARY
348+
else
349+
echo "ℹ️ **Note:** Manual Trigger - Using user-specified configuration" >> $GITHUB_STEP_SUMMARY
397350
fi
398351
399352
deploy-linux:
@@ -409,6 +362,7 @@ jobs:
409362
IMAGE_TAG: ${{ needs.azure-setup.outputs.IMAGE_TAG }}
410363
BUILD_DOCKER_IMAGE: ${{ github.event.inputs.build_docker_image || 'false' }}
411364
EXP: ${{ github.event.inputs.EXP || 'false' }}
365+
WAF_ENABLED: ${{ inputs.waf_enabled == true && 'true' || 'false' }}
412366
AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID: ${{ inputs.AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID }}
413367
AZURE_EXISTING_AI_PROJECT_RESOURCE_ID: ${{ inputs.AZURE_EXISTING_AI_PROJECT_RESOURCE_ID }}
414368
secrets:
@@ -433,6 +387,7 @@ jobs:
433387
IMAGE_TAG: ${{ needs.azure-setup.outputs.IMAGE_TAG }}
434388
BUILD_DOCKER_IMAGE: ${{ github.event.inputs.build_docker_image || 'false' }}
435389
EXP: ${{ github.event.inputs.EXP || 'false' }}
390+
WAF_ENABLED: ${{ inputs.waf_enabled == true && 'true' || 'false' }}
436391
AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID: ${{ inputs.AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID }}
437392
AZURE_EXISTING_AI_PROJECT_RESOURCE_ID: ${{ inputs.AZURE_EXISTING_AI_PROJECT_RESOURCE_ID }}
438393
secrets:

0 commit comments

Comments
 (0)