From 59028d7d0f3a607949a1c1bc97b9cd6d3a653140 Mon Sep 17 00:00:00 2001 From: Emmanuele Bassi Date: Wed, 29 Jan 2020 14:36:23 +0100 Subject: [PATCH] ci: Generate the report for the release builds We are going to need to hide the report generation into the test runner script, as we want the job to produce the reports even in case of failure, instead of bailing out immediately. --- .gitlab-ci.yml | 20 ++++---------------- .gitlab-ci/run-tests.sh | 27 ++++++++++++++++++++++++--- 2 files changed, 28 insertions(+), 19 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 276b3e903d..26e4c0ea10 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -34,17 +34,6 @@ fedora-x86_64: _build - ninja -C _build - .gitlab-ci/run-tests.sh _build - - .gitlab-ci/meson-junit-report.py - --project-name=gtk - --job-id="${CI_JOB_NAME}" - --output=_build/report.xml - _build/meson-logs/testlog.json - - .gitlab-ci/meson-html-report.py - --project-name=gtk - --job-id="${CI_JOB_NAME}" - --reftest-output-dir="_build/testsuite/reftests/output" - --output=_build/report.html - _build/meson-logs/testlog.json artifacts: when: always reports: @@ -76,11 +65,6 @@ release-build: _build - ninja -C _build - .gitlab-ci/run-tests.sh _build - - .gitlab-ci/meson-junit-report.py - --project-name=gtk - --job-id="${CI_JOB_NAME}" - --output=_build/report.xml - _build/meson-logs/testlog.json artifacts: when: always reports: @@ -90,6 +74,10 @@ release-build: paths: - "${CI_PROJECT_DIR}/_build/meson-logs" - "${CI_PROJECT_DIR}/_build/report.xml" + - "${CI_PROJECT_DIR}/_build/report.html" + - "${CI_PROJECT_DIR}/_build/testsuite/reftests/output/*.png" + - "${CI_PROJECT_DIR}/_build/testsuite/gsk/compare/*/*.png" + - "${CI_PROJECT_DIR}/_build/testsuite/css/output/*.syscap" cache: key: "$CI_JOB_NAME" <<: *cache-paths diff --git a/.gitlab-ci/run-tests.sh b/.gitlab-ci/run-tests.sh index 136988e11e..9bac5b93c8 100755 --- a/.gitlab-ci/run-tests.sh +++ b/.gitlab-ci/run-tests.sh @@ -1,11 +1,32 @@ #!/bin/bash -set -e +set +x +set +e +srcdir=$( pwd ) builddir=$1 -cd ${builddir} +export GDK_BACKEND=x11 xvfb-run -a -s "-screen 0 1024x768x24" \ - meson test --print-errorlogs \ + meson test -C ${builddir} \ + --print-errorlogs \ --suite=gtk \ --no-suite=gtk:a11y + +# Store the exit code for the CI run, but always +# generate the reports +exit_code=$? + +$srcdir/.gitlab-ci/meson-junit-report.py \ + --project-name=gtk \ + --job-id="${CI_JOB_NAME}" \ + --output=${builddir}/report.xml \ + ${builddir}/meson-logs/testlog.json +$srcdir/.gitlab-ci/meson-html-report.py \ + --project-name=gtk \ + --job-id="${CI_JOB_NAME}" \ + --reftest-output-dir="${builddir}/testsuite/reftests/output" \ + --output=${builddir}/report.html \ + ${builddir}/meson-logs/testlog.json + +exit $exit_code