diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 09512e2a092..dd0b3335372 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -54,6 +54,7 @@ include: - project: 'freedesktop/ci-templates' ref: *ci-templates-commit file: + - '/templates/alpine.yml' - '/templates/debian.yml' - '/templates/fedora.yml' - local: '.gitlab-ci/image-tags.yml' diff --git a/.gitlab-ci/build/gitlab-ci.yml b/.gitlab-ci/build/gitlab-ci.yml index 39bb7500239..6e05113103c 100644 --- a/.gitlab-ci/build/gitlab-ci.yml +++ b/.gitlab-ci/build/gitlab-ci.yml @@ -224,6 +224,44 @@ debian-release: script: - .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: extends: - .meson-build diff --git a/.gitlab-ci/container/alpine/x86_build.sh b/.gitlab-ci/container/alpine/x86_build.sh new file mode 100644 index 00000000000..b7e870c4880 --- /dev/null +++ b/.gitlab-ci/container/alpine/x86_build.sh @@ -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 diff --git a/.gitlab-ci/container/container_pre_build.sh b/.gitlab-ci/container/container_pre_build.sh index 6f5c8e263d0..df529c38f0a 100755 --- a/.gitlab-ci/container/container_pre_build.sh +++ b/.gitlab-ci/container/container_pre_build.sh @@ -2,6 +2,8 @@ if test -f /etc/debian_version; then CCACHE_PATH=/usr/lib/ccache +elif test -f /etc/alpine-release; then + CCACHE_PATH=/usr/lib/ccache/bin else CCACHE_PATH=/usr/lib64/ccache fi diff --git a/.gitlab-ci/container/gitlab-ci.yml b/.gitlab-ci/container/gitlab-ci.yml index bb691f6c148..e38a9d564e0 100644 --- a/.gitlab-ci/container/gitlab-ci.yml +++ b/.gitlab-ci/container/gitlab-ci.yml @@ -255,6 +255,24 @@ 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/x86_build: extends: diff --git a/.gitlab-ci/image-tags.yml b/.gitlab-ci/image-tags.yml index 244dcd6b8ab..2d24aca6b02 100644 --- a/.gitlab-ci/image-tags.yml +++ b/.gitlab-ci/image-tags.yml @@ -14,6 +14,7 @@ variables: DEBIAN_X86_TEST_GL_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" KERNEL_ROOTFS_TAG: "2022-11-08-deqp-runner"