better handling of failed builds
This commit is contained in:
13
master.py
13
master.py
@@ -54,9 +54,20 @@ def build(pkgbuild, repo):
|
||||
|
||||
# build with devtools
|
||||
os.chdir(pathlib.Path(pkgbuild).parent)
|
||||
res = subprocess.run(["sudo", "extra-x86_64-build"], capture_output=True)
|
||||
res = subprocess.run(["sudo", "extra-x86_64-build"], stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
|
||||
if res.returncode:
|
||||
logging.warning("[%s/%s] Build failed: %s", repo, name, res)
|
||||
# write packagename to failed list
|
||||
with open(os.path.join(config["basedir"]["repo"], repo + "_failed.txt"), "a") as f:
|
||||
f.write(name + "\n")
|
||||
|
||||
# write logs to file
|
||||
if not os.path.exists(os.path.join(config["basedir"]["repo"], "logs", repo)):
|
||||
os.mkdir(os.path.join(config["basedir"]["repo"], "logs", repo))
|
||||
|
||||
with open(os.path.join(config["basedir"]["repo"], "logs", repo, name + ".log"), "w") as l:
|
||||
l.write(res.stdout.decode())
|
||||
|
||||
subprocess.run(["git", "clean", "-xdf"], check=True, capture_output=True)
|
||||
os.chdir(sys.path[0])
|
||||
return
|
||||
|
Reference in New Issue
Block a user