From b98d31ee0a024176d47284d33df9c4c9068434a0 Mon Sep 17 00:00:00 2001 From: Sergey Antropoff Date: Sat, 18 Jul 2026 08:52:35 +0300 Subject: [PATCH] Make push accept multiline commit messages; ignore Pulumi reports. Align make push with the Proxmox simulator (cat until Ctrl-D) and stop tracking regenerated pulumi-tests/reports output. --- .gitignore | 3 +++ Makefile | 28 +++++++++++++++------------- 2 files changed, 18 insertions(+), 13 deletions(-) diff --git a/.gitignore b/.gitignore index 55bf803..cfb5032 100644 --- a/.gitignore +++ b/.gitignore @@ -79,3 +79,6 @@ docker-compose.override.yml # Lab probe output (regenerated by scripts/probe_api_surface.py) evidence/_api_surface_probe.json + +# Pulumi suite HTML/JSON reports (regenerated locally) +pulumi-tests/reports/* diff --git a/Makefile b/Makefile index d9ed88a..69b99e6 100644 --- a/Makefile +++ b/Makefile @@ -240,21 +240,23 @@ seed: ## Seed simulation data (vSphere; PROFILE= / VSPHERE_PROFILE=small|large|b shell: ## Open an interactive shell in the development container $(COMPOSE) run --rm --no-deps $(SERVICE_DEV) bash -push: ## git add ., prompt for commit message, push to both remotes - @git add . - @if git diff --cached --quiet; then \ - echo "Nothing to commit (working tree clean after git add .)."; \ +push: ## git add ., multiline commit message (Ctrl-D), push to both remotes + @set -e; \ + git add .; \ + echo "=== staged ==="; \ + git status --short; \ + echo; \ + if git diff --cached --quiet; then \ + echo "Nothing to commit — pushing current branch."; \ else \ - printf "Commit message: "; \ - read -r msg &2; \ - exit 1; \ - fi; \ + echo "Enter commit message, then Ctrl-D:"; \ + msg=$$(cat &2; exit 1; fi; \ git commit -m "$$msg"; \ - fi - @echo "Pushing to both remotes via origin..." - @git push -u origin HEAD + fi; \ + echo "Pushing to both remotes via origin..."; \ + git remote get-url --push --all origin 2>/dev/null | sed 's/^/ - /' || true; \ + git push -u origin HEAD clean: ## Remove generated local artifacts rm -rf .coverage coverage.xml htmlcov .mypy_cache .pytest_cache .ruff_cache