fix(makefile): route Windows shell-script targets through Git Bash (#2060)

This commit is contained in:
Asish Kumar 2026-04-11 07:00:22 +05:30 committed by GitHub
parent fe2595a05c
commit 092bf13f5e
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -9,8 +9,11 @@ BACKEND_UV_RUN = cd backend && uv run
ifeq ($(OS),Windows_NT) ifeq ($(OS),Windows_NT)
SHELL := cmd.exe SHELL := cmd.exe
PYTHON ?= python PYTHON ?= python
# Run repo shell scripts through Git Bash when Make is launched from cmd.exe / PowerShell.
RUN_WITH_GIT_BASH = call scripts\run-with-git-bash.cmd
else else
PYTHON ?= python3 PYTHON ?= python3
RUN_WITH_GIT_BASH =
endif endif
help: help:
@ -58,7 +61,7 @@ config:
@$(PYTHON) ./scripts/configure.py @$(PYTHON) ./scripts/configure.py
config-upgrade: config-upgrade:
@./scripts/config-upgrade.sh @$(RUN_WITH_GIT_BASH) ./scripts/config-upgrade.sh
# Check required tools # Check required tools
check: check:
@ -116,78 +119,46 @@ setup-sandbox:
# Start all services in development mode (with hot-reloading) # Start all services in development mode (with hot-reloading)
dev: dev:
@$(PYTHON) ./scripts/check.py @$(PYTHON) ./scripts/check.py
ifeq ($(OS),Windows_NT) @$(RUN_WITH_GIT_BASH) ./scripts/serve.sh --dev
@call scripts\run-with-git-bash.cmd ./scripts/serve.sh --dev
else
@./scripts/serve.sh --dev
endif
# Start all services in dev + Gateway mode (experimental: agent runtime embedded in Gateway) # Start all services in dev + Gateway mode (experimental: agent runtime embedded in Gateway)
dev-pro: dev-pro:
@$(PYTHON) ./scripts/check.py @$(PYTHON) ./scripts/check.py
ifeq ($(OS),Windows_NT) @$(RUN_WITH_GIT_BASH) ./scripts/serve.sh --dev --gateway
@call scripts\run-with-git-bash.cmd ./scripts/serve.sh --dev --gateway
else
@./scripts/serve.sh --dev --gateway
endif
# Start all services in production mode (with optimizations) # Start all services in production mode (with optimizations)
start: start:
@$(PYTHON) ./scripts/check.py @$(PYTHON) ./scripts/check.py
ifeq ($(OS),Windows_NT) @$(RUN_WITH_GIT_BASH) ./scripts/serve.sh --prod
@call scripts\run-with-git-bash.cmd ./scripts/serve.sh --prod
else
@./scripts/serve.sh --prod
endif
# Start all services in prod + Gateway mode (experimental) # Start all services in prod + Gateway mode (experimental)
start-pro: start-pro:
@$(PYTHON) ./scripts/check.py @$(PYTHON) ./scripts/check.py
ifeq ($(OS),Windows_NT) @$(RUN_WITH_GIT_BASH) ./scripts/serve.sh --prod --gateway
@call scripts\run-with-git-bash.cmd ./scripts/serve.sh --prod --gateway
else
@./scripts/serve.sh --prod --gateway
endif
# Start all services in daemon mode (background) # Start all services in daemon mode (background)
dev-daemon: dev-daemon:
@$(PYTHON) ./scripts/check.py @$(PYTHON) ./scripts/check.py
ifeq ($(OS),Windows_NT) @$(RUN_WITH_GIT_BASH) ./scripts/serve.sh --dev --daemon
@call scripts\run-with-git-bash.cmd ./scripts/serve.sh --dev --daemon
else
@./scripts/serve.sh --dev --daemon
endif
# Start daemon + Gateway mode (experimental) # Start daemon + Gateway mode (experimental)
dev-daemon-pro: dev-daemon-pro:
@$(PYTHON) ./scripts/check.py @$(PYTHON) ./scripts/check.py
ifeq ($(OS),Windows_NT) @$(RUN_WITH_GIT_BASH) ./scripts/serve.sh --dev --gateway --daemon
@call scripts\run-with-git-bash.cmd ./scripts/serve.sh --dev --gateway --daemon
else
@./scripts/serve.sh --dev --gateway --daemon
endif
# Start prod services in daemon mode (background) # Start prod services in daemon mode (background)
start-daemon: start-daemon:
@$(PYTHON) ./scripts/check.py @$(PYTHON) ./scripts/check.py
ifeq ($(OS),Windows_NT) @$(RUN_WITH_GIT_BASH) ./scripts/serve.sh --prod --daemon
@call scripts\run-with-git-bash.cmd ./scripts/serve.sh --prod --daemon
else
@./scripts/serve.sh --prod --daemon
endif
# Start prod daemon + Gateway mode (experimental) # Start prod daemon + Gateway mode (experimental)
start-daemon-pro: start-daemon-pro:
@$(PYTHON) ./scripts/check.py @$(PYTHON) ./scripts/check.py
ifeq ($(OS),Windows_NT) @$(RUN_WITH_GIT_BASH) ./scripts/serve.sh --prod --gateway --daemon
@call scripts\run-with-git-bash.cmd ./scripts/serve.sh --prod --gateway --daemon
else
@./scripts/serve.sh --prod --gateway --daemon
endif
# Stop all services # Stop all services
stop: stop:
@./scripts/serve.sh --stop @$(RUN_WITH_GIT_BASH) ./scripts/serve.sh --stop
# Clean up # Clean up
clean: stop clean: stop
@ -203,29 +174,29 @@ clean: stop
# Initialize Docker containers and install dependencies # Initialize Docker containers and install dependencies
docker-init: docker-init:
@./scripts/docker.sh init @$(RUN_WITH_GIT_BASH) ./scripts/docker.sh init
# Start Docker development environment # Start Docker development environment
docker-start: docker-start:
@./scripts/docker.sh start @$(RUN_WITH_GIT_BASH) ./scripts/docker.sh start
# Start Docker in Gateway mode (experimental) # Start Docker in Gateway mode (experimental)
docker-start-pro: docker-start-pro:
@./scripts/docker.sh start --gateway @$(RUN_WITH_GIT_BASH) ./scripts/docker.sh start --gateway
# Stop Docker development environment # Stop Docker development environment
docker-stop: docker-stop:
@./scripts/docker.sh stop @$(RUN_WITH_GIT_BASH) ./scripts/docker.sh stop
# View Docker development logs # View Docker development logs
docker-logs: docker-logs:
@./scripts/docker.sh logs @$(RUN_WITH_GIT_BASH) ./scripts/docker.sh logs
# View Docker development logs # View Docker development logs
docker-logs-frontend: docker-logs-frontend:
@./scripts/docker.sh logs --frontend @$(RUN_WITH_GIT_BASH) ./scripts/docker.sh logs --frontend
docker-logs-gateway: docker-logs-gateway:
@./scripts/docker.sh logs --gateway @$(RUN_WITH_GIT_BASH) ./scripts/docker.sh logs --gateway
# ========================================== # ==========================================
# Production Docker Commands # Production Docker Commands
@ -233,12 +204,12 @@ docker-logs-gateway:
# Build and start production services # Build and start production services
up: up:
@./scripts/deploy.sh @$(RUN_WITH_GIT_BASH) ./scripts/deploy.sh
# Build and start production services in Gateway mode # Build and start production services in Gateway mode
up-pro: up-pro:
@./scripts/deploy.sh --gateway @$(RUN_WITH_GIT_BASH) ./scripts/deploy.sh --gateway
# Stop and remove production containers # Stop and remove production containers
down: down:
@./scripts/deploy.sh down @$(RUN_WITH_GIT_BASH) ./scripts/deploy.sh down