Improved makefile

This commit is contained in:
barisgit 2025-09-09 20:57:58 +02:00
parent c7102bcd8c
commit 46d8c86e0c

View file

@ -1,66 +1,54 @@
# PartDB Makefile for Test Environment Management # PartDB Makefile for Test Environment Management
.PHONY: help test-setup test-clean test-db-create test-db-migrate test-cache-clear test-fixtures test-run dev-setup dev-clean dev-db-create dev-db-migrate dev-cache-clear dev-warmup dev-reset .PHONY: help deps-install lint format format-check test coverage pre-commit all test-typecheck \
test-setup test-clean test-db-create test-db-migrate test-cache-clear test-fixtures test-run test-reset \
section-dev dev-setup dev-clean dev-db-create dev-db-migrate dev-cache-clear dev-warmup dev-reset
# Default target # Default target
help: help: ## Show this help
@echo "PartDB Test Environment Management" @awk 'BEGIN {FS = ":.*##"}; /^[a-zA-Z0-9][a-zA-Z0-9_-]+:.*##/ {printf "\033[36m%-20s\033[0m %s\n", $$1, $$2}' $(MAKEFILE_LIST)
@echo "=================================="
@echo "" # Dependencies
@echo "Available targets:" deps-install: ## Install PHP dependencies with unlimited memory
@echo " test-setup - Complete test environment setup (clean, create DB, migrate, load fixtures)" @echo "📦 Installing PHP dependencies..."
@echo " test-clean - Clean test cache and database files" COMPOSER_MEMORY_LIMIT=-1 composer install
@echo " test-db-create - Create test database (if not exists)" yarn install
@echo " test-db-migrate - Run database migrations for test environment" @echo "✅ Dependencies installed"
@echo " test-cache-clear- Clear test cache"
@echo " test-fixtures - Load test fixtures"
@echo " test-run - Run PHPUnit tests"
@echo ""
@echo "Development Environment:"
@echo " dev-setup - Complete development environment setup (clean, create DB, migrate, warmup)"
@echo " dev-clean - Clean development cache and database files"
@echo " dev-db-create - Create development database (if not exists)"
@echo " dev-db-migrate - Run database migrations for development environment"
@echo " dev-cache-clear - Clear development cache"
@echo " dev-warmup - Warm up development cache"
@echo " dev-reset - Quick development reset (clean + migrate)"
@echo ""
@echo " help - Show this help message"
# Complete test environment setup # Complete test environment setup
test-setup: test-clean test-db-create test-db-migrate test-fixtures test-setup: test-clean test-db-create test-db-migrate test-fixtures ## Complete test setup (clean, create DB, migrate, fixtures)
@echo "✅ Test environment setup complete!" @echo "✅ Test environment setup complete!"
# Clean test environment # Clean test environment
test-clean: test-clean: ## Clean test cache and database files
@echo "🧹 Cleaning test environment..." @echo "🧹 Cleaning test environment..."
rm -rf var/cache/test rm -rf var/cache/test
rm -f var/app_test.db rm -f var/app_test.db
@echo "✅ Test environment cleaned" @echo "✅ Test environment cleaned"
# Create test database # Create test database
test-db-create: test-db-create: ## Create test database (if not exists)
@echo "🗄️ Creating test database..." @echo "🗄️ Creating test database..."
-php bin/console doctrine:database:create --if-not-exists --env test || echo "⚠️ Database creation failed (expected for SQLite) - continuing..." -php bin/console doctrine:database:create --if-not-exists --env test || echo "⚠️ Database creation failed (expected for SQLite) - continuing..."
# Run database migrations for test environment # Run database migrations for test environment
test-db-migrate: test-db-migrate: ## Run database migrations for test environment
@echo "🔄 Running database migrations..." @echo "🔄 Running database migrations..."
COMPOSER_MEMORY_LIMIT=-1 php bin/console doctrine:migrations:migrate -n --env test COMPOSER_MEMORY_LIMIT=-1 php bin/console doctrine:migrations:migrate -n --env test
# Clear test cache # Clear test cache
test-cache-clear: test-cache-clear: ## Clear test cache
@echo "🗑️ Clearing test cache..." @echo "🗑️ Clearing test cache..."
rm -rf var/cache/test rm -rf var/cache/test
@echo "✅ Test cache cleared" @echo "✅ Test cache cleared"
# Load test fixtures # Load test fixtures
test-fixtures: test-fixtures: ## Load test fixtures
@echo "📦 Loading test fixtures..." @echo "📦 Loading test fixtures..."
php bin/console partdb:fixtures:load -n --env test php bin/console partdb:fixtures:load -n --env test
# Run PHPUnit tests # Run PHPUnit tests
test-run: test-run: ## Run PHPUnit tests
@echo "🧪 Running tests..." @echo "🧪 Running tests..."
php bin/phpunit php bin/phpunit
@ -68,32 +56,36 @@ test-run:
test-reset: test-cache-clear test-db-migrate test-fixtures test-reset: test-cache-clear test-db-migrate test-fixtures
@echo "✅ Test environment reset complete!" @echo "✅ Test environment reset complete!"
test-typecheck: ## Run static analysis (PHPStan)
@echo "🧪 Running type checks..."
COMPOSER_MEMORY_LIMIT=-1 composer phpstan
# Development helpers # Development helpers
dev-setup: dev-clean dev-db-create dev-db-migrate dev-warmup dev-setup: dev-clean dev-db-create dev-db-migrate dev-warmup ## Complete development setup (clean, create DB, migrate, warmup)
@echo "✅ Development environment setup complete!" @echo "✅ Development environment setup complete!"
dev-clean: dev-clean: ## Clean development cache and database files
@echo "🧹 Cleaning development environment..." @echo "🧹 Cleaning development environment..."
rm -rf var/cache/dev rm -rf var/cache/dev
rm -f var/app_dev.db rm -f var/app_dev.db
@echo "✅ Development environment cleaned" @echo "✅ Development environment cleaned"
dev-db-create: dev-db-create: ## Create development database (if not exists)
@echo "🗄️ Creating development database..." @echo "🗄️ Creating development database..."
-php bin/console doctrine:database:create --if-not-exists --env dev || echo "⚠️ Database creation failed (expected for SQLite) - continuing..." -php bin/console doctrine:database:create --if-not-exists --env dev || echo "⚠️ Database creation failed (expected for SQLite) - continuing..."
dev-db-migrate: dev-db-migrate: ## Run database migrations for development environment
@echo "🔄 Running database migrations..." @echo "🔄 Running database migrations..."
COMPOSER_MEMORY_LIMIT=-1 php bin/console doctrine:migrations:migrate -n --env dev COMPOSER_MEMORY_LIMIT=-1 php bin/console doctrine:migrations:migrate -n --env dev
dev-cache-clear: dev-cache-clear: ## Clear development cache
@echo "🗑️ Clearing development cache..." @echo "🗑️ Clearing development cache..."
rm -rf var/cache/dev rm -rf var/cache/dev
@echo "✅ Development cache cleared" @echo "✅ Development cache cleared"
dev-warmup: dev-warmup: ## Warm up development cache
@echo "🔥 Warming up development cache..." @echo "🔥 Warming up development cache..."
COMPOSER_MEMORY_LIMIT=-1 php -d memory_limit=1G bin/console cache:warmup --env dev -n COMPOSER_MEMORY_LIMIT=-1 php -d memory_limit=1G bin/console cache:warmup --env dev -n
dev-reset: dev-cache-clear dev-db-migrate dev-reset: dev-cache-clear dev-db-migrate ## Quick development reset (cache clear + migrate)
@echo "✅ Development environment reset complete!" @echo "✅ Development environment reset complete!"