when: - event: [push, pull_request, manual] steps: - name: install image: node:22-alpine commands: - npm ci - name: test image: node:22-alpine commands: - npm test - name: build image: node:22-alpine commands: - npm run build - name: notify-failure image: curlimages/curl:latest environment: PUSHOVER_TOKEN: from_secret: pushover_token PUSHOVER_USER: from_secret: pushover_user commands: - | curl -s \ --form-string "token=$PUSHOVER_TOKEN" \ --form-string "user=$PUSHOVER_USER" \ --form-string "title=Halfstreet CI failed" \ --form-string "message=$CI_COMMIT_BRANCH: $CI_COMMIT_MESSAGE" \ --form-string "url=$CI_PIPELINE_URL" \ --form-string "url_title=View pipeline" \ https://api.pushover.net/1/messages.json when: - status: failure