diff --git a/Lib/gftools/qa.py b/Lib/gftools/qa.py index d90880830..c5be76395 100644 --- a/Lib/gftools/qa.py +++ b/Lib/gftools/qa.py @@ -5,6 +5,7 @@ from gftools.gfgithub import GitHubClient from gftools.utils import mkdir +import sys try: from diffenator2 import ninja_diff, ninja_proof @@ -114,12 +115,13 @@ def fontbakery(self, profile="googlefonts", html=False, extra_args=None): + [f.path for f in self.fonts] + ["-C"] + ["--ghmarkdown", os.path.join(out, "report.md")] + + ["-e", "FATAL"] ) if html: cmd.extend(["--html", os.path.join(out, "report.html")]) if extra_args: cmd.extend(extra_args) - subprocess.call(cmd) + process = subprocess.run(cmd) fontbakery_report = os.path.join(self.out, "Fontbakery", "report.md") if not os.path.isfile(fontbakery_report): @@ -131,6 +133,10 @@ def fontbakery(self, profile="googlefonts", html=False, extra_args=None): msg = doc.read() self.post_to_github(msg) + if process.returncode != 0: + logger.fatal("Fontbakery has raised a fatal error. Please fix!") + sys.exit(1) + def googlefonts_upgrade(self, imgs=False): self.fontbakery() self.diffenator()