ci/alpine: build Mesa on top of Alpine 3.16
Alpine is lightweight distribution with musl-libc. We currently testing with Debian and Fedora, which are both Glibc based distro, so this option should be able give us chance to catch more build-system bugs. Acked-by: Yonggang Luo <luoyonggang@gmail.com> Signed-off-by: David Heidelberg <david.heidelberg@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19588>
This commit is contained in:
committed by
Marge Bot
parent
8a35052253
commit
3012e85e36
@@ -54,6 +54,7 @@ include:
|
|||||||
- project: 'freedesktop/ci-templates'
|
- project: 'freedesktop/ci-templates'
|
||||||
ref: *ci-templates-commit
|
ref: *ci-templates-commit
|
||||||
file:
|
file:
|
||||||
|
- '/templates/alpine.yml'
|
||||||
- '/templates/debian.yml'
|
- '/templates/debian.yml'
|
||||||
- '/templates/fedora.yml'
|
- '/templates/fedora.yml'
|
||||||
- local: '.gitlab-ci/image-tags.yml'
|
- local: '.gitlab-ci/image-tags.yml'
|
||||||
|
|||||||
@@ -224,6 +224,44 @@ debian-release:
|
|||||||
script:
|
script:
|
||||||
- .gitlab-ci/meson/build.sh
|
- .gitlab-ci/meson/build.sh
|
||||||
|
|
||||||
|
alpine-testing:
|
||||||
|
extends:
|
||||||
|
- .meson-build
|
||||||
|
- .use-alpine/x86_build
|
||||||
|
stage: build-x86_64
|
||||||
|
variables:
|
||||||
|
BUILDTYPE: "release"
|
||||||
|
C_ARGS: >
|
||||||
|
-Wno-error=cpp
|
||||||
|
-Wno-error=array-bounds
|
||||||
|
-Wno-error=stringop-overread
|
||||||
|
DRI_LOADERS: >
|
||||||
|
-D glx=disabled
|
||||||
|
-D gbm=enabled
|
||||||
|
-D egl=enabled
|
||||||
|
-D glvnd=false
|
||||||
|
-D platforms=wayland
|
||||||
|
LLVM_VERSION: ""
|
||||||
|
GALLIUM_DRIVERS: "crocus,etnaviv,freedreno,iris,kmsro,lima,nouveau,panfrost,r300,r600,radeonsi,svga,swrast,tegra,v3d,vc4,virgl,zink"
|
||||||
|
GALLIUM_ST: >
|
||||||
|
-D dri3=enabled
|
||||||
|
-D gallium-extra-hud=true
|
||||||
|
-D gallium-vdpau=disabled
|
||||||
|
-D gallium-omx=disabled
|
||||||
|
-D gallium-va=enabled
|
||||||
|
-D gallium-xa=disabled
|
||||||
|
-D gallium-nine=true
|
||||||
|
-D gallium-rusticl=false
|
||||||
|
-D gles1=disabled
|
||||||
|
-D gles2=enabled
|
||||||
|
-D llvm=enabled
|
||||||
|
-D microsoft-clc=disabled
|
||||||
|
-D shared-llvm=enabled
|
||||||
|
UNWIND: "disabled"
|
||||||
|
VULKAN_DRIVERS: "amd,broadcom,freedreno,intel,imagination-experimental"
|
||||||
|
script:
|
||||||
|
- .gitlab-ci/meson/build.sh
|
||||||
|
|
||||||
fedora-release:
|
fedora-release:
|
||||||
extends:
|
extends:
|
||||||
- .meson-build
|
- .meson-build
|
||||||
|
|||||||
70
.gitlab-ci/container/alpine/x86_build.sh
Normal file
70
.gitlab-ci/container/alpine/x86_build.sh
Normal file
@@ -0,0 +1,70 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
# shellcheck disable=SC2086 # we want word splitting
|
||||||
|
|
||||||
|
set -e
|
||||||
|
set -o xtrace
|
||||||
|
|
||||||
|
|
||||||
|
EPHEMERAL="
|
||||||
|
autoconf
|
||||||
|
automake
|
||||||
|
bzip2
|
||||||
|
cmake
|
||||||
|
git
|
||||||
|
libtool
|
||||||
|
libepoxy-dev
|
||||||
|
libtbb-dev
|
||||||
|
make
|
||||||
|
openssl-dev
|
||||||
|
unzip
|
||||||
|
wget
|
||||||
|
xz
|
||||||
|
zstd-dev
|
||||||
|
"
|
||||||
|
|
||||||
|
apk add \
|
||||||
|
bison \
|
||||||
|
ccache \
|
||||||
|
clang-dev \
|
||||||
|
flex \
|
||||||
|
gcc \
|
||||||
|
g++ \
|
||||||
|
gettext \
|
||||||
|
glslang \
|
||||||
|
linux-headers \
|
||||||
|
llvm13-dev \
|
||||||
|
meson \
|
||||||
|
expat-dev \
|
||||||
|
elfutils-dev \
|
||||||
|
libselinux-dev \
|
||||||
|
libva-dev \
|
||||||
|
libpciaccess-dev \
|
||||||
|
zlib-dev \
|
||||||
|
python3-dev \
|
||||||
|
py3-mako \
|
||||||
|
py3-ply \
|
||||||
|
vulkan-headers \
|
||||||
|
spirv-tools-dev \
|
||||||
|
util-macros \
|
||||||
|
$EPHEMERAL
|
||||||
|
|
||||||
|
|
||||||
|
. .gitlab-ci/container/container_pre_build.sh
|
||||||
|
|
||||||
|
. .gitlab-ci/container/build-libdrm.sh
|
||||||
|
|
||||||
|
. .gitlab-ci/container/build-wayland.sh
|
||||||
|
|
||||||
|
pushd /usr/local
|
||||||
|
git clone https://gitlab.freedesktop.org/mesa/shader-db.git --depth 1
|
||||||
|
rm -rf shader-db/.git
|
||||||
|
cd shader-db
|
||||||
|
make
|
||||||
|
popd
|
||||||
|
|
||||||
|
|
||||||
|
############### Uninstall the build software
|
||||||
|
|
||||||
|
apk del $EPHEMERAL
|
||||||
|
|
||||||
|
. .gitlab-ci/container/container_post_build.sh
|
||||||
@@ -2,6 +2,8 @@
|
|||||||
|
|
||||||
if test -f /etc/debian_version; then
|
if test -f /etc/debian_version; then
|
||||||
CCACHE_PATH=/usr/lib/ccache
|
CCACHE_PATH=/usr/lib/ccache
|
||||||
|
elif test -f /etc/alpine-release; then
|
||||||
|
CCACHE_PATH=/usr/lib/ccache/bin
|
||||||
else
|
else
|
||||||
CCACHE_PATH=/usr/lib64/ccache
|
CCACHE_PATH=/usr/lib64/ccache
|
||||||
fi
|
fi
|
||||||
|
|||||||
@@ -255,6 +255,24 @@ debian/arm_build:
|
|||||||
- debian/arm_build
|
- debian/arm_build
|
||||||
|
|
||||||
|
|
||||||
|
# Alpine based x86 build image
|
||||||
|
alpine/x86_build:
|
||||||
|
extends:
|
||||||
|
- .fdo.container-build@alpine
|
||||||
|
- .container
|
||||||
|
variables:
|
||||||
|
FDO_DISTRIBUTION_VERSION: "3.16"
|
||||||
|
MESA_IMAGE_TAG: &alpine-x86_build ${ALPINE_X86_BUILD_TAG}
|
||||||
|
|
||||||
|
.use-alpine/x86_build:
|
||||||
|
extends:
|
||||||
|
- .set-image
|
||||||
|
variables:
|
||||||
|
MESA_IMAGE_PATH: "alpine/x86_build"
|
||||||
|
MESA_IMAGE_TAG: *alpine-x86_build
|
||||||
|
needs:
|
||||||
|
- alpine/x86_build
|
||||||
|
|
||||||
# Fedora 34 based x86 build image
|
# Fedora 34 based x86 build image
|
||||||
fedora/x86_build:
|
fedora/x86_build:
|
||||||
extends:
|
extends:
|
||||||
|
|||||||
@@ -14,6 +14,7 @@ variables:
|
|||||||
DEBIAN_X86_TEST_GL_TAG: "2022-11-08-deqp-runner"
|
DEBIAN_X86_TEST_GL_TAG: "2022-11-08-deqp-runner"
|
||||||
DEBIAN_X86_TEST_VK_TAG: "2022-11-08-deqp-runner"
|
DEBIAN_X86_TEST_VK_TAG: "2022-11-08-deqp-runner"
|
||||||
|
|
||||||
|
ALPINE_X86_BUILD_TAG: "2022-11-15-alpine-bringup"
|
||||||
FEDORA_X86_BUILD_TAG: "2022-09-22-python3-ply-2"
|
FEDORA_X86_BUILD_TAG: "2022-09-22-python3-ply-2"
|
||||||
KERNEL_ROOTFS_TAG: "2022-11-08-deqp-runner"
|
KERNEL_ROOTFS_TAG: "2022-11-08-deqp-runner"
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user