From ac78fa0414fc3495c348c753295627a27f4c5520 Mon Sep 17 00:00:00 2001 From: "Enrico Weigelt, metux IT consult" Date: Tue, 19 Mar 2024 12:33:49 +0100 Subject: [PATCH] (submit/ci-freebsd) ci: add FreeBSD build Build the Xserver in FreeBSD VM. Signed-off-by: Enrico Weigelt, metux IT consult --- .gitlab-ci.yml | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index dd055e284..01b37e23a 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -20,12 +20,18 @@ variables: FDO_DISTRIBUTION_VERSION: bullseye-slim FDO_DISTRIBUTION_EXEC: 'env FDO_CI_CONCURRENT=${FDO_CI_CONCURRENT} bash .gitlab-ci/debian-install.sh' FDO_DISTRIBUTION_TAG: "2024-03-26-explicit-sync-2" + FDO_FREEBSD_DISTRIBUTION_TAG: '2024-03-21.0' + FDO_FREEBSD_DISTRIBUTION_VERSION: '14.0' MESON_BUILDDIR: "build" + REPO_URL_XORGPROTO: 'https://gitlab.freedesktop.org/xorg/proto/xorgproto.git' include: - project: 'freedesktop/ci-templates' ref: *template_sha file: '/templates/debian.yml' + - project: 'freedesktop/ci-templates' + ref: *template_sha + file: '/templates/freebsd.yml' - project: 'freedesktop/ci-templates' ref: *template_sha file: '/templates/ci-fairy.yml' @@ -102,6 +108,17 @@ debian-bullseye: variables: GIT_STRATEGY: none +freebsd-image: + extends: + - .fdo.qemu-build@freebsd@x86_64 + stage: docker-image + variables: + GIT_STRATEGY: none + FDO_DISTRIBUTION_TAG: '${FDO_FREEBSD_DISTRIBUTION_TAG}' + FDO_DISTRIBUTION_VERSION: '${FDO_FREEBSD_DISTRIBUTION_VERSION}' + FDO_DISTRIBUTION_EXEC: '' + FDO_DISTRIBUTION_PACKAGES: 'git gcc pkgconf autoconf automake libtool xorg-macros xorgproto bash meson ninja pixman xtrans libXau libXdmcp libXfont2 libxkbfile libxcvt libpciaccess font-util' + .common-build-and-test: extends: - .fdo.distribution-image@debian @@ -154,6 +171,33 @@ mingw-cross-build: variables: MESON_ARGS: --cross-file=.gitlab-ci/cross-i686-w64-mingw32.txt -Dglx=false -Dsecure-rpc=false -Dlisten_tcp=true +freebsd: + stage: build-and-test + extends: + - .fdo.distribution-image@freebsd + variables: + FDO_DISTRIBUTION_TAG: '$FDO_FREEBSD_DISTRIBUTION_TAG' + FDO_DISTRIBUTION_VERSION: '$FDO_FREEBSD_DISTRIBUTION_VERSION' + MESON_ARGS: -Dglx=false -Dglamor=false -Dudev=false -Dudev_kms=false + GIT_DEPTH: 1 + PKG_CONFIG_PATH: /usr/share/pkgconfig:/usr/lib/pkgconfig:/usr/pkg/share/pkgconfig:/usr/pkg/lib/pkgconfig:/usr/local/libdata/pkgconfig + script: +# running of of disk space without this +# needed until https://gitlab.freedesktop.org/freedesktop/ci-templates/-/issues/67 is fixed + - git gc + - git clone $REPO_URL_XORGPROTO dep.xorgproto + - /app/vmctl start + - set +e + - scp -r $PWD "vm:" +# need to install newer xorgproto + - /app/vmctl exec "cd $CI_PROJECT_NAME/dep.xorgproto && ./autogen.sh --prefix=/usr && make && make install" + - /app/vmctl exec "cd $CI_PROJECT_NAME && PKG_CONFIG_PATH=\"$PKG_CONFIG_PATH\" MESON_ARGS=\"$MESON_ARGS\" MESON_BUILDDIR=\"$MESON_BUILDDIR\" .gitlab-ci/meson-build.sh --skip-test" && touch .success +# test not working yet, so skipped +# - scp -r vm:$CI_PROJECT_NAME/test-results.xml . + - /app/vmctl stop + - set -e + - test -e .success || exit 1 + meson-dist: extends: .common-build-and-test artifacts: