From 3be6508d9b1db182469c17a27b347f4e4e25a8b5 Mon Sep 17 00:00:00 2001 From: Amr Mohammed El-Sheraey <141947355+AmrMsCLL@users.noreply.github.com> Date: Thu, 5 Nov 2026 03:45:07 +0200 Subject: [PATCH] fix(deploy): render compose without process variables that the env files supply The Deploy workflow sets PROJECT for its project input, empty on a push, and Compose prefers the process environment over --env-file, so ${PROJECT} rendered empty and no route could be found for any project. --- scripts/deploy.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/scripts/deploy.py b/scripts/deploy.py index 63681fa..2f46cc3 100644 --- a/scripts/deploy.py +++ b/scripts/deploy.py @@ -65,7 +65,8 @@ def compose(slug, *args, env=()): path.write_text(env_file(pairs), encoding="utf-8") options += ["--env-file", str(path)] command = ["docker", "compose", "-p", slug, "-f", str(DEPLOY / slug / "compose.yaml"), *options, *args] - result = subprocess.run(command, text=True, capture_output=True) + supplied = {name for pairs in env for name in pairs} + result = subprocess.run(command, text=True, capture_output=True, env={name: value for name, value in os.environ.items() if name not in supplied}) if result.returncode: raise ValueError(f"deploy/{slug}: {result.stderr.strip()}") return result.stdout