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.
This commit is contained in:
Emmanuele Bassi 2020-01-29 14:36:23 +01:00
parent 0df542e494
commit 59028d7d0f
2 changed files with 28 additions and 19 deletions

View File

@ -34,17 +34,6 @@ fedora-x86_64:
_build _build
- ninja -C _build - ninja -C _build
- .gitlab-ci/run-tests.sh _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: artifacts:
when: always when: always
reports: reports:
@ -76,11 +65,6 @@ release-build:
_build _build
- ninja -C _build - ninja -C _build
- .gitlab-ci/run-tests.sh _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: artifacts:
when: always when: always
reports: reports:
@ -90,6 +74,10 @@ release-build:
paths: paths:
- "${CI_PROJECT_DIR}/_build/meson-logs" - "${CI_PROJECT_DIR}/_build/meson-logs"
- "${CI_PROJECT_DIR}/_build/report.xml" - "${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: cache:
key: "$CI_JOB_NAME" key: "$CI_JOB_NAME"
<<: *cache-paths <<: *cache-paths

View File

@ -1,11 +1,32 @@
#!/bin/bash #!/bin/bash
set -e set +x
set +e
srcdir=$( pwd )
builddir=$1 builddir=$1
cd ${builddir} export GDK_BACKEND=x11
xvfb-run -a -s "-screen 0 1024x768x24" \ xvfb-run -a -s "-screen 0 1024x768x24" \
meson test --print-errorlogs \ meson test -C ${builddir} \
--print-errorlogs \
--suite=gtk \ --suite=gtk \
--no-suite=gtk:a11y --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