Skip to content

Commit

Permalink
Propagate env variables to shell subprocess to respect PATH (#58)
Browse files Browse the repository at this point in the history
  • Loading branch information
iurisilvio authored Jul 24, 2024
1 parent 019283d commit bd61423
Showing 1 changed file with 7 additions and 1 deletion.
8 changes: 7 additions & 1 deletion django_migrations_ci/shell.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import logging
import os
from subprocess import PIPE, Popen

logger = logging.getLogger(__name__)
Expand All @@ -10,13 +11,18 @@ class MigrateCIShellException(Exception):

def exec(command, env=None):
logger.info(f"Running shell command {command}")

subprocess_env = os.environ.copy()
if env:
subprocess_env.update(env)

p = Popen(
command,
shell=True,
stdin=PIPE,
stdout=PIPE,
stderr=PIPE,
env=env,
env=subprocess_env,
)
stdout, stderr = p.communicate()
if stderr:
Expand Down

0 comments on commit bd61423

Please sign in to comment.