Don't even try to build packages with missing dependencies
This commit is contained in:
parent
638b5b88ed
commit
f01f2c9409
34
autobuild.py
34
autobuild.py
@ -256,7 +256,7 @@ def get_buildqueue():
|
||||
for name in pkg['packages']:
|
||||
dep_mapping[name] = pkg
|
||||
|
||||
# extend depends with the version in the
|
||||
# link up dependencies with the real package in the queue
|
||||
for pkg in pkgs:
|
||||
ver_depends = {}
|
||||
for dep in pkg['depends']:
|
||||
@ -287,16 +287,26 @@ def get_packages_to_build():
|
||||
return True
|
||||
return False
|
||||
|
||||
def pkg_is_skipped(pkg):
|
||||
return pkg['name'] in SKIP
|
||||
|
||||
todo = []
|
||||
done = []
|
||||
skipped = []
|
||||
for pkg in get_buildqueue():
|
||||
if pkg_is_done(pkg):
|
||||
done.append(pkg)
|
||||
elif (pkg_has_failed(pkg) or pkg['name'] in SKIP):
|
||||
skipped.append(pkg)
|
||||
elif pkg_has_failed(pkg):
|
||||
skipped.append((pkg, "failed"))
|
||||
elif pkg_is_skipped(pkg):
|
||||
skipped.append((pkg, "skipped"))
|
||||
else:
|
||||
todo.append(pkg)
|
||||
for dep in pkg['ext-depends'].values():
|
||||
if pkg_has_failed(dep) or pkg_is_skipped(dep):
|
||||
skipped.append((pkg, "requires: " + dep['name']))
|
||||
break
|
||||
else:
|
||||
todo.append(pkg)
|
||||
|
||||
return done, skipped, todo
|
||||
|
||||
@ -304,15 +314,17 @@ def get_packages_to_build():
|
||||
def show_build(args):
|
||||
done, skipped, todo = get_packages_to_build()
|
||||
|
||||
def print_packages(title, pkgs):
|
||||
print()
|
||||
print(title)
|
||||
print(tabulate([(p["name"], p["version"]) for p in pkgs],
|
||||
with gha_group("TODO"):
|
||||
print(tabulate([(p["name"], p["version"]) for p in todo],
|
||||
headers=["Package", "Version"]))
|
||||
|
||||
print_packages("TODO:", todo)
|
||||
print_packages("SKIPPED:", skipped)
|
||||
print_packages("DONE:", done)
|
||||
with gha_group("SKIPPED"):
|
||||
print(tabulate([(p["name"], p["version"], r) for (p, r) in skipped],
|
||||
headers=["Package", "Version", "Reason"]))
|
||||
|
||||
with gha_group("DONE"):
|
||||
print(tabulate([(p["name"], p["version"]) for p in done],
|
||||
headers=["Package", "Version"]))
|
||||
|
||||
|
||||
def show_assets(args):
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user