(submit/ci-freebsd) ci: add FreeBSD build

Build the Xserver in FreeBSD VM.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
This commit is contained in:
Enrico Weigelt, metux IT consult 2024-03-19 12:33:49 +01:00
parent 75cf29fe6c
commit ac78fa0414

View File

@ -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: