Files
novalon-website/config/ci/test-tiered.yml
T
张翔 498bb3a3c8 refactor: reorganize project structure and improve code quality
- Move CI/CD configs to config/ci/ directory
- Reorganize scripts into categorized directories (deployment, monitoring, testing, utils)
- Consolidate documentation into docs/ directory with proper structure
- Update linting and testing configurations
- Remove obsolete test reports and performance summaries
- Add new documentation for code quality tools and contact form security
- Improve project organization and maintainability
- Fix lint-staged config to only lint JS/TS files
- Disable react/react-in-jsx-scope rule for Next.js compatibility
- Ignore scripts and test config directories in ESLint
2026-03-24 13:38:58 +08:00

102 lines
2.0 KiB
YAML

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