# vim: set expandtab shiftwidth=2 tabstop=8 textwidth=0 filetype=yaml: # # This CI uses the freedesktop.org ci-templates. # Please see the ci-templates documentation for details: # https://freedesktop.pages.freedesktop.org/ci-templates/ .templates_sha: &template_sha 16f790f93f893394b70d7048fb0e8a981ceaa3c5 # see https://docs.gitlab.com/ee/ci/yaml/#includefile include: - project: 'freedesktop/ci-templates' ref: *template_sha file: '/templates/debian.yml' - project: 'freedesktop/ci-templates' ref: *template_sha file: '/templates/ci-fairy.yml' - template: Security/SAST.gitlab-ci.yml stages: - prep - install xserver - build - test variables: FDO_UPSTREAM_REPO: 'xorg/test/xorg-integration-tests' FDO_DISTRIBUTION_TAG: '2022-07-23.0' # change this to rebuild the images FDO_DISTRIBUTION_VERSION: 'stable' FDO_DISTRIBUTION_PACKAGES: 'git ca-certificates meson g++ pkgconf libpixman-1-dev xserver-xorg-input-wacom libx11-dev libxi-dev libxext-dev libxrandr-dev libxtst-dev libxxf86dga-dev libevdev-dev libevemu-dev' MESON_BUILDDIR: 'build dir' NINJA_ARGS: '' MESON_ARGS: '' # # Verify that commit messages are as expected # check-commits: extends: - .fdo.ci-fairy stage: prep script: - ci-fairy check-commits --junit-xml=results.xml except: - master@xorg/test/xorg-integration-tests variables: GIT_DEPTH: 100 artifacts: reports: junit: results.xml allow_failure: true # # Verify that the merge request has the allow-collaboration checkbox ticked # check-merge-request: extends: - .fdo.ci-fairy stage: test script: - ci-fairy check-merge-request --require-allow-collaboration --junit-xml=results.xml artifacts: when: on_failure reports: junit: results.xml allow_failure: true # We're using the X Server's meson build image as base image. This way we have # all the dependencies for building the actual server already installed and # don't need to worry about those. # # It'd be better to sync this with the server properly because any tag changes # in the server may result in this image disappearing. But for now this will do. container-prep: extends: - .fdo.container-build@debian stage: prep variables: GIT_STRATEGY: none FDO_BASE_IMAGE: registry.freedesktop.org/xorg/xserver/debian/bullseye-slim:2022-07-01 xserver-build: extends: - .fdo.distribution-image@debian stage: install xserver script: - export INSTDIR="$PWD/_inst" - git clone https://gitlab.freedesktop.org/xorg/lib/libxcvt.git --depth 1 --branch=libxcvt-0.1.0 - pushd libxcvt > /dev/null - meson _build - ninja -j${FDO_CI_CONCURRENT:-4} -C _build install - popd > /dev/null - git clone --depth=1 https://gitlab.freedesktop.org/xorg/xserver - pushd xserver > /dev/null - meson -Dc_args="-fno-common" -Dprefix="$INSTDIR" $MESON_OPTIONS _build - ninja -j${FDO_CI_CONCURRENT:-4} -C _build install - popd > /dev/null - git clone --depth=1 https://gitlab.freedesktop.org/xorg/lib/libxi --branch=libXi-1.7.99.2 - pushd libxi > /dev/null - autoreconf -fi - mkdir build - pushd build > /dev/null - ../configure --prefix="$INSTDIR" - make all -j${FDO_CI_CONCURRENT:-4} - make install -j${FDO_CI_CONCURRENT:-4} - popd > /dev/null - popd > /dev/null variables: MESON_OPTIONS: '-Dxwayland=false -Dxephyr=false -Dxvfb=false -Ddmx=false' artifacts: paths: - _inst build: extends: - .fdo.distribution-image@debian stage: build script: - export INSTDIR="$PWD/_inst" - export PKG_CONFIG_PATH=$(find $INSTDIR/ -name '*.pc' -printf "%h:") - meson "$MESON_BUILDDIR" - ninja -C "$MESON_BUILDDIR"