mirror of
https://gitlab.freedesktop.org/wayland/weston
synced 2024-07-08 20:05:52 +00:00
The standard style of LCOV HTML reports is a bit harsh to look at. This commit replaces it with a new one. The new CSS was written from scratch by looking at the HTML source code of a generated LCOV report. The original gcov.css file was not used. The color scheme is neutral, trying to avoid a Christmas tree effect. The colors are intended to be calm while also distinguishable, and not hamper text readability. The font lists were taken from Gitlab with the hope that it will blend in a little better when viewing from MR artifacts. Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.com>
168 lines
4.0 KiB
YAML
168 lines
4.0 KiB
YAML
# vim: set expandtab shiftwidth=2 tabstop=8 textwidth=0:
|
|
|
|
variables:
|
|
FDO_UPSTREAM_REPO: wayland/weston
|
|
|
|
|
|
include:
|
|
- project: 'freedesktop/ci-templates'
|
|
ref: 59de540b620c45739871d1a073d76d5521989d11
|
|
file: '/templates/debian.yml'
|
|
|
|
|
|
stages:
|
|
- container_prep
|
|
- build
|
|
- pages
|
|
|
|
|
|
.debian:
|
|
variables:
|
|
FDO_DISTRIBUTION_VERSION: buster
|
|
FDO_DISTRIBUTION_EXEC: 'bash .gitlab-ci/debian-install.sh'
|
|
FDO_DISTRIBUTION_TAG: '2021-04-15.2'
|
|
|
|
|
|
container_prep:
|
|
extends:
|
|
- .debian
|
|
- .fdo.container-build@debian
|
|
stage: container_prep
|
|
|
|
|
|
.build-native:
|
|
extends:
|
|
- .debian
|
|
- .fdo.distribution-image@debian
|
|
stage: build
|
|
before_script:
|
|
- git clone --depth=1 https://gitlab.freedesktop.org/wayland/wayland-protocols
|
|
- export WAYLAND_PROTOCOLS_DIR="$(pwd)/prefix-wayland-protocols"
|
|
- export PKG_CONFIG_PATH="$WAYLAND_PROTOCOLS_DIR/share/pkgconfig:$PKG_CONFIG_PATH"
|
|
- export MAKEFLAGS="-j4"
|
|
- cd wayland-protocols
|
|
- git show -s HEAD
|
|
- mkdir build
|
|
- cd build
|
|
- ../autogen.sh --prefix="$WAYLAND_PROTOCOLS_DIR"
|
|
- make install
|
|
- cd ../../
|
|
- export XDG_RUNTIME_DIR="$(mktemp -p $(pwd) -d xdg-runtime-XXXXXX)"
|
|
- export BUILD_ID="weston-$CI_JOB_NAME"
|
|
- export PREFIX="$(pwd)/prefix-$BUILD_ID"
|
|
- export BUILDDIR="$(pwd)/build-$BUILD_ID"
|
|
- export TESTS_RES_PATH="$BUILDDIR/tests-res.txt"
|
|
- mkdir "$BUILDDIR" "$PREFIX"
|
|
|
|
.build-native-meson:
|
|
extends: .build-native
|
|
tags:
|
|
- kvm
|
|
script:
|
|
- export PATH=~/.local/bin:$PATH
|
|
- cd "$BUILDDIR"
|
|
- meson --prefix="$PREFIX" ${MESON_OPTIONS} ..
|
|
- ninja -k0
|
|
- ninja install
|
|
- virtme-run --rw --pwd --kimg /weston-virtme/bzImage --script-dir ../.gitlab-ci/virtme-scripts
|
|
- TEST_RES=$(cat $TESTS_RES_PATH)
|
|
- rm $TESTS_RES_PATH
|
|
- cp -R /weston-virtme ./
|
|
- rm weston-virtme/bzImage
|
|
- exit $TEST_RES
|
|
artifacts:
|
|
name: weston-$CI_COMMIT_SHA
|
|
when: always
|
|
paths:
|
|
- build-*/*.png
|
|
- build-*/meson-logs
|
|
- build-*/weston-virtme
|
|
- prefix-*
|
|
reports:
|
|
junit: build-*/meson-logs/testlog.junit.xml
|
|
|
|
.build-native-meson-no-test:
|
|
extends: .build-native
|
|
tags:
|
|
- kvm
|
|
script:
|
|
- export PATH=~/.local/bin:$PATH
|
|
- cd "$BUILDDIR"
|
|
- meson --prefix="$PREFIX" ${MESON_OPTIONS} ..
|
|
- ninja -k0
|
|
- ninja install
|
|
- ninja clean
|
|
artifacts:
|
|
name: weston-$CI_COMMIT_SHA
|
|
when: always
|
|
paths:
|
|
- build-*/meson-logs
|
|
- prefix-*
|
|
|
|
build-native-meson-default-options:
|
|
variables:
|
|
MESON_OPTIONS: >
|
|
-Doptimization=0
|
|
-Db_coverage=true
|
|
-Dwerror=true
|
|
-Dtest-skip-is-failure=true
|
|
-Dlauncher-libseat=true
|
|
extends: .build-native-meson
|
|
after_script:
|
|
- ninja -C build-* coverage-html
|
|
- ninja -C build-* coverage-xml
|
|
- sed -i -e 's/\/build-weston-build-native-meson-default-options//' -e 's/\"..\//\"/' build-*/meson-logs/coverage.xml
|
|
artifacts:
|
|
reports:
|
|
cobertura: build-*/meson-logs/coverage.xml
|
|
|
|
build-docs:
|
|
variables:
|
|
MESON_OPTIONS: >
|
|
-Dwerror=true
|
|
-Ddoc=true
|
|
extends: .build-native-meson-no-test
|
|
|
|
build-native-meson-no-gl-renderer:
|
|
variables:
|
|
MESON_OPTIONS: >
|
|
-Dsimple-clients=damage,im,shm,touch,dmabuf-v4l
|
|
-Drenderer-gl=false
|
|
-Dremoting=false
|
|
-Dpipewire=false
|
|
-Dwerror=true
|
|
-Dlauncher-libseat=true
|
|
extends: .build-native-meson
|
|
|
|
docs-and-coverage:
|
|
stage: pages
|
|
script:
|
|
- mv prefix-weston-build-docs/share/doc/weston Documentation
|
|
- mv build-weston-build-native-meson-default-options/meson-logs/coveragereport Test_Coverage
|
|
- rm Test_Coverage/gcov.css
|
|
- cp doc/style/lcov-style.css Test_Coverage/gcov.css
|
|
- cp doc/style/*.png Test_Coverage/
|
|
- rm -rf build-* prefix-*
|
|
dependencies:
|
|
- build-docs
|
|
- build-native-meson-default-options
|
|
artifacts:
|
|
expose_as: 'Documentation preview and test coverage report'
|
|
paths:
|
|
- Documentation/
|
|
- Test_Coverage/
|
|
|
|
pages:
|
|
stage: pages
|
|
dependencies:
|
|
- build-docs
|
|
script:
|
|
- export PREFIX=$(pwd)/prefix-weston-build-docs
|
|
- mkdir public
|
|
- cp -R $PREFIX/share/doc/weston/* public/
|
|
artifacts:
|
|
paths:
|
|
- public
|
|
only:
|
|
- master
|