feat: add configuration files and scripts for project setup ✨
🚀 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
This commit is contained in:
56
scripts/validate-pr.sh
Executable file
56
scripts/validate-pr.sh
Executable file
@ -0,0 +1,56 @@
|
||||
#!/bin/bash
|
||||
|
||||
# PR Validation Script
|
||||
# This script runs all necessary checks before merging a PR
|
||||
|
||||
set -e
|
||||
|
||||
echo "🔍 Starting PR validation..."
|
||||
|
||||
# Check if Node.js is installed
|
||||
if ! command -v node &> /dev/null; then
|
||||
echo "❌ Node.js is not installed"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "📦 Installing dependencies..."
|
||||
npm ci
|
||||
|
||||
echo "🔨 Building project..."
|
||||
npm run build
|
||||
|
||||
echo "🧪 Running unit tests..."
|
||||
npm run test:unit
|
||||
|
||||
echo "✨ Checking code formatting..."
|
||||
npm run format:check || {
|
||||
echo "⚠️ Code formatting issues found. Run 'npm run format' to fix."
|
||||
exit 1
|
||||
}
|
||||
|
||||
echo "🔍 Running linter..."
|
||||
npm run lint || {
|
||||
echo "⚠️ Linting issues found. Run 'npm run lint:fix' to fix."
|
||||
exit 1
|
||||
}
|
||||
|
||||
echo "📊 Running tests with coverage..."
|
||||
npm run test:coverage
|
||||
|
||||
# Check if integration tests should run
|
||||
if [ -n "$GITLAB_TOKEN" ] && [ -n "$TEST_PROJECT_ID" ]; then
|
||||
echo "🌐 Running integration tests..."
|
||||
npm run test:integration
|
||||
else
|
||||
echo "⚠️ Skipping integration tests (no credentials provided)"
|
||||
fi
|
||||
|
||||
echo "🐳 Testing Docker build..."
|
||||
if command -v docker &> /dev/null; then
|
||||
docker build -t mcp-gitlab-test .
|
||||
echo "✅ Docker build successful"
|
||||
else
|
||||
echo "⚠️ Docker not available, skipping Docker build test"
|
||||
fi
|
||||
|
||||
echo "✅ All PR validation checks passed!"
|
Reference in New Issue
Block a user