Skip to content

Commit 601a3bd

Browse files
Add bash shell specification to all steps
1 parent 0ee062b commit 601a3bd

File tree

1 file changed

+42
-0
lines changed

1 file changed

+42
-0
lines changed

.github/workflows/deploy-v2.yml

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,7 @@ jobs:
9999

100100
- name: Generate Unique Docker Image Tag
101101
id: generate_docker_tag
102+
shell: bash
102103
run: |
103104
echo "🔨 Building new Docker image - generating unique tag..."
104105
# Generate unique tag for manual deployment runs
@@ -159,12 +160,14 @@ jobs:
159160
${{ secrets.ACR_TEST_LOGIN_SERVER }}/contentprocessorweb:${{ steps.generate_docker_tag.outputs.IMAGE_TAG }}_${{ github.run_number }}
160161
161162
- name: Verify Docker Image Build
163+
shell: bash
162164
run: |
163165
echo "✅ Docker image successfully built and pushed"
164166
echo "Image tag: ${{ steps.generate_docker_tag.outputs.IMAGE_TAG }}"
165167
166168
- name: Generate Docker Build Summary
167169
if: always()
170+
shell: bash
168171
run: |
169172
# Extract ACR name from the secret
170173
ACR_NAME=$(echo "${{ secrets.ACR_TEST_LOGIN_SERVER }}")
@@ -213,6 +216,7 @@ jobs:
213216

214217
steps:
215218
- name: Display Workflow Configuration
219+
shell: bash
216220
run: |
217221
echo "🚀 ==================================="
218222
echo "📋 WORKFLOW CONFIGURATION SUMMARY"
@@ -250,6 +254,7 @@ jobs:
250254
echo "🚀 ==================================="
251255
252256
- name: Validate and Auto-Configure EXP
257+
shell: bash
253258
run: |
254259
echo "🔍 Validating EXP configuration..."
255260
@@ -272,17 +277,20 @@ jobs:
272277
uses: actions/checkout@v4
273278

274279
- name: Setup Azure CLI
280+
shell: bash
275281
run: |
276282
curl -sL https://aka.ms/InstallAzureCLIDeb | sudo bash
277283
az --version # Verify installation
278284
279285
- name: Login to Azure
286+
shell: bash
280287
run: |
281288
az login --service-principal -u ${{ secrets.AZURE_CLIENT_ID }} -p ${{ secrets.AZURE_CLIENT_SECRET }} --tenant ${{ secrets.AZURE_TENANT_ID }}
282289
az account set --subscription ${{ secrets.AZURE_SUBSCRIPTION_ID }}
283290
284291
- name: Run Quota Check
285292
id: quota-check
293+
shell: bash
286294
run: |
287295
export AZURE_CLIENT_ID=${{ secrets.AZURE_CLIENT_ID }}
288296
export AZURE_TENANT_ID=${{ secrets.AZURE_TENANT_ID }}
@@ -303,16 +311,19 @@ jobs:
303311
- name: Set Quota Failure Output
304312
id: quota_failure_output
305313
if: env.QUOTA_FAILED == 'true'
314+
shell: bash
306315
run: |
307316
echo "QUOTA_FAILED=true" >> $GITHUB_OUTPUT
308317
echo "Quota check failed - will notify via separate notification job"
309318
310319
- name: Fail Pipeline if Quota Check Fails
311320
if: env.QUOTA_FAILED == 'true'
321+
shell: bash
312322
run: exit 1
313323

314324
- name: Set Deployment Region
315325
id: set_region
326+
shell: bash
316327
run: |
317328
# Set AZURE_ENV_OPENAI_LOCATION from quota check result
318329
echo "Selected Region from Quota Check: $VALID_REGION"
@@ -333,6 +344,7 @@ jobs:
333344
334345
- name: Generate Resource Group Name
335346
id: generate_rg_name
347+
shell: bash
336348
run: |
337349
# Check if a resource group name was provided as input
338350
if [[ -n "${{ github.event.inputs.resource_group_name }}" ]]; then
@@ -348,21 +360,25 @@ jobs:
348360
fi
349361
350362
- name: Setup Azure Developer CLI
363+
shell: bash
351364
run: |
352365
curl -fsSL https://aka.ms/install-azd.sh | sudo bash
353366
azd version
354367
355368
- name: Login to Azure
356369
id: login-azure
370+
shell: bash
357371
run: |
358372
az login --service-principal -u ${{ secrets.AZURE_CLIENT_ID }} -p ${{ secrets.AZURE_CLIENT_SECRET }} --tenant ${{ secrets.AZURE_TENANT_ID }}
359373
azd auth login --client-id ${{ secrets.AZURE_CLIENT_ID }} --client-secret ${{ secrets.AZURE_CLIENT_SECRET }} --tenant-id ${{ secrets.AZURE_TENANT_ID }}
360374
361375
- name: Install Bicep CLI
376+
shell: bash
362377
run: az bicep install
363378

