ci: Add Fedora 34 based x86 build docker image
v2: * Do not install weak dependencies in Fedora docker image. Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11412>
This commit is contained in:
parent
f5e6674f98
commit
5d8d2bf2d8
|
@ -22,6 +22,7 @@ include:
|
|||
ref: *ci-templates-commit
|
||||
file:
|
||||
- '/templates/debian.yml'
|
||||
- '/templates/fedora.yml'
|
||||
- local: '.gitlab-ci/lava/lava-gitlab-ci.yml'
|
||||
- local: '.gitlab-ci/test-source-dep.yml'
|
||||
- local: 'src/amd/ci/gitlab-ci.yml'
|
||||
|
@ -452,6 +453,26 @@ debian/arm_build:
|
|||
needs:
|
||||
- debian/arm_build
|
||||
|
||||
|
||||
# Fedora 34 based x86 build image
|
||||
fedora/x86_build:
|
||||
extends:
|
||||
- .fdo.container-build@fedora
|
||||
- .container
|
||||
variables:
|
||||
FDO_DISTRIBUTION_VERSION: 34
|
||||
MESA_IMAGE_TAG: &fedora-x86_build "2021-07-08-bump-libdrm"
|
||||
|
||||
.use-fedora/x86_build:
|
||||
extends:
|
||||
- .set-image
|
||||
variables:
|
||||
MESA_IMAGE_PATH: "fedora/x86_build"
|
||||
MESA_IMAGE_TAG: *fedora-x86_build
|
||||
needs:
|
||||
- fedora/x86_build
|
||||
|
||||
|
||||
.kernel+rootfs:
|
||||
extends:
|
||||
- .ci-run-policy
|
||||
|
|
|
@ -1,6 +1,8 @@
|
|||
#!/bin/sh
|
||||
|
||||
apt-get autoremove -y --purge
|
||||
if test -f /etc/debian_version; then
|
||||
apt-get autoremove -y --purge
|
||||
fi
|
||||
|
||||
# Clean up any build cache for rust.
|
||||
rm -rf /.cargo
|
||||
|
|
|
@ -1,15 +1,21 @@
|
|||
#!/bin/sh
|
||||
|
||||
if test -f /etc/debian_version; then
|
||||
CCACHE_PATH=/usr/lib/ccache
|
||||
else
|
||||
CCACHE_PATH=/usr/lib64/ccache
|
||||
fi
|
||||
|
||||
# Common setup among container builds before we get to building code.
|
||||
|
||||
export CCACHE_COMPILERCHECK=content
|
||||
export CCACHE_COMPRESS=true
|
||||
export CCACHE_DIR=/cache/mesa/ccache
|
||||
export PATH=/usr/lib/ccache:$PATH
|
||||
export PATH=$CCACHE_PATH:$PATH
|
||||
|
||||
# CMake ignores $PATH, so we have to force CC/GCC to the ccache versions.
|
||||
export CC="/usr/lib/ccache/gcc"
|
||||
export CXX="/usr/lib/ccache/g++"
|
||||
export CC="${CCACHE_PATH}/gcc"
|
||||
export CXX="${CCACHE_PATH}/g++"
|
||||
|
||||
# Force linkers to gold, since it's so much faster for building. We can't use
|
||||
# lld because we're on old debian and it's buggy. ming fails meson builds
|
||||
|
|
|
@ -0,0 +1,107 @@
|
|||
#!/bin/bash
|
||||
|
||||
set -e
|
||||
set -o xtrace
|
||||
|
||||
|
||||
EPHEMERAL="
|
||||
autoconf
|
||||
automake
|
||||
bzip2
|
||||
git
|
||||
libtool
|
||||
pkgconfig(epoxy)
|
||||
pkgconfig(gbm)
|
||||
unzip
|
||||
wget
|
||||
xz
|
||||
"
|
||||
|
||||
dnf install -y --setopt=install_weak_deps=False \
|
||||
bison \
|
||||
ccache \
|
||||
clang-devel \
|
||||
flex \
|
||||
gcc \
|
||||
gcc-c++ \
|
||||
gettext \
|
||||
kernel-headers \
|
||||
llvm-devel \
|
||||
meson \
|
||||
"pkgconfig(dri2proto)" \
|
||||
"pkgconfig(expat)" \
|
||||
"pkgconfig(glproto)" \
|
||||
"pkgconfig(libclc)" \
|
||||
"pkgconfig(libelf)" \
|
||||
"pkgconfig(libglvnd)" \
|
||||
"pkgconfig(libomxil-bellagio)" \
|
||||
"pkgconfig(libselinux)" \
|
||||
"pkgconfig(libva)" \
|
||||
"pkgconfig(pciaccess)" \
|
||||
"pkgconfig(vdpau)" \
|
||||
"pkgconfig(vulkan)" \
|
||||
"pkgconfig(wayland-egl-backend)" \
|
||||
"pkgconfig(wayland-protocols)" \
|
||||
"pkgconfig(wayland-scanner)" \
|
||||
"pkgconfig(x11)" \
|
||||
"pkgconfig(x11-xcb)" \
|
||||
"pkgconfig(xcb)" \
|
||||
"pkgconfig(xcb-dri2)" \
|
||||
"pkgconfig(xcb-dri3)" \
|
||||
"pkgconfig(xcb-glx)" \
|
||||
"pkgconfig(xcb-present)" \
|
||||
"pkgconfig(xcb-randr)" \
|
||||
"pkgconfig(xcb-sync)" \
|
||||
"pkgconfig(xcb-xfixes)" \
|
||||
"pkgconfig(xdamage)" \
|
||||
"pkgconfig(xext)" \
|
||||
"pkgconfig(xfixes)" \
|
||||
"pkgconfig(xrandr)" \
|
||||
"pkgconfig(xshmfence)" \
|
||||
"pkgconfig(xxf86vm)" \
|
||||
"pkgconfig(zlib)" \
|
||||
python-unversioned-command \
|
||||
python3-devel \
|
||||
python3-mako \
|
||||
python3-devel \
|
||||
python3-mako \
|
||||
vulkan-headers \
|
||||
$EPHEMERAL
|
||||
|
||||
|
||||
. .gitlab-ci/container/container_pre_build.sh
|
||||
|
||||
|
||||
# dependencies where we want a specific version
|
||||
export XORG_RELEASES=https://xorg.freedesktop.org/releases/individual
|
||||
export WAYLAND_RELEASES=https://wayland.freedesktop.org/releases
|
||||
|
||||
export XORGMACROS_VERSION=util-macros-1.19.0
|
||||
export LIBWAYLAND_VERSION=wayland-1.18.0
|
||||
|
||||
wget $XORG_RELEASES/util/$XORGMACROS_VERSION.tar.bz2
|
||||
tar -xvf $XORGMACROS_VERSION.tar.bz2 && rm $XORGMACROS_VERSION.tar.bz2
|
||||
cd $XORGMACROS_VERSION; ./configure; make install; cd ..
|
||||
rm -rf $XORGMACROS_VERSION
|
||||
|
||||
. .gitlab-ci/container/build-libdrm.sh
|
||||
|
||||
wget $WAYLAND_RELEASES/$LIBWAYLAND_VERSION.tar.xz
|
||||
tar -xvf $LIBWAYLAND_VERSION.tar.xz && rm $LIBWAYLAND_VERSION.tar.xz
|
||||
cd $LIBWAYLAND_VERSION; ./configure --enable-libraries --without-host-scanner --disable-documentation --disable-dtd-validation; make install; cd ..
|
||||
rm -rf $LIBWAYLAND_VERSION
|
||||
|
||||
|
||||
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
|
||||
|
||||
dnf remove -y $EPHEMERAL
|
||||
|
||||
. .gitlab-ci/container/container_post_build.sh
|
Loading…
Reference in New Issue