From 6652e4379889e0d477b5cfd6882c9a8edc2471da Mon Sep 17 00:00:00 2001 From: Adrien Ferrand Date: Tue, 21 Jul 2020 22:11:46 +0200 Subject: [PATCH] Check snapcraft execution interruption with exit codes --- tools/snap/build_remote.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/tools/snap/build_remote.py b/tools/snap/build_remote.py index afd7c4ce7..f31039555 100755 --- a/tools/snap/build_remote.py +++ b/tools/snap/build_remote.py @@ -6,7 +6,6 @@ from multiprocessing import Pool, Process, Manager, Event import re import subprocess import sys -import time from os.path import join, realpath, dirname, basename @@ -24,6 +23,8 @@ def _execute_build(target, archs, status, workspace): _extract_state(target, line, status) line = process.stdout.readline() + return process.returncode + def _build_snap(target, archs, status): status[target] = {arch: '...' for arch in archs} @@ -39,8 +40,9 @@ def _build_snap(target, archs, status): retry = 3 while retry: - _execute_build(target, archs, status, workspace) - if not [status[target] for arch in archs if status[target][arch] == '...']: + exit_code = _execute_build(target, archs, status, workspace) + # Do not retry if the snapcraft remote-build command has not been interrupted. + if exit_code == 0: break retry = retry - 1