fix: set Azure Container App ingress timeout to 900s, reduce wait times per variant

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
ValueOn AG 2026-02-17 14:13:47 +01:00
parent d93f10d211
commit 7415a96e65
2 changed files with 18 additions and 12 deletions

View file

@ -49,6 +49,10 @@ jobs:
--name ${{ env.CONTAINER_APP_NAME }} \ --name ${{ env.CONTAINER_APP_NAME }} \
--resource-group ${{ env.RESOURCE_GROUP }} \ --resource-group ${{ env.RESOURCE_GROUP }} \
--image ${{ secrets.ACR_LOGIN_SERVER }}/${{ env.IMAGE_NAME }}:${{ github.sha }} --image ${{ secrets.ACR_LOGIN_SERVER }}/${{ env.IMAGE_NAME }}:${{ github.sha }}
az containerapp ingress update \
--name ${{ env.CONTAINER_APP_NAME }} \
--resource-group ${{ env.RESOURCE_GROUP }} \
--request-timeout 900
- name: Summary - name: Summary
run: | run: |

View file

@ -237,10 +237,10 @@ async function _runVariant(
'input[name="loginfmt"], input[type="email"], button:has-text("Sign in"), button:has-text("Join a meeting")', 'input[name="loginfmt"], input[type="email"], button:has-text("Sign in"), button:has-text("Join a meeting")',
{ timeout: 15000, state: 'visible' }, { timeout: 15000, state: 'visible' },
); );
await page.waitForTimeout(2000); await page.waitForTimeout(1000);
} catch { } catch {
_log('warn', 'Login page elements not found, taking screenshot anyway'); _log('warn', 'Login page elements not found, taking screenshot anyway');
await page.waitForTimeout(5000); await page.waitForTimeout(2000);
} }
await _screenshotStep('1 - Login-Seite'); await _screenshotStep('1 - Login-Seite');
@ -289,11 +289,11 @@ async function _runVariant(
'button:has-text("Sign in"), button:has-text("Join a meeting"), button:has-text("Anmelden"), button:has-text("An Besprechung teilnehmen")', 'button:has-text("Sign in"), button:has-text("Join a meeting"), button:has-text("Anmelden"), button:has-text("An Besprechung teilnehmen")',
{ timeout: 30000, state: 'visible' }, { timeout: 30000, state: 'visible' },
); );
await page.waitForTimeout(3000); await page.waitForTimeout(1000);
_log('info', 'Teams landing page loaded'); _log('info', 'Teams landing page loaded');
} catch { } catch {
_log('warn', 'Landing page buttons not found after 30s'); _log('warn', 'Landing page buttons not found after 30s');
await page.waitForTimeout(5000); await page.waitForTimeout(2000);
} }
await _screenshotStep('2 - Teams Landingpage'); await _screenshotStep('2 - Teams Landingpage');
@ -342,15 +342,17 @@ async function _runVariant(
_log('warn', '"Join a meeting" button not found on landing page'); _log('warn', '"Join a meeting" button not found on landing page');
} }
// Wait for the "Join a meeting" form to FULLY load // Wait for the "Join a meeting" form to load (wait for Meeting ID input)
_log('info', 'Waiting for Join a meeting form to load...'); _log('info', 'Waiting for Join a meeting form to load...');
await page.waitForTimeout(5000);
try { try {
await page.waitForLoadState('networkidle', { timeout: 20000 }); await page.waitForSelector('input[placeholder*="meeting" i], input[placeholder*="Meeting" i], input[placeholder*="ID" i]', {
timeout: 15000, state: 'visible',
});
await page.waitForTimeout(1000);
} catch { } catch {
_log('warn', 'networkidle timeout, continuing'); _log('warn', 'Meeting form input not found, continuing');
await page.waitForTimeout(2000);
} }
await page.waitForTimeout(3000);
await _screenshotStep('3 - Join a meeting Formular'); await _screenshotStep('3 - Join a meeting Formular');
// Parse meeting URL to extract Meeting ID and Passcode // Parse meeting URL to extract Meeting ID and Passcode
@ -469,13 +471,13 @@ async function _runVariant(
// Wait for resulting page after clicking Join // Wait for resulting page after clicking Join
if (joinClicked) { if (joinClicked) {
_log('info', 'Waiting for page after Join meeting...'); _log('info', 'Waiting for page after Join meeting...');
await page.waitForTimeout(5000); await page.waitForTimeout(3000);
try { try {
await page.waitForLoadState('networkidle', { timeout: 30000 }); await page.waitForLoadState('networkidle', { timeout: 20000 });
} catch { } catch {
_log('warn', 'networkidle timeout after Join, continuing'); _log('warn', 'networkidle timeout after Join, continuing');
} }
await page.waitForTimeout(10000); await page.waitForTimeout(5000);
} }
await _screenshotStep('5 - Nach Join meeting'); await _screenshotStep('5 - Nach Join meeting');