when: - event: pull_request - event: push branch: main steps: verify: image: node:24-bookworm-slim commands: - corepack enable - corepack prepare pnpm@11.0.0 --activate - pnpm install --frozen-lockfile - pnpm format:check - pnpm lint - pnpm check - pnpm test - pnpm build - pnpm pack:check notify-ci-failure: image: curlimages/curl:8.14.1 depends_on: [verify] environment: MATTERMOST_BOT_ACCESS_TOKEN: from_secret: mattermost_bot_access_token MATTERMOST_CHANNEL_ID: from_secret: mattermost_tests_channel_id MATTERMOST_POST_API_URL: from_secret: mattermost_post_api_url commands: - | BODY=$(printf '{"channel_id":"%s","message":"[%s - Build #%s] CI failure 💩"}' "$MATTERMOST_CHANNEL_ID" "$CI_REPO" "$CI_PIPELINE_NUMBER") curl --fail --show-error --silent --request POST --header 'Content-Type: application/json' --header "Authorization: Bearer $MATTERMOST_BOT_ACCESS_TOKEN" --data "$BODY" "$MATTERMOST_POST_API_URL" when: - status: [failure] notify-ci-success: image: curlimages/curl:8.14.1 depends_on: [verify] environment: MATTERMOST_BOT_ACCESS_TOKEN: from_secret: mattermost_bot_access_token MATTERMOST_CHANNEL_ID: from_secret: mattermost_tests_channel_id MATTERMOST_POST_API_URL: from_secret: mattermost_post_api_url commands: - | BODY=$(printf '{"channel_id":"%s","message":"[%s - Build #%s] CI success 🎉"}' "$MATTERMOST_CHANNEL_ID" "$CI_REPO" "$CI_PIPELINE_NUMBER") curl --fail --show-error --silent --request POST --header 'Content-Type: application/json' --header "Authorization: Bearer $MATTERMOST_BOT_ACCESS_TOKEN" --data "$BODY" "$MATTERMOST_POST_API_URL" when: - status: [success]