From f22852b3531ac33476e93fe8a3c9c0111866b06d Mon Sep 17 00:00:00 2001 From: Ross Burton Date: Fri, 27 Sep 2024 16:57:05 +0100 Subject: [PATCH] CI: transform testimage reports into JUnit XML reports Using resulttool we can transform the oeqa JSON reports into JUnit XML, which GitLab can display in pipelines and merge requests. Signed-off-by: Ross Burton Signed-off-by: Jon Mason --- .gitlab-ci.yml | 4 ++++ ci/junit.sh | 15 +++++++++++++++ 2 files changed, 19 insertions(+) create mode 100755 ci/junit.sh diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 01f3539f..e37f9d20 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -77,12 +77,16 @@ stages: - kas dump --update --force-checkout --resolve-refs --resolve-env $KASFILES - kas build $KASFILES - ./ci/check-warnings $KAS_BUILD_DIR/warnings.log + - kas shell ci/base.yml:lockfile.yml --command "$CI_PROJECT_DIR/ci/junit.sh $KAS_WORK_DIR/build" + artifacts: name: "logs" when: always paths: - $KAS_BUILD_DIR/tmp*/work*/**/temp/log.do_*.* - $KAS_BUILD_DIR/tmp*/work*/**/testimage/* + reports: + junit: $KAS_BUILD_DIR/tmp/log/oeqa/junit.xml # # Prep stage, update repositories once. diff --git a/ci/junit.sh b/ci/junit.sh new file mode 100755 index 00000000..6262c34b --- /dev/null +++ b/ci/junit.sh @@ -0,0 +1,15 @@ +#! /bin/bash + +# $ ci/junit.sh +# +# If there is a OEQA test report in JSON format present in the build directory, +# transform it to JUnit XML using resulttool. + +set -e -u + +BUILDDIR=$1 +JSON=$BUILDDIR/tmp/log/oeqa/testresults.json + +if test -f $JSON; then + resulttool junit $JSON +fi