@@ -77,10 +77,12 @@ machine-coverage:
# Validate layers are Yocto Project Compatible
check-layers:
extends: .setup
- coverage: '/Coverage: \d+/'
script:
- kas shell --update --force-checkout ci/base.yml:ci/meta-openembedded.yml --command \
- "$CI_PROJECT_DIR/ci/check-layers.py $CI_PROJECT_DIR/ci/check-layers.yml $CI_PROJECT_DIR $KAS_WORK_DIR"
+ "yocto-check-layer-wrapper $CI_PROJECT_DIR/$LAYER --dependency $CI_PROJECT_DIR $KAS_WORK_DIR/meta-openembedded/meta-oe --no-auto-dependency"
+ parallel:
+ matrix:
+ - LAYER: [meta-arm, meta-arm-bsp, meta-arm-toolchain, meta-gem5]
pending-updates:
extends: .setup
deleted file mode 100755
@@ -1,44 +0,0 @@
-#! /usr/bin/env python3
-
-import argparse
-import pathlib
-import re
-import subprocess
-import sys
-
-import yaml
-
-if __name__ == "__main__":
- parser = argparse.ArgumentParser()
- parser.add_argument("config", type=argparse.FileType())
- parser.add_argument("metaarm", type=pathlib.Path, help="Path to meta-arm")
- parser.add_argument("others", type=pathlib.Path, help="Path to parent of dependencies")
- args = parser.parse_args()
-
- config = yaml.safe_load(args.config)
- layers = config["layers"]
- dependencies = config["dependencies"]
-
- found_layers = [p for p in args.metaarm.glob("meta-*") if p.is_dir()]
- print(f"Testing {len(layers)} layers: {', '.join(layers)}.")
- print(f"Found {len(found_layers)} layers in meta-arm.")
- print()
-
- cli = ["yocto-check-layer-wrapper",]
- cli.extend([args.metaarm / layer for layer in layers])
- cli.append("--dependency")
- cli.extend([args.others / layer for layer in dependencies])
- cli.append("--no-auto-dependency")
-
- passed = 0
- process = subprocess.Popen(cli, stdout=subprocess.PIPE, stderr=subprocess.STDOUT, universal_newlines=True)
- while True:
- line = process.stdout.readline()
- if process.poll() is not None:
- break
- print(line.strip())
- if re.search(r"meta-.+ PASS", line):
- passed += 1
-
- print(f"Coverage: {int(passed / len(found_layers) * 100)}%")
- sys.exit(process.returncode)
deleted file mode 100644
@@ -1,7 +0,0 @@
-layers:
- - meta-arm
- - meta-arm-bsp
- - meta-arm-toolchain
- - meta-gem5
-dependencies:
- - meta-openembedded/meta-oe
The check-layers task takes longer than any of the individual tests running. Split this up to take advantage of parallelism and speed up the overall runs. Signed-off-by: Jon Mason <jon.mason@arm.com> --- .gitlab-ci.yml | 6 ++++-- ci/check-layers.py | 44 -------------------------------------------- ci/check-layers.yml | 7 ------- 3 files changed, 4 insertions(+), 53 deletions(-) delete mode 100755 ci/check-layers.py delete mode 100644 ci/check-layers.yml