.gitlab-ci.yml (2912B)
1 # FDO_DISTRIBUTION_TAG is the tag of the docker image used for the build jobs. 2 # If the image doesn't exist yet, the docker-image stage generates it. 3 # 4 # In order to generate a new image, one should generally change the tag. 5 # While removing the image from the registry would also work, that's not 6 # recommended except for ephemeral images during development: Replacing an 7 # image after a significant amount of time might pull in newer versions of 8 # gcc/clang or other packages, which might break the build with older commits 9 # using the same tag. 10 variables: 11 FDO_UPSTREAM_REPO: xorg/xserver 12 FDO_DISTRIBUTION_VERSION: buster-slim 13 FDO_DISTRIBUTION_EXEC: 'env FDO_CI_CONCURRENT=${FDO_CI_CONCURRENT} bash .gitlab-ci/debian-install.sh' 14 FDO_DISTRIBUTION_TAG: "2021-07-09" 15 16 include: 17 - project: 'freedesktop/ci-templates' 18 ref: 4f06663cd1507136a0f8440925a2521098adb298 19 file: '/templates/debian.yml' 20 21 stages: 22 - docker-image 23 - build-and-test 24 25 .ci-run-policy: 26 # Retry jobs after runner system failures 27 retry: 28 max: 2 29 when: 30 - runner_system_failure 31 # Cancel CI run if a newer commit is pushed to the same branch 32 interruptible: true 33 34 debian-buster: 35 extends: 36 - .fdo.container-build@debian 37 - .ci-run-policy 38 stage: docker-image 39 variables: 40 GIT_STRATEGY: none 41 42 .common-build-and-test: 43 extends: 44 - .fdo.distribution-image@debian 45 - .ci-run-policy 46 stage: build-and-test 47 artifacts: 48 when: on_failure 49 paths: 50 - build/test/piglit-results/ 51 variables: 52 CCACHE_COMPILERCHECK: content 53 CCACHE_DIR: /cache/xserver/cache 54 LC_ALL: C.UTF-8 55 before_script: 56 - export CCACHE_BASEDIR="$PWD" 57 - export PATH="/usr/lib/ccache:$PATH" 58 - ccache --show-stats 59 after_script: 60 - ccache --show-stats 61 62 autotools: 63 extends: .common-build-and-test 64 script: 65 - mkdir build/ 66 - cd build/ 67 - ../autogen.sh --prefix=/usr CFLAGS="-fno-common" 68 - make -j${FDO_CI_CONCURRENT:-4} distcheck 69 - PIGLIT_DIR=/root/piglit XTEST_DIR=/root/xts make -j${FDO_CI_CONCURRENT:-4} check 70 - cd .. 71 - .gitlab-ci/manpages-check 72 73 meson: 74 extends: .common-build-and-test 75 script: 76 - meson -Dc_args="-fno-common" -Dprefix=/usr -Dxephyr=true -Dwerror=true $MESON_EXTRA_OPTIONS build/ 77 - ninja -j${FDO_CI_CONCURRENT:-4} -C build/ dist 78 - PIGLIT_DIR=/root/piglit XTEST_DIR=/root/xts ninja -j${FDO_CI_CONCURRENT:-4} -C build/ test 79 - .gitlab-ci/manpages-check 80 81 meson-noglamor: 82 extends: meson 83 variables: 84 MESON_EXTRA_OPTIONS: > 85 -Dglamor=false 86 87 mingw-cross-build: 88 extends: .common-build-and-test 89 script: 90 - meson --cross-file=.gitlab-ci/cross-i686-w64-mingw32.txt -Dglx=false -Dsecure-rpc=false -Dlisten_tcp=true build/ 91 - ninja -j${FDO_CI_CONCURRENT:-4} -C build/ install