Keep logs during deploy cleanup

This commit is contained in:
Kevin Veen-Birkenbach 2025-08-10 12:01:34 +02:00
parent b880b98ac3
commit 2fd83eaf55
No known key found for this signature in database
GPG Key ID: 44D8F11FD62F878E
3 changed files with 20 additions and 5 deletions

View File

@ -21,6 +21,10 @@ EXTRA_USERS := $(shell \
.PHONY: build install test .PHONY: build install test
clean-keep-logs:
@echo "🧹 Cleaning ignored files but keeping logs/…"
git clean -fdX -- ':!logs' ':!logs/**'
clean: clean:
@echo "Removing ignored git files" @echo "Removing ignored git files"
git clean -fdX git clean -fdX

View File

@ -16,14 +16,16 @@ def run_ansible_playbook(
skip_tests=False, skip_tests=False,
skip_validation=False, skip_validation=False,
skip_build=False, skip_build=False,
cleanup=False cleanup=False,
logs=False
): ):
start_time = datetime.datetime.now() start_time = datetime.datetime.now()
print(f"\n▶️ Script started at: {start_time.isoformat()}\n") print(f"\n▶️ Script started at: {start_time.isoformat()}\n")
if cleanup: if cleanup:
print("\n🧹 Cleaning up project (make clean)...\n") cleanup_command = ["make", "clean-keep-logs"] if logs else ["make", "clean"]
subprocess.run(["make", "clean"], check=True) print("\n🧹 Cleaning up project (" + " ".join(cleanup_command) +")...\n")
subprocess.run(cleanup_command, check=True)
else: else:
print("\n⚠️ Skipping build as requested.\n") print("\n⚠️ Skipping build as requested.\n")
@ -180,6 +182,10 @@ def main():
"-v", "--verbose", action="count", default=0, "-v", "--verbose", action="count", default=0,
help="Increase verbosity level. Multiple -v flags increase detail (e.g., -vvv for maximum log output)." help="Increase verbosity level. Multiple -v flags increase detail (e.g., -vvv for maximum log output)."
) )
parser.add_argument(
"--logs", action="store_true",
help="Keep the CLI logs during cleanup command"
)
args = parser.parse_args() args = parser.parse_args()
validate_application_ids(args.inventory, args.id) validate_application_ids(args.inventory, args.id)
@ -190,6 +196,7 @@ def main():
"mode_update": args.update, "mode_update": args.update,
"mode_backup": args.backup, "mode_backup": args.backup,
"mode_cleanup": args.cleanup, "mode_cleanup": args.cleanup,
"mode_logs": args.logs,
"enable_debug": args.debug, "enable_debug": args.debug,
"host_type": args.host_type "host_type": args.host_type
} }
@ -204,7 +211,8 @@ def main():
skip_tests=args.skip_tests, skip_tests=args.skip_tests,
skip_validation=args.skip_validation, skip_validation=args.skip_validation,
skip_build=args.skip_build, skip_build=args.skip_build,
cleanup=args.cleanup cleanup=args.cleanup,
logs=args.logs
) )

View File

@ -123,7 +123,10 @@ if __name__ == "__main__":
# Parse flags # Parse flags
sound_enabled = '--sound' in sys.argv and (sys.argv.remove('--sound') or True) sound_enabled = '--sound' in sys.argv and (sys.argv.remove('--sound') or True)
no_signal = '--no-signal' in sys.argv and (sys.argv.remove('--no-signal') or True) no_signal = '--no-signal' in sys.argv and (sys.argv.remove('--no-signal') or True)
log_enabled = '--log' in sys.argv and (sys.argv.remove('--log') or True) # Guaranty that --log is passed to deploy command
log_enabled = '--log' in sys.argv
if log_enabled and (len(sys.argv) < 2 or sys.argv[1] != 'deploy'):
sys.argv.remove('--log')
git_clean = '--git-clean' in sys.argv and (sys.argv.remove('--git-clean') or True) git_clean = '--git-clean' in sys.argv and (sys.argv.remove('--git-clean') or True)
infinite = '--infinite' in sys.argv and (sys.argv.remove('--infinite') or True) infinite = '--infinite' in sys.argv and (sys.argv.remove('--infinite') or True)
alarm_timeout = 60 alarm_timeout = 60