11name : Test Automation Content Processing
22
33on :
4- push :
5- branches :
6- - main
7- - dev
8- paths :
9- - ' tests/e2e-test/**'
10- schedule :
11- - cron : ' 0 13 * * *' # Runs at 1 PM UTC
12- workflow_dispatch :
4+ workflow_call :
5+ inputs :
6+ CP_WEB_URL :
7+ required : true
8+ type : string
9+ CP_RG :
10+ required : true
11+ type : string
12+ CP_CONTAINERAPP_PREFIX :
13+ required : true
14+ type : string
1315
1416env :
15- url : ${{ vars.CP_WEB_URL }}
17+ url : ${{ inputs.CP_WEB_URL }}
18+ CP_RG : ${{ inputs.CP_RG }}
19+ CP_CONTAINERAPP_PREFIX : ${{ inputs.CP_CONTAINERAPP_PREFIX }}
1620 accelerator_name : " Content Processing"
1721
22+
1823jobs :
1924 test :
2025
@@ -27,21 +32,21 @@ jobs:
2732 uses : actions/setup-python@v4
2833 with :
2934 python-version : ' 3.12'
30-
31- - name : Azure CLI Login
32- uses : azure/login@v2
33- with :
34- creds : ' {"clientId":"${{ secrets.AZURE_MAINTENANCE_CLIENT_ID }}","clientSecret":"${{ secrets.AZURE_MAINTENANCE_CLIENT_SECRET }}","subscriptionId":" ${{ secrets.AZURE_MAINTENANCE_SUBSCRIPTION_ID }}","tenantId":"${{ secrets.AZURE_TENANT_ID }}"} '
35+
36+ - name : Login to Azure
37+ run : |
38+ az login --service-principal -u ${{ secrets.AZURE_MAINTENANCE_CLIENT_ID }} -p ${{ secrets.AZURE_MAINTENANCE_CLIENT_SECRET }} --tenant ${{ secrets.AZURE_TENANT_ID }}
39+ az account set --subscription ${{ secrets.AZURE_MAINTENANCE_SUBSCRIPTION_ID }}
3540
3641 - name : Start Container App
3742 id : start-container-app
3843 uses : azure/cli@v2
3944 with :
4045 azcliversion : ' latest'
4146 inlineScript : |
42- az rest -m post -u "/subscriptions/${{ secrets.AZURE_MAINTENANCE_SUBSCRIPTION_ID }}/resourceGroups/${{ vars .CP_RG }}/providers/Microsoft.App/containerApps/${{ vars .CP_CONTAINERAPP_PREFIX }}-app/start?api-version=2025-01-01"
43- az rest -m post -u "/subscriptions/${{ secrets.AZURE_MAINTENANCE_SUBSCRIPTION_ID }}/resourceGroups/${{ vars .CP_RG }}/providers/Microsoft.App/containerApps/${{ vars .CP_CONTAINERAPP_PREFIX }}-api/start?api-version=2025-01-01"
44- az rest -m post -u "/subscriptions/${{ secrets.AZURE_MAINTENANCE_SUBSCRIPTION_ID }}/resourceGroups/${{ vars .CP_RG }}/providers/Microsoft.App/containerApps/${{ vars .CP_CONTAINERAPP_PREFIX }}-web/start?api-version=2025-01-01"
47+ az rest -m post -u "/subscriptions/${{ secrets.AZURE_MAINTENANCE_SUBSCRIPTION_ID }}/resourceGroups/${{ env .CP_RG }}/providers/Microsoft.App/containerApps/${{ env .CP_CONTAINERAPP_PREFIX }}-app/start?api-version=2025-01-01"
48+ az rest -m post -u "/subscriptions/${{ secrets.AZURE_MAINTENANCE_SUBSCRIPTION_ID }}/resourceGroups/${{ env .CP_RG }}/providers/Microsoft.App/containerApps/${{ env .CP_CONTAINERAPP_PREFIX }}-api/start?api-version=2025-01-01"
49+ az rest -m post -u "/subscriptions/${{ secrets.AZURE_MAINTENANCE_SUBSCRIPTION_ID }}/resourceGroups/${{ env .CP_RG }}/providers/Microsoft.App/containerApps/${{ env .CP_CONTAINERAPP_PREFIX }}-web/start?api-version=2025-01-01"
4550
4651 - name : Install dependencies
4752 run : |
5156 - name : Ensure browsers are installed
5257 run : python -m playwright install --with-deps chromium
5358
59+ - name : Validate URL
60+ run : |
61+ if [ -z "${{ env.url }}" ]; then
62+ echo "ERROR: No URL provided for testing"
63+ exit 1
64+
65+ fi
66+
67+ echo "Testing URL : ${{ env.url }}"
68+
69+
70+ - name : Wait for Application to be Ready
71+ run : |
72+ echo "Waiting for application to be ready at ${{ env.url }} "
73+ max_attempts=10
74+ attempt=1
75+
76+ while [ $attempt -le $max_attempts ]; do
77+ echo "Attempt $attempt: Checking if application is ready..."
78+ if curl -f -s "${{ env.url }}" > /dev/null; then
79+ echo "Application is ready!"
80+ break
81+
82+ fi
83+
84+ if [ $attempt -eq $max_attempts ]; then
85+ echo "Application is not ready after $max_attempts attempts"
86+ exit 1
87+ fi
88+
89+ echo "Application not ready, waiting 30 seconds..."
90+ sleep 30
91+ attempt=$((attempt + 1))
92+ done
93+
5494 - name : Run tests(1)
5595 id : test1
5696 run : |
@@ -127,7 +167,7 @@ jobs:
127167 with :
128168 azcliversion : ' latest'
129169 inlineScript : |
130- az rest -m post -u "/subscriptions/${{ secrets.AZURE_MAINTENANCE_SUBSCRIPTION_ID }}/resourceGroups/${{ vars .CP_RG }}/providers/Microsoft.App/containerApps/${{ vars .CP_CONTAINERAPP_PREFIX }}-app/stop?api-version=2025-01-01"
131- az rest -m post -u "/subscriptions/${{ secrets.AZURE_MAINTENANCE_SUBSCRIPTION_ID }}/resourceGroups/${{ vars .CP_RG }}/providers/Microsoft.App/containerApps/${{ vars .CP_CONTAINERAPP_PREFIX }}-api/stop?api-version=2025-01-01"
132- az rest -m post -u "/subscriptions/${{ secrets.AZURE_MAINTENANCE_SUBSCRIPTION_ID }}/resourceGroups/${{ vars .CP_RG }}/providers/Microsoft.App/containerApps/${{ vars .CP_CONTAINERAPP_PREFIX }}-web/stop?api-version=2025-01-01"
170+ az rest -m post -u "/subscriptions/${{ secrets.AZURE_MAINTENANCE_SUBSCRIPTION_ID }}/resourceGroups/${{ env .CP_RG }}/providers/Microsoft.App/containerApps/${{ env .CP_CONTAINERAPP_PREFIX }}-app/stop?api-version=2025-01-01"
171+ az rest -m post -u "/subscriptions/${{ secrets.AZURE_MAINTENANCE_SUBSCRIPTION_ID }}/resourceGroups/${{ env .CP_RG }}/providers/Microsoft.App/containerApps/${{ env .CP_CONTAINERAPP_PREFIX }}-api/stop?api-version=2025-01-01"
172+ az rest -m post -u "/subscriptions/${{ secrets.AZURE_MAINTENANCE_SUBSCRIPTION_ID }}/resourceGroups/${{ env .CP_RG }}/providers/Microsoft.App/containerApps/${{ env .CP_CONTAINERAPP_PREFIX }}-web/stop?api-version=2025-01-01"
133173 az logout
0 commit comments