@@ -150,8 +150,9 @@ def send_qa_email():
utils.filterrepojson(repos)
- resulttool = os.path.dirname(args.repojson) + "/build/layers/openembedded-core/scripts/resulttool"
- querytool = os.path.dirname(args.repojson) + "/build/layers/openembedded-core/scripts/yocto_testresults_query.py"
+ oecorerepodir = os.path.dirname(args.repojson) + "/build/layers/openembedded-core"
+ resulttool = oecorerepodir + "/scripts/resulttool"
+ querytool = oecorerepodir + "/scripts/yocto_testresults_query.py"
buildtoolsdir = os.path.dirname(args.repojson) + "/build/buildtools"
if os.path.exists(buildtoolsdir):
@@ -168,8 +169,7 @@ def send_qa_email():
if 'oecore' in repos and os.path.exists(resulttool) and os.path.exists(querytool) and args.results_dir:
utils.printheader("Processing test report")
# Need the finalised revisions (not 'HEAD')
- targetrepodir = "%s/oecore" % (repodir)
- revision = subprocess.check_output(["git", "rev-parse", "HEAD"], cwd=targetrepodir).decode('utf-8').strip()
+ revision = subprocess.check_output(["git", "rev-parse", "HEAD"], cwd=oecorerepodir).decode('utf-8').strip()
branch = repos['oecore']['branch']
repo = repos['oecore']['url']
@@ -233,10 +233,10 @@ def send_qa_email():
utils.printheader("Processing regression report")
try:
- regression_base, regression_target = get_regression_base_and_target(targetbranch, basebranch, args.release, targetrepodir, test_results_url, log)
+ regression_base, regression_target = get_regression_base_and_target(targetbranch, basebranch, args.release, oecorerepodir, test_results_url, log)
if regression_base and regression_target:
log.info(f"Generating regression report between {regression_base} and {regression_target}")
- generate_regression_report(querytool, targetrepodir, regression_base, regression_target, tempdir, args.results_dir, log)
+ generate_regression_report(querytool, oecorerepodir, regression_base, regression_target, tempdir, args.results_dir, log)
else:
log.info("Can not guess regression base and/or target, skip regression report")
except subprocess.CalledProcessError as e:
@@ -257,13 +257,22 @@ def send_qa_email():
utils.printheader("Generating QA email")
+ layersdir = os.path.dirname(args.repojson) + "/build/layers/"
buildhashes = ""
for repo in sorted(repos.keys()):
# gplv2 is no longer built/tested in master
if repo == "meta-gplv2":
continue
+ layerdir = layersdir + repo "/"
+ if repo == "oecore":
+ layerdir = layersdir + "openembedded-core/"
+ # Try to use bitbake-setup layers, fall back to repos/
+ if os.path.exists(layerdir):
+ targetrepodir = layerdir
+ else:
+ targetrepodir = "%s/%s" % (repodir, repo)
+
# Need the finalised revisions (not 'HEAD')
- targetrepodir = "%s/%s" % (repodir, repo)
revision = subprocess.check_output(["git", "rev-parse", "HEAD"], cwd=targetrepodir).decode('utf-8').strip()
buildhashes += "%s: %s\n" % (repo, revision)
bitbake-setup's layers and repos can be out of sync with each other since they run in series. Prefer the layers directory if present since that is what the build will have used. [YOCTO #16216] Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> --- scripts/send_qa_email.py | 23 ++++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-)