when: event: - push - pull_request - tag pipeline: setup: image: node:20-alpine commands: - node -v - npm -v - npm ci - cd e2e && npm ci test-tier-fast: image: mcr.microsoft.com/playwright:v1.42.0-jammy environment: TEST_TIER: fast CI: true commands: - cd e2e - npx playwright install --with-deps - npm run test:tier:fast depends_on: - setup test-tier-standard: image: mcr.microsoft.com/playwright:v1.42.0-jammy environment: TEST_TIER: standard CI: true commands: - cd e2e - npx playwright install --with-deps - npm run test:tier:standard depends_on: - test-tier-fast when: status: - success test-tier-deep: image: mcr.microsoft.com/playwright:v1.42.0-jammy environment: TEST_TIER: deep CI: true commands: - cd e2e - npx playwright install --with-deps - npm run test:tier:deep depends_on: - test-tier-standard when: status: - success generate-report: image: node:20-alpine commands: - cd e2e - node scripts/generate-report.js depends_on: - test-tier-fast - test-tier-standard - test-tier-deep upload-artifacts: image: plugins/s3 settings: bucket: test-reports source: e2e/test-results/** target: /${CI_REPO}/${CI_BUILD_NUMBER}/ path_style: true depends_on: - generate-report when: status: - success - failure notify: image: plugins/webhook settings: urls: from_secret: webhook_url content_type: application/json template: | { "repo": "{{ repo.name }}", "build": "{{ build.number }}", "status": "{{ build.status }}", "message": "{{ build.message }}", "author": "{{ commit.author }}", "link": "{{ build.link }}" } depends_on: - upload-artifacts when: status: - success - failure