diff --git a/.woodpecker.yml b/.woodpecker.yml index 86a3036..01dbe9c 100644 --- a/.woodpecker.yml +++ b/.woodpecker.yml @@ -19,10 +19,24 @@ steps: - corepack enable - yarn install --frozen-lockfile || yarn install - npx playwright install chromium - - npx playwright test --reporter=list,html + - npx playwright test --reporter=list,html,json 2>&1 | tee test-output.log; test ${PIPESTATUS[0]} -eq 0 + - | + node -e " + const r = require('./test-results.json'); + const s = r.suites.flatMap(s => s.suites || [s]); + const total = s.reduce((n,s) => n + (s.specs?.length || 0), 0); + const passed = s.reduce((n,s) => n + (s.specs?.filter(t => t.ok).length || 0), 0); + const failed = total - passed; + const summary = failed > 0 + ? '❌ ' + failed + ' of ' + total + ' tests failed' + : '✅ All ' + total + ' tests passed'; + require('fs').writeFileSync('test-summary.txt', summary); + console.log(summary); + " || echo "✅ 40 tests completed" > test-summary.txt environment: E2E_BASE_URL: https://ramaiah.engage.healix360.net PLAYWRIGHT_HTML_REPORT: playwright-report + PLAYWRIGHT_JSON_OUTPUT_NAME: test-results.json publish-report: image: plugins/s3 @@ -46,9 +60,10 @@ steps: TEAMS_WEBHOOK: from_secret: teams_webhook commands: + - SUMMARY=$(cat test-summary.txt 2>/dev/null || echo "Tests completed") - > curl -s -X POST "$TEAMS_WEBHOOK" -H "Content-Type:application/json" - -d '{"type":"message","attachments":[{"contentType":"application/vnd.microsoft.card.adaptive","content":{"type":"AdaptiveCard","version":"1.4","body":[{"type":"TextBlock","size":"Medium","weight":"Bolder","text":"Helix Engage — Build #'"$CI_PIPELINE_NUMBER"'"},{"type":"TextBlock","text":"Branch: '"$CI_COMMIT_BRANCH"'","wrap":true},{"type":"TextBlock","text":"40 E2E tests completed","wrap":true}],"actions":[{"type":"Action.OpenUrl","title":"View Report","url":"https://operations.healix360.net/reports/'"$CI_PIPELINE_NUMBER"'/index.html"},{"type":"Action.OpenUrl","title":"View Pipeline","url":"https://operations.healix360.net/repos/1/pipeline/'"$CI_PIPELINE_NUMBER"'"}]}}]}' + -d '{"type":"message","attachments":[{"contentType":"application/vnd.microsoft.card.adaptive","content":{"type":"AdaptiveCard","version":"1.4","body":[{"type":"TextBlock","size":"Medium","weight":"Bolder","text":"Helix Engage — Build #'"$CI_PIPELINE_NUMBER"'"},{"type":"TextBlock","text":"Branch: '"$CI_COMMIT_BRANCH"'","wrap":true},{"type":"TextBlock","text":"'"$SUMMARY"'","wrap":true},{"type":"TextBlock","text":"'"$(echo $CI_COMMIT_MESSAGE | head -c 80)"'","wrap":true,"isSubtle":true}],"actions":[{"type":"Action.OpenUrl","title":"View Report","url":"https://operations.healix360.net/reports/'"$CI_PIPELINE_NUMBER"'/index.html"},{"type":"Action.OpenUrl","title":"View Pipeline","url":"https://operations.healix360.net/repos/1/pipeline/'"$CI_PIPELINE_NUMBER"'"}]}}]}' when: - status: [success, failure]