364379
- name: Check and Create Resource Group
365380
id: check_create_rg
381+
shell: bash
366382
run: |
367383
set -e
368384
echo "🔍 Checking if resource group '$RESOURCE_GROUP_NAME' exists..."
@@ -379,6 +395,7 @@ jobs:
379395
380396
- name: Generate Unique Solution Prefix
381397
id: generate_solution_prefix
398+
shell: bash
382399
run: |
383400
set -e
384401
COMMON_PART="psldg"
@@ -390,6 +407,7 @@ jobs:
390407
391408
- name: Determine Docker Image Tag
392409
id: determine_image_tag
410+
shell: bash
393411
run: |
394412
if [[ "${{ env.BUILD_DOCKER_IMAGE }}" == "true" ]]; then
395413
# Use the tag from docker-build job if it was built
@@ -432,6 +450,7 @@ jobs:
432450
433451
- name: Generate Unique Environment Name
434452
id: generate_env_name
453+
shell: bash
435454
run: |
436455
COMMON_PART="pslc"
437456
TIMESTAMP=$(date +%s)
@@ -442,6 +461,7 @@ jobs:
442461
echo "ENV_NAME=${UNIQUE_ENV_NAME}" >> $GITHUB_OUTPUT
443462
444463
- name: Configure Parameters Based on WAF Setting
464+
shell: bash
445465
run: |
446466
if [[ "${{ env.WAF_ENABLED }}" == "true" ]]; then
447467
echo "🔧 Configuring WAF deployment - copying main.waf.parameters.json to main.parameters.json..."
@@ -458,6 +478,7 @@ jobs:
458478
459479
- name: Deploy using azd up and extract values (${{ github.event.inputs.waf_enabled == 'true' && 'WAF' || 'Non-WAF' }}+${{ (github.event.inputs.EXP == 'true' || github.event.inputs.AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID != '' || github.event.inputs.AZURE_EXISTING_AI_PROJECT_RESOURCE_ID != '') && 'EXP' || 'Non-EXP' }})
460480
id: get_output
481+
shell: bash
461482
run: |
462483
set -e
463484
echo "Starting azd deployment..."
@@ -551,6 +572,7 @@ jobs:
551572
552573
- name: Register schemas
553574
id: register
575+
shell: bash
554576
run: |
555577
echo "Registering schemas..."
556578
sleep 40 # Wait for the API to be ready
@@ -560,6 +582,7 @@ jobs:
560582
./register_schema.sh ${{ env.CONTAINER_API_APPURL }}/schemavault/ schema_info_sh.json
561583
562584
- name: Upload sample invoice and claim data
585+
shell: bash
563586
run: |
564587
echo "Uploading sample data..."
565588
cd src/ContentProcessorAPI/samples
@@ -569,12 +592,14 @@ jobs:
569592
570593
571594
- name: Disable Auth in Web App
595+
shell: bash
572596
run: |
573597
az containerapp update --name ${{ env.CONTAINER_WEB_APPNAME }} \
574598
--resource-group ${{ env.RESOURCE_GROUP_NAME }} \
575599
--set-env-vars APP_AUTH_ENABLED=false
576600
577601
- name: Disable Auth in API App
602+
shell: bash
578603
run: |
579604
sleep 30
580605
az containerapp update --name ${{ env.CONTAINER_API_APPNAME }} \
@@ -583,12 +608,14 @@ jobs:
583608
584609
- name: Logout from Azure
585610
if: always()
611+
shell: bash
586612
run: |
587613
az logout
588614
echo "Logged out from Azure."
589615
590616
- name: Generate Deploy Job Summary
591617
if: always()
618+
shell: bash
592619
run: |
593620
echo "## 🚀 Deploy Job Summary" >> $GITHUB_STEP_SUMMARY
594621
echo "" >> $GITHUB_STEP_SUMMARY
@@ -635,6 +662,7 @@ jobs:
635662
steps:
636663
- name: Determine Test Suite Display Name
637664
id: test_suite
665+
shell: bash
638666
run: |
639667
# Determine test suite display name based on RUN_E2E_TESTS value
640668
if [ "${{ env.RUN_E2E_TESTS }}" = "GoldenPath-Testing" ]; then
@@ -651,6 +679,7 @@ jobs:
651679
652680
- name: Send Quota Failure Notification
653681
if: needs.deploy.result == 'failure' && needs.deploy.outputs.QUOTA_FAILED == 'true'
682+
shell: bash
654683
run: |
655684
RUN_URL="https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}"
656685
EMAIL_BODY=$(cat <<EOF
@@ -667,6 +696,7 @@ jobs:
667696
668697
- name: Send Deployment Failure Notification
669698
if: needs.deploy.result == 'failure' && needs.deploy.outputs.QUOTA_FAILED != 'true'
699+
shell: bash
670700
run: |
671701
RUN_URL="https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}"
672702
RESOURCE_GROUP="${{ needs.deploy.outputs.RESOURCE_GROUP_NAME }}"
@@ -685,6 +715,7 @@ jobs:
685715
686716
- name: Send Success Notification
687717
if: needs.deploy.result == 'success' && (needs.e2e-test.result == 'skipped' || needs.e2e-test.outputs.TEST_SUCCESS == 'true')
718+
shell: bash
688719
run: |
689720
RUN_URL="https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}"
690721
WEBAPP_URL="${{ needs.deploy.outputs.CONTAINER_WEB_APPURL || github.event.inputs.existing_webapp_url }}"
@@ -717,6 +748,7 @@ jobs:
717748
718749
- name: Send Test Failure Notification
719750
if: needs.deploy.result == 'success' && needs.e2e-test.result != 'skipped' && needs.e2e-test.outputs.TEST_SUCCESS != 'true'
751+
shell: bash
720752
run: |
721753
RUN_URL="https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}"
722754
TEST_REPORT_URL="${{ needs.e2e-test.outputs.TEST_REPORT_URL }}"
@@ -739,6 +771,7 @@ jobs:
739771
- name: Send Existing URL Success Notification
740772
# Scenario: Deployment skipped (existing URL provided) AND e2e tests passed
741773
if: needs.deploy.result == 'skipped' && github.event.inputs.existing_webapp_url != '' && needs.e2e-test.result == 'success' && (needs.e2e-test.outputs.TEST_SUCCESS == 'true' || needs.e2e-test.outputs.TEST_SUCCESS == '')
774+
shell: bash
742775
run: |
743776
RUN_URL="https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}"
744777
EXISTING_URL="${{ github.event.inputs.existing_webapp_url }}"
@@ -760,6 +793,7 @@ jobs:
760793
- name: Send Existing URL Test Failure Notification
761794
# Scenario: Deployment skipped (existing URL provided) AND e2e tests failed
762795
if: needs.deploy.result == 'skipped' && github.event.inputs.existing_webapp_url != '' && needs.e2e-test.result == 'failure'
796+
shell: bash
763797
run: |
764798
RUN_URL="https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}"
765799
EXISTING_URL="${{ github.event.inputs.existing_webapp_url }}"
@@ -793,26 +827,31 @@ jobs:
793827
uses: actions/checkout@v4
794828

795829
- name: Setup Azure Developer CLI
830+
shell: bash
796831
run: |
797832
curl -fsSL https://aka.ms/install-azd.sh | sudo bash
798833
azd version
799834
800835
- name: Login to Azure
836+
shell: bash
801837
run: |
802838
azd auth login --client-id ${{ secrets.AZURE_CLIENT_ID }} --client-secret ${{ secrets.AZURE_CLIENT_SECRET }} --tenant-id ${{ secrets.AZURE_TENANT_ID }}
803839
azd config set defaults.subscription ${{ secrets.AZURE_SUBSCRIPTION_ID }}
804840
805841
- name: Setup Azure CLI for Docker cleanup
842+
shell: bash
806843
run: |
807844
curl -sL https://aka.ms/InstallAzureCLIDeb | sudo bash
808845
az --version
809846
810847
- name: Login to Azure CLI for Docker cleanup
848+
shell: bash
811849
run: |
812850
az login --service-principal -u ${{ secrets.AZURE_CLIENT_ID }} -p ${{ secrets.AZURE_CLIENT_SECRET }} --tenant ${{ secrets.AZURE_TENANT_ID }}
813851
814852
- name: Delete Docker Images from ACR
815853
if: github.event.inputs.existing_webapp_url == ''
854+
shell: bash
816855
run: |
817856
set -e
818857
echo "🗑️ Cleaning up Docker images from Azure Container Registry..."
@@ -840,6 +879,7 @@ jobs:
840879
fi
841880
842881
- name: Select Environment and Delete deployment using azd
882+
shell: bash
843883
run: |
844884
set -e
845885
# Try to select the environment if it exists, otherwise create a minimal environment for cleanup
@@ -862,13 +902,15 @@ jobs:
862902
863903
- name: Logout from Azure
864904
if: always()
905+
shell: bash
865906
run: |
866907
azd auth logout
867908
az logout || echo "Warning: Failed to logout from Azure CLI"
868909
echo "Logged out from Azure."
869910
870911
- name: Generate Cleanup Job Summary
871912
if: always()
913+
shell: bash
872914
run: |
873915
echo "## 🧹 Cleanup Job Summary" >> $GITHUB_STEP_SUMMARY
874916
echo "" >> $GITHUB_STEP_SUMMARY

0 commit comments

Comments
 (0)