fix: resolve .env file parsing issues in Makefile
- Replace shell sourcing with grep/cut parsing to avoid JSON array interpretation - Strip http:// prefix from registry URLs for Docker commands - Fix docker-tag to use correct image name (unitforge-unitforge-prod) - All make commands now work without shell parsing errors
This commit is contained in:
1
.rules
1
.rules
@@ -4,6 +4,7 @@ PRODUCTION: false
|
||||
COMPATIBILITY: none
|
||||
PRINCIPLE: keep_small_simple
|
||||
|
||||
RULE: default_shell_fish
|
||||
RULE: fix_lint_errors
|
||||
RULE: keep_code_lean
|
||||
RULE: keep_tests_consistent
|
||||
|
||||
39
Makefile
39
Makefile
@@ -227,21 +227,23 @@ docker-build: ## Build Docker images
|
||||
docker-tag: ## Tag Docker images with registry URL
|
||||
$(call info,Tagging Docker images for registry...)
|
||||
@if [ -f ".env" ]; then \
|
||||
. ./.env && \
|
||||
docker tag unitforge:latest $${CONTAINER_REGISTRY_URL}:$${CONTAINER_TAG} && \
|
||||
docker tag unitforge:latest $${CONTAINER_REGISTRY_URL}:latest; \
|
||||
REGISTRY_URL=$$(grep '^CONTAINER_REGISTRY_URL=' .env | cut -d'=' -f2 | sed 's|^https\?://||') && \
|
||||
CONTAINER_TAG=$$(grep '^CONTAINER_TAG=' .env | cut -d'=' -f2) && \
|
||||
docker tag unitforge-unitforge-prod:latest $${REGISTRY_URL}:$${CONTAINER_TAG} && \
|
||||
docker tag unitforge-unitforge-prod:latest $${REGISTRY_URL}:latest; \
|
||||
else \
|
||||
echo -e "$(YELLOW)$(WARNING_SYMBOL)$(NC) .env file not found. Using default values."; \
|
||||
docker tag unitforge:latest http://gitea-http.taildb3494.ts.net/will/unitforge:latest; \
|
||||
docker tag unitforge-unitforge-prod:latest http://gitea-http.taildb3494.ts.net/will/unitforge:latest; \
|
||||
fi
|
||||
$(call success,Docker images tagged for registry)
|
||||
|
||||
docker-push: docker-tag ## Push Docker images to registry
|
||||
$(call info,Pushing Docker images to registry...)
|
||||
@if [ -f ".env" ]; then \
|
||||
. ./.env && \
|
||||
docker push $${CONTAINER_REGISTRY_URL}:$${CONTAINER_TAG} && \
|
||||
docker push $${CONTAINER_REGISTRY_URL}:latest; \
|
||||
REGISTRY_URL=$$(grep '^CONTAINER_REGISTRY_URL=' .env | cut -d'=' -f2 | sed 's|^https\?://||') && \
|
||||
CONTAINER_TAG=$$(grep '^CONTAINER_TAG=' .env | cut -d'=' -f2) && \
|
||||
docker push $${REGISTRY_URL}:$${CONTAINER_TAG} && \
|
||||
docker push $${REGISTRY_URL}:latest; \
|
||||
else \
|
||||
echo -e "$(YELLOW)$(WARNING_SYMBOL)$(NC) .env file not found. Using default values."; \
|
||||
docker push http://gitea-http.taildb3494.ts.net/will/unitforge:latest; \
|
||||
@@ -251,8 +253,9 @@ docker-push: docker-tag ## Push Docker images to registry
|
||||
docker-pull: ## Pull Docker images from registry
|
||||
$(call info,Pulling Docker images from registry...)
|
||||
@if [ -f ".env" ]; then \
|
||||
. ./.env && \
|
||||
docker pull $${CONTAINER_REGISTRY_URL}:$${CONTAINER_TAG}; \
|
||||
REGISTRY_URL=$$(grep '^CONTAINER_REGISTRY_URL=' .env | cut -d'=' -f2 | sed 's|^https\?://||') && \
|
||||
CONTAINER_TAG=$$(grep '^CONTAINER_TAG=' .env | cut -d'=' -f2) && \
|
||||
docker pull $${REGISTRY_URL}:$${CONTAINER_TAG}; \
|
||||
else \
|
||||
echo -e "$(YELLOW)$(WARNING_SYMBOL)$(NC) .env file not found. Using default values."; \
|
||||
docker pull http://gitea-http.taildb3494.ts.net/will/unitforge:latest; \
|
||||
@@ -268,9 +271,9 @@ registry-push: registry-build docker-push ## Build, tag, and push images to regi
|
||||
docker-login: ## Login to container registry (interactive)
|
||||
$(call info,Logging into container registry...)
|
||||
@if [ -f ".env" ]; then \
|
||||
. ./.env && \
|
||||
echo "Logging into registry at: $${CONTAINER_REGISTRY_URL}"; \
|
||||
docker login $${CONTAINER_REGISTRY_URL}; \
|
||||
REGISTRY_URL=$$(grep '^CONTAINER_REGISTRY_URL=' .env | cut -d'=' -f2 | sed 's|^https\?://||') && \
|
||||
echo "Logging into registry at: $${REGISTRY_URL}"; \
|
||||
docker login $${REGISTRY_URL}; \
|
||||
else \
|
||||
echo -e "$(YELLOW)$(WARNING_SYMBOL)$(NC) .env file not found. Using default values."; \
|
||||
docker login http://gitea-http.taildb3494.ts.net; \
|
||||
@@ -314,9 +317,10 @@ docker-clean: ## Clean up Docker containers and volumes
|
||||
docker-clean-registry: ## Remove locally cached registry images
|
||||
$(call info,Cleaning registry images from local cache...)
|
||||
@if [ -f ".env" ]; then \
|
||||
. ./.env && \
|
||||
docker rmi $${CONTAINER_REGISTRY_URL}:$${CONTAINER_TAG} 2>/dev/null || true && \
|
||||
docker rmi $${CONTAINER_REGISTRY_URL}:latest 2>/dev/null || true; \
|
||||
REGISTRY_URL=$$(grep '^CONTAINER_REGISTRY_URL=' .env | cut -d'=' -f2 | sed 's|^https\?://||') && \
|
||||
CONTAINER_TAG=$$(grep '^CONTAINER_TAG=' .env | cut -d'=' -f2) && \
|
||||
docker rmi $${REGISTRY_URL}:$${CONTAINER_TAG} 2>/dev/null || true && \
|
||||
docker rmi $${REGISTRY_URL}:latest 2>/dev/null || true; \
|
||||
else \
|
||||
docker rmi http://gitea-http.taildb3494.ts.net/will/unitforge:latest 2>/dev/null || true; \
|
||||
fi
|
||||
@@ -419,8 +423,9 @@ status: ## Show project status
|
||||
@echo ""
|
||||
@echo -e "$(YELLOW)Container Registry:$(NC)"
|
||||
@if [ -f ".env" ]; then \
|
||||
. ./.env && \
|
||||
echo " ✓ Registry URL: $${CONTAINER_REGISTRY_URL}"; \
|
||||
REGISTRY_URL=$$(grep '^CONTAINER_REGISTRY_URL=' .env | cut -d'=' -f2) && \
|
||||
CONTAINER_TAG=$$(grep '^CONTAINER_TAG=' .env | cut -d'=' -f2) && \
|
||||
echo " ✓ Registry URL: $${REGISTRY_URL}"; \
|
||||
echo " ✓ Container Tag: $${CONTAINER_TAG}"; \
|
||||
else \
|
||||
echo " ⚠ .env file not found - using defaults"; \
|
||||
|
||||
Reference in New Issue
Block a user