
🚀 Breaking Changes: - Introduced new environment variables for GitLab API integration - Added validation script for PR checks - Updated package.json with new scripts for testing and formatting 📝 Details: - Added .prettierrc and .eslintrc.json for code formatting and linting - Created .env.example for environment variable setup - Updated CHANGELOG.md with recent changes - Added documentation for GitHub secrets setup
97 lines
2.1 KiB
Markdown
97 lines
2.1 KiB
Markdown
# PR Validation Guide
|
|
|
|
## Overview
|
|
|
|
All Pull Requests are now automatically tested and validated. Manual testing is no longer required!
|
|
|
|
## Automated Validation Items
|
|
|
|
### 1. Build and Type Check
|
|
|
|
- TypeScript compilation success
|
|
- No type errors
|
|
|
|
### 2. Testing
|
|
|
|
- **Unit Tests**: API endpoints, error handling, authentication, etc.
|
|
- **Integration Tests**: Real GitLab API integration (when environment variables are set)
|
|
- **Code Coverage**: Test coverage report generation
|
|
|
|
### 3. Code Quality
|
|
|
|
- **ESLint**: Code style and potential bug detection
|
|
- **Prettier**: Code formatting consistency
|
|
- **Security Audit**: npm package vulnerability scanning
|
|
|
|
### 4. Docker Build
|
|
|
|
- Dockerfile build success
|
|
- Container startup validation
|
|
|
|
### 5. Node.js Version Compatibility
|
|
|
|
- Tested across Node.js 18.x, 20.x, and 22.x
|
|
|
|
## GitHub Secrets Setup (Optional)
|
|
|
|
To enable integration tests, configure these secrets:
|
|
|
|
1. `GITLAB_TOKEN_TEST`: GitLab Personal Access Token
|
|
2. `TEST_PROJECT_ID`: Test GitLab project ID
|
|
3. `GITLAB_API_URL`: GitLab API URL (default: https://gitlab.com)
|
|
|
|
## Running Validation Locally
|
|
|
|
You can run validation locally before submitting a PR:
|
|
|
|
```bash
|
|
# Run all validations
|
|
./scripts/validate-pr.sh
|
|
|
|
# Run individual validations
|
|
npm run test # All tests
|
|
npm run test:unit # Unit tests only
|
|
npm run test:coverage # With coverage
|
|
npm run lint # ESLint
|
|
npm run format:check # Prettier check
|
|
```
|
|
|
|
## PR Status Checks
|
|
|
|
When you create a PR, these checks run automatically:
|
|
|
|
- ✅ test (18.x)
|
|
- ✅ test (20.x)
|
|
- ✅ test (22.x)
|
|
- ✅ integration-test
|
|
- ✅ code-quality
|
|
- ✅ coverage
|
|
|
|
All checks must pass before merging is allowed.
|
|
|
|
## Troubleshooting
|
|
|
|
### Test Failures
|
|
|
|
1. Check the failed test in the PR's "Checks" tab
|
|
2. Review specific error messages in the logs
|
|
3. Run the test locally to debug
|
|
|
|
### Formatting Errors
|
|
|
|
```bash
|
|
npm run format # Auto-fix formatting
|
|
npm run lint:fix # Auto-fix ESLint issues
|
|
```
|
|
|
|
### Type Errors
|
|
|
|
```bash
|
|
npx tsc --noEmit # Run type check only
|
|
```
|
|
|
|
## Dependabot Auto-merge
|
|
|
|
- Minor and patch updates are automatically merged
|
|
- Major updates require manual review
|