1 # vim: set expandtab shiftwidth=2 tabstop=8 textwidth=0 filetype=yaml:
3 # This CI uses the freedesktop.org ci-templates.
4 # Please see the ci-templates documentation for details:
5 # https://freedesktop.pages.freedesktop.org/ci-templates/
7 .templates_sha: &template_sha c5626190ec14b475271288dda7a7dae8dbe0cd76 # see https://docs.gitlab.com/ee/ci/yaml/#includefile
11 # Arch container builder template
12 - project: 'freedesktop/ci-templates'
14 file: '/templates/arch.yml'
15 - project: 'freedesktop/ci-templates'
17 file: '/templates/ci-fairy.yml'
18 - template: Security/SAST.gitlab-ci.yml
22 - prep # prep work like rebuilding the container images if there is a change
23 - build # for actually building and testing things in a container
29 FDO_UPSTREAM_REPO: 'xorg/proto/xcbproto'
30 # The tag should be updated each time the list of packages is updated.
31 # Changing a tag forces the associated image to be rebuilt.
32 # Note: the tag has no meaning, we use a date format purely for readability
33 FDO_DISTRIBUTION_TAG: '2022-07-23.0'
34 # Packages needed to build xcbproto
35 XCBPROTO_PACKAGES: 'git gcc pkgconf autoconf automake make libxml2 python'
36 # Additional packages needed to build libxcb
37 LIBXCB_PACKAGES: 'libtool xorg-util-macros doxygen graphviz check libxslt libxau libxdmcp'
38 FDO_DISTRIBUTION_PACKAGES: $XCBPROTO_PACKAGES $LIBXCB_PACKAGES
41 # Verify that commit messages are as expected
48 - ci-fairy check-commits --junit-xml=results.xml
50 - master@xorg/proto/xcbproto
59 # Verify that the merge request has the allow-collaboration checkbox ticked
66 - ci-fairy check-merge-request --require-allow-collaboration --junit-xml=results.xml
75 # Build a container with the given tag and the packages pre-installed.
76 # This only happens if/when the tag changes, otherwise the existing image is
81 - .fdo.container-build@arch
88 # The default build, runs on the image built above.
93 - .fdo.distribution-image@arch
95 - export INSTDIR="$PWD/_inst"
97 - pushd _builddir > /dev/null
98 - ../autogen.sh --disable-silent-rules --prefix="$INSTDIR"
110 # Build libxcb with the new xcbproto, runs on the image built above.
115 - .fdo.distribution-image@arch
117 - export INSTDIR="$PWD/_inst"
118 - export PKG_CONFIG_PATH=$(find $INSTDIR/ -name '*.pc' -printf "%h:")
119 - git clone --depth=1 https://gitlab.freedesktop.org/xorg/lib/libxcb
120 - pushd libxcb > /dev/null
122 - pushd _builddir > /dev/null
123 - ../autogen.sh --disable-silent-rules --enable-devel-docs --with-doxygen