diff --git a/scripts/plinth-certifier-tests.py b/scripts/plinth-certifier-tests.py index 5bb33076e3c..d24e36150ee 100755 --- a/scripts/plinth-certifier-tests.py +++ b/scripts/plinth-certifier-tests.py @@ -173,6 +173,12 @@ def cmd_build(args: argparse.Namespace) -> int: cert_dir.mkdir(parents=True, exist_ok=True) + print("--- cabal update ---") + update = subprocess.run(["cabal", "update"]) + if update.returncode != 0: + die(f"cabal update failed (exit code {update.returncode})") + print() + print(f"--- cabal build {' '.join(targets)} ---") result = subprocess.run( ["cabal", "build", *targets, @@ -180,8 +186,7 @@ def cmd_build(args: argparse.Namespace) -> int: ) if result.returncode != 0: - print(f"WARNING: cabal build exited with code {result.returncode}", file=sys.stderr) - print("Continuing to check any certificates that were produced...", file=sys.stderr) + die(f"cabal build failed (exit code {result.returncode})") print() return result.returncode @@ -434,8 +439,8 @@ def cmd_run(args: argparse.Namespace) -> int: clean=args.clean, targets=args.targets, ) - build_rc = cmd_build(build_ns) - # Continue even if build had warnings + # cmd_build aborts the script (via die) if cabal update or cabal build fails + cmd_build(build_ns) # Check phase check_ns = argparse.Namespace(