# Woodpecker CI pipeline for Helix Engage # # Reports published to operations.healix360.net/reports/{pipeline-number}/ # Teams notification sent on completion. when: - event: [push, manual] steps: typecheck: image: node:20 commands: - corepack enable - yarn install --frozen-lockfile || yarn install - yarn tsc --noEmit e2e-tests: image: mcr.microsoft.com/playwright:v1.52.0-noble commands: - corepack enable - yarn install --frozen-lockfile || yarn install - npx playwright install chromium - npx playwright test --reporter=list,html environment: E2E_BASE_URL: https://ramaiah.engage.healix360.net PLAYWRIGHT_HTML_REPORT: playwright-report publish-report: image: plugins/s3 settings: bucket: test-reports source: playwright-report/**/* target: /${CI_PIPELINE_NUMBER} strip_prefix: playwright-report/ path_style: true endpoint: http://minio:9000 access_key: from_secret: s3_access_key secret_key: from_secret: s3_secret_key when: - status: [success, failure] notify-teams: image: curlimages/curl commands: - | if [ "${CI_PIPELINE_STATUS}" = "success" ]; then ICON="✅" COLOR="Good" else ICON="❌" COLOR="Attention" fi 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\": \"${ICON} Helix Engage — Pipeline #${CI_PIPELINE_NUMBER}\"}, {\"type\": \"TextBlock\", \"text\": \"**Branch:** ${CI_COMMIT_BRANCH}\", \"wrap\": true}, {\"type\": \"TextBlock\", \"text\": \"**Status:** ${CI_PIPELINE_STATUS}\", \"wrap\": true}, {\"type\": \"TextBlock\", \"text\": \"**Commit:** ${CI_COMMIT_MESSAGE}\", \"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}\"} ] } }] }" environment: TEAMS_WEBHOOK: from_secret: teams_webhook when: - status: [success, failure]