Use Popen rather than run()
This commit is contained in:
parent
af7460088f
commit
8a4ba8c5ca
1 changed files with 5 additions and 5 deletions
|
@ -838,21 +838,21 @@ class MatrixUnits(Units):
|
||||||
tc_lines = []
|
tc_lines = []
|
||||||
if os.path.isdir(tc_path):
|
if os.path.isdir(tc_path):
|
||||||
logger.info("Generating towncrier changelog for: %s" % name)
|
logger.info("Generating towncrier changelog for: %s" % name)
|
||||||
p = subprocess.run(
|
p = subprocess.Popen(
|
||||||
['towncrier', '--version', 'Unreleased Changes', '--name', name, '--draft'],
|
['towncrier', '--version', 'Unreleased Changes', '--name', name, '--draft'],
|
||||||
cwd=tc_path,
|
cwd=tc_path,
|
||||||
check=False, # We'll manually check the exit code
|
|
||||||
stderr=subprocess.PIPE,
|
stderr=subprocess.PIPE,
|
||||||
stdout=subprocess.PIPE,
|
stdout=subprocess.PIPE,
|
||||||
)
|
)
|
||||||
|
stdout, stderr = p.communicate()
|
||||||
if p.returncode != 0:
|
if p.returncode != 0:
|
||||||
# Something broke - dump as much information as we can
|
# Something broke - dump as much information as we can
|
||||||
logger.error("Towncrier exited with code %s" % p.returncode)
|
logger.error("Towncrier exited with code %s" % p.returncode)
|
||||||
logger.error(p.stdout.decode('UTF-8'))
|
logger.error(stdout.decode('UTF-8'))
|
||||||
logger.error(p.stderr.decode('UTF-8'))
|
logger.error(stderr.decode('UTF-8'))
|
||||||
raw_log = ""
|
raw_log = ""
|
||||||
else:
|
else:
|
||||||
raw_log = p.stdout.decode('UTF-8')
|
raw_log = stdout.decode('UTF-8')
|
||||||
|
|
||||||
# This is a bit of a hack, but it does mean that the log at least gets *something*
|
# This is a bit of a hack, but it does mean that the log at least gets *something*
|
||||||
# to tell us it broke
|
# to tell us it broke
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue