mirror of
https://github.com/beshu-tech/deltaglider.git
synced 2026-04-21 07:51:30 +02:00
fix
This commit is contained in:
76
Makefile
Normal file
76
Makefile
Normal file
@@ -0,0 +1,76 @@
|
||||
.PHONY: help install test test-unit test-integration test-e2e lint format typecheck clean start-localstack stop-localstack
|
||||
|
||||
help: ## Show this help message
|
||||
@echo 'Usage: make [target]'
|
||||
@echo ''
|
||||
@echo 'Targets:'
|
||||
@awk 'BEGIN {FS = ":.*?## "} /^[a-zA-Z_-]+:.*?## / {printf " %-20s %s\n", $$1, $$2}' $(MAKEFILE_LIST)
|
||||
|
||||
install: ## Install dependencies
|
||||
uv pip install -e ".[dev]"
|
||||
|
||||
test: test-unit test-integration test-e2e ## Run all tests
|
||||
|
||||
test-unit: ## Run unit tests only
|
||||
uv run pytest tests/unit -v
|
||||
|
||||
test-integration: ## Run integration tests only
|
||||
uv run pytest tests/integration -v
|
||||
|
||||
test-e2e: start-localstack ## Run e2e tests (starts LocalStack)
|
||||
@echo "Running E2E tests..."
|
||||
@export AWS_ACCESS_KEY_ID=test && \
|
||||
export AWS_SECRET_ACCESS_KEY=test && \
|
||||
export AWS_DEFAULT_REGION=us-east-1 && \
|
||||
export AWS_ENDPOINT_URL=http://localhost:4566 && \
|
||||
uv run pytest tests/e2e -v --tb=short; \
|
||||
exit_code=$$?; \
|
||||
$(MAKE) stop-localstack; \
|
||||
exit $$exit_code
|
||||
|
||||
start-localstack: ## Start LocalStack for e2e testing
|
||||
@echo "Starting LocalStack..."
|
||||
@docker run -d \
|
||||
--name deltaglider-localstack \
|
||||
-p 4566:4566 \
|
||||
-e SERVICES=s3 \
|
||||
-e DEBUG=0 \
|
||||
-e DATA_DIR=/tmp/localstack/data \
|
||||
localstack/localstack:latest || true
|
||||
@echo "Waiting for LocalStack to be ready..."
|
||||
@max_attempts=30; \
|
||||
attempt=0; \
|
||||
while [ $$attempt -lt $$max_attempts ]; do \
|
||||
if curl -s -f http://localhost:4566/_localstack/health > /dev/null 2>&1; then \
|
||||
echo "LocalStack is ready!"; \
|
||||
break; \
|
||||
fi; \
|
||||
echo "Waiting... (attempt $$((attempt + 1))/$$max_attempts)"; \
|
||||
sleep 2; \
|
||||
attempt=$$((attempt + 1)); \
|
||||
done; \
|
||||
if [ $$attempt -eq $$max_attempts ]; then \
|
||||
echo "LocalStack failed to start"; \
|
||||
docker logs deltaglider-localstack; \
|
||||
docker rm -f deltaglider-localstack; \
|
||||
exit 1; \
|
||||
fi
|
||||
|
||||
stop-localstack: ## Stop LocalStack
|
||||
@echo "Stopping LocalStack..."
|
||||
@docker rm -f deltaglider-localstack || true
|
||||
|
||||
lint: ## Run linting
|
||||
uv run ruff check src tests
|
||||
|
||||
format: ## Format code
|
||||
uv run ruff format src tests
|
||||
|
||||
typecheck: ## Run type checking
|
||||
uv run mypy src
|
||||
|
||||
clean: ## Clean up
|
||||
rm -rf .pytest_cache
|
||||
rm -rf __pycache__
|
||||
find . -name "*.pyc" -delete
|
||||
find . -name "__pycache__" -delete
|
||||
Reference in New Issue
Block a user