29 lines
667 B
Plaintext
29 lines
667 B
Plaintext
|
|
#! /usr/bin/env python3
|
||
|
|
|
||
|
|
from pathlib import Path
|
||
|
|
import sys
|
||
|
|
from listmachines import list_machines
|
||
|
|
|
||
|
|
metaarm = Path.cwd()
|
||
|
|
|
||
|
|
if metaarm.name != "meta-arm":
|
||
|
|
print("Not running inside meta-arm")
|
||
|
|
sys.exit(1)
|
||
|
|
|
||
|
|
# Find all layers
|
||
|
|
layers = (p.name for p in metaarm.glob("meta-*") if p.is_dir())
|
||
|
|
# All machine configurations
|
||
|
|
machines = list_machines(layers)
|
||
|
|
|
||
|
|
# All kas files
|
||
|
|
kas = metaarm.glob("ci/*.yml")
|
||
|
|
kas = set(p.stem for p in kas)
|
||
|
|
|
||
|
|
missing = machines - kas
|
||
|
|
print(f"The following machines are missing: {', '.join(sorted(missing))}.")
|
||
|
|
|
||
|
|
covered = len(machines) - len(missing)
|
||
|
|
total = len(machines)
|
||
|
|
percent = int(covered / total * 100)
|
||
|
|
print(f"Coverage: {percent}%")
|