Skip to content

Commit 75f87db

Browse files
committed
feat(workflow): enhance test-e2e workflow to retrieve Store IPs and run Playwright tests
1 parent eb5fb9e commit 75f87db

1 file changed

Lines changed: 42 additions & 0 deletions

File tree

.github/workflows/test-e2e.yaml

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,48 @@ jobs:
4848
AZURE_LOCATION: ${{ vars.AZURE_LOCATION }}
4949
AZURE_SUBSCRIPTION_ID: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
5050

51+
- name: Get Store IPs
52+
id: kubectl_get_service
53+
run: |
54+
eval $(azd env get-values)
55+
#az aks get-credentials --resource-group $AZURE_RESOURCE_GROUP --name $AZURE_AKS_CLUSTER_NAME
56+
storeAdminIp=$(kubectl get service store-admin -n $AZURE_AKS_NAMESPACE -o jsonpath='{.status.loadBalancer.ingress[0].ip}')
57+
while [ -z "$storeAdminIp" ]; do
58+
sleep 60
59+
storeAdminIp=$(kubectl get service store-admin -n $AZURE_AKS_NAMESPACE -o jsonpath='{.status.loadBalancer.ingress[0].ip}')
60+
done
61+
echo "STORE_ADMIN_IP=${storeAdminIp}"
62+
echo "STORE_ADMIN_IP=${storeAdminIp}" >> "$GITHUB_OUTPUT"
63+
storeFrontIp=$(kubectl get service store-front -n $AZURE_AKS_NAMESPACE -o jsonpath='{.status.loadBalancer.ingress[0].ip}')
64+
while [ -z "$storeFrontIp" ]; do
65+
sleep 60
66+
storeFrontIp=$(kubectl get service store-front -n $AZURE_AKS_NAMESPACE -o jsonpath='{.status.loadBalancer.ingress[0].ip}')
67+
done
68+
echo "STORE_FRONT_IP=${storeFrontIp}"
69+
echo "STORE_FRONT_IP=${storeFrontIp}" >> "$GITHUB_OUTPUT"
70+
71+
- name: Install Playwright dependencies
72+
run: npm ci
73+
working-directory: tests
74+
75+
- name: Install Playwright Browsers
76+
run: npx playwright install --with-deps
77+
working-directory: tests
78+
79+
- name: Run Playwright tests
80+
run: npx playwright test
81+
working-directory: tests
82+
env:
83+
STORE_ADMIN_URL: ${{ steps.kubectl_get_service.outputs.STORE_ADMIN_IP }}
84+
STORE_FRONT_URL: ${{ steps.kubectl_get_service.outputs.STORE_FRONT_IP }}
85+
86+
- uses: actions/upload-artifact@v3
87+
if: always()
88+
with:
89+
name: playwright-report-store-admin
90+
path: tests/playwright-report
91+
retention-days: 30
92+
5193
- name: Destroy environment
5294
run: azd down --force --purge
5395
if: always()

0 commit comments

Comments
 (0)