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
This commit is contained in:
@@ -0,0 +1,102 @@
|
||||
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
|
||||
Reference in New Issue
Block a user