# Woodpecker CI pipeline for Helix Engage Server (sidecar) # # Runs unit tests. Teams notification on completion. when: - event: [push, manual] steps: unit-tests: image: node:20 commands: - npm ci - npm test -- --ci --forceExit notify-teams: image: curlimages/curl commands: - | if [ "${CI_PIPELINE_STATUS}" = "success" ]; then ICON="✅" else ICON="❌" 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 Server — 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 Pipeline\", \"url\": \"https://operations.healix360.net/repos/2/pipeline/${CI_PIPELINE_NUMBER}\"} ] } }] }" environment: TEAMS_WEBHOOK: from_secret: teams_webhook when: - status: [success, failure]