mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-22 09:41:07 +00:00
ci: Add a simple build job based on debian
The gstreamer-rs repos use debian based images already, which we can later base on this one. Additionally it's good to have another distro target so we avoid weird fedoraisms when possible. It will also be simpler to keep it up to date, as we don't need to run the test suite against this build as well. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6656>
This commit is contained in:
parent
d2c8593b2e
commit
472d1b52d3
8 changed files with 354 additions and 10 deletions
|
@ -33,6 +33,7 @@ variables:
|
|||
value: ""
|
||||
|
||||
FEDORA_AMD64_SUFFIX: 'amd64/fedora'
|
||||
DEBIAN_AMD64_SUFFIX: 'amd64/debian'
|
||||
INDENT_AMD64_SUFFIX: 'amd64/gst-indent'
|
||||
COMMITLINT_AMD64_SUFFIX: 'amd64/commitlint'
|
||||
WINDOWS_AMD64_SUFFIX: 'amd64/windows'
|
||||
|
@ -124,6 +125,7 @@ trigger:
|
|||
|
||||
.fedora image:
|
||||
variables:
|
||||
CCACHE_DIR: '/cache/gstreamer/gstreamer/ccache/'
|
||||
FDO_BASE_IMAGE: 'registry.fedoraproject.org/fedora-toolbox:34'
|
||||
FDO_DISTRIBUTION_VERSION: '34'
|
||||
FDO_REPO_SUFFIX: "$FEDORA_AMD64_SUFFIX"
|
||||
|
@ -140,6 +142,25 @@ fedora amd64 docker:
|
|||
# (which has faster network connectivity to the registry).
|
||||
tags: [ 'placeholder-job' ]
|
||||
|
||||
.debian image:
|
||||
variables:
|
||||
CCACHE_DIR: '/cache/gstreamer/gstreamer/ccache_debian/'
|
||||
FDO_BASE_IMAGE: "quay.io/toolbx-images/debian-toolbox:12"
|
||||
FDO_DISTRIBUTION_VERSION: '12'
|
||||
FDO_REPO_SUFFIX: "$DEBIAN_AMD64_SUFFIX"
|
||||
FDO_DISTRIBUTION_TAG: "$DEBIAN_TAG-$GST_UPSTREAM_BRANCH"
|
||||
FDO_DISTRIBUTION_EXEC: 'GIT_BRANCH=$CI_COMMIT_REF_NAME GIT_URL=$CI_REPOSITORY_URL bash ci/docker/debian/prepare.sh'
|
||||
|
||||
debian amd64 docker:
|
||||
extends:
|
||||
- '.debian image'
|
||||
- '.fdo.container-build@debian'
|
||||
stage: 'preparation'
|
||||
needs: []
|
||||
# Note: assumption is that placeholder jobs run on a packet runner
|
||||
# (which has faster network connectivity to the registry).
|
||||
tags: [ 'placeholder-job' ]
|
||||
|
||||
.gst-indent image:
|
||||
tags: [ 'placeholder-job' ]
|
||||
variables:
|
||||
|
@ -264,7 +285,6 @@ commitlint:
|
|||
CCACHE_COMPILERCHECK: 'content'
|
||||
CCACHE_COMPRESS: 'true'
|
||||
CCACHE_BASEDIR: '/cache/gstreamer/gstreamer'
|
||||
CCACHE_DIR: '/cache/gstreamer/gstreamer/ccache/'
|
||||
# shared across everything really
|
||||
CCACHE_MAXSIZE: '10G'
|
||||
|
||||
|
@ -329,15 +349,10 @@ commitlint:
|
|||
- changes:
|
||||
- subprojects/gstreamer-vaapi/**/*
|
||||
|
||||
.build fedora x86_64:
|
||||
.build simple:
|
||||
extends:
|
||||
- '.fedora image'
|
||||
- '.fdo.suffixed-image@fedora'
|
||||
- '.build'
|
||||
- '.build_ccache_vars'
|
||||
needs:
|
||||
- "trigger"
|
||||
- "fedora amd64 docker"
|
||||
variables:
|
||||
GST_WERROR: "true"
|
||||
MESON_ARGS: "${SIMPLE_BUILD}"
|
||||
|
@ -350,6 +365,15 @@ commitlint:
|
|||
- meson install --destdir $CI_PROJECT_DIR/destdir -C build
|
||||
- rm -rf $CI_PROJECT_DIR/destdir
|
||||
|
||||
.build fedora x86_64:
|
||||
extends:
|
||||
- '.fedora image'
|
||||
- '.fdo.suffixed-image@fedora'
|
||||
- '.build simple'
|
||||
needs:
|
||||
- "trigger"
|
||||
- "fedora amd64 docker"
|
||||
|
||||
build fedora gcc:
|
||||
extends: '.build fedora x86_64'
|
||||
variables:
|
||||
|
@ -405,6 +429,18 @@ build fedora clang:
|
|||
-Dgstreamer-sharp:tests=disabled
|
||||
--force-fallback-for=glib
|
||||
|
||||
build debian x86_64:
|
||||
extends:
|
||||
- '.debian image'
|
||||
- '.fdo.suffixed-image@debian'
|
||||
- '.build simple'
|
||||
needs:
|
||||
- "trigger"
|
||||
- "debian amd64 docker"
|
||||
variables:
|
||||
BUILD_TYPE: "--default-library=shared"
|
||||
BUILD_GST_DEBUG: "-Dgstreamer:gst_debug=true"
|
||||
|
||||
.build windows:
|
||||
image: $WINDOWS_IMAGE
|
||||
stage: 'build'
|
||||
|
|
|
@ -5,7 +5,9 @@ variables:
|
|||
# If you are hacking on them or need a them to rebuild, its enough
|
||||
# to change any part of the string of the image you want.
|
||||
###
|
||||
FEDORA_TAG: '2024-04-10.0'
|
||||
FEDORA_TAG: '2024-04-16.0'
|
||||
|
||||
DEBIAN_TAG: '2024-04-22.0'
|
||||
|
||||
INDENT_TAG: '2023-08-24.3'
|
||||
|
||||
|
|
283
ci/docker/debian/deps.txt
Normal file
283
ci/docker/debian/deps.txt
Normal file
|
@ -0,0 +1,283 @@
|
|||
apertium-regtest
|
||||
appstream-util
|
||||
autopoint
|
||||
bash-completion
|
||||
bat
|
||||
bison
|
||||
bubblewrap
|
||||
busybox
|
||||
ccache
|
||||
clang
|
||||
clang-tools
|
||||
cmake
|
||||
coinor-libcgl-dev
|
||||
curl
|
||||
desktop-file-utils
|
||||
docutils-common
|
||||
doxygen
|
||||
dwz
|
||||
elfutils
|
||||
emscripten
|
||||
ffmpeg
|
||||
flex
|
||||
flite1-dev
|
||||
g++
|
||||
gcc
|
||||
gdb
|
||||
gettext
|
||||
git
|
||||
git-lfs
|
||||
glslc
|
||||
googletest
|
||||
graphviz
|
||||
gtk-doc-tools
|
||||
guile-cairo-dev
|
||||
iproute2
|
||||
iso-codes
|
||||
itstool
|
||||
ladspa-sdk
|
||||
liba52-0.7.4-dev
|
||||
libaa1-dev
|
||||
liballeggl4-dev
|
||||
libaom-dev
|
||||
libasound2-dev
|
||||
libass-dev
|
||||
libatk1.0-dev
|
||||
libavahi-client-dev
|
||||
libavahi-common-dev
|
||||
libavc1394-dev
|
||||
libavcodec-dev
|
||||
libavdevice-dev
|
||||
libavfilter-dev
|
||||
libavformat-dev
|
||||
libavif-dev
|
||||
libavutil-dev
|
||||
libbluetooth-dev
|
||||
libboost-system-dev
|
||||
libbs2b-dev
|
||||
libcaca-dev
|
||||
libcairo2-dev
|
||||
libcamera-dev
|
||||
libcanberra-dev
|
||||
libcap-dev
|
||||
libcdio-dev
|
||||
libcdparanoia-dev
|
||||
libchromaprint-dev
|
||||
libclang-dev
|
||||
libcoap3-dev
|
||||
libcurl4-openssl-dev
|
||||
libdbus-glib2.0-cil-dev
|
||||
libdca-dev
|
||||
libde265-dev
|
||||
libdirectfb-dev
|
||||
libdrm-dev
|
||||
libdrumstick-dev
|
||||
libdv4-dev
|
||||
libdvdnav-dev
|
||||
libdvdread-dev
|
||||
libdw-dev
|
||||
libebur128-dev
|
||||
libegl-dev
|
||||
libespeak-ng-dev
|
||||
libespeak-ng-libespeak-dev
|
||||
libevdev-dev
|
||||
libevent-dev
|
||||
libexempi-dev
|
||||
libexif-dev
|
||||
libfaad-dev
|
||||
libfftw3-bin
|
||||
libfftw3-dev
|
||||
libflac-dev
|
||||
libfluidsynth-dev
|
||||
libframe-dev
|
||||
libfreeaptx-dev
|
||||
libftgl-dev
|
||||
libgbm-dev
|
||||
libgdk-pixbuf-2.0-dev
|
||||
libgeocode-glib-dev
|
||||
libgirepository1.0-dev
|
||||
libgl-dev
|
||||
libgl1-mesa-dev
|
||||
libgles-dev
|
||||
libglib2.0-dev
|
||||
libglib2.0-doc
|
||||
libglx-dev
|
||||
libgme-dev
|
||||
libgnutls28-dev
|
||||
libgraphene-1.0-dev
|
||||
libgridsite-dev
|
||||
libgsl-dev
|
||||
libgsm1-dev
|
||||
libgssdp-1.6-dev
|
||||
libgtest-dev
|
||||
libgtk-3-dev
|
||||
libgtk-4-dev
|
||||
libgtkmm-3.0-dev
|
||||
libgudev-1.0-dev
|
||||
libgupnp-igd-1.0-dev
|
||||
libiec61883-dev
|
||||
libinput-dev
|
||||
libiptcdata0-dev
|
||||
libjack-jackd2-dev
|
||||
libjpeg62-turbo-dev
|
||||
libjson-glib-dev
|
||||
libjwt-gnutls-dev
|
||||
libkate-dev
|
||||
liblc3-dev
|
||||
liblcms2-dev
|
||||
libldacbt-abr-dev
|
||||
libldacbt-enc-dev
|
||||
liblilv-dev
|
||||
liblogg4-dev
|
||||
libltc-dev
|
||||
liblttng-ust-dev
|
||||
liblxi-dev
|
||||
libmfx-dev
|
||||
libmjpegtools-dev
|
||||
libmodplug-dev
|
||||
libmono-cil-dev
|
||||
libmp3lame-dev
|
||||
libmpcdec-dev
|
||||
libmpeg2-4-dev
|
||||
libmpeg3-dev
|
||||
libmpg123-dev
|
||||
libneon27-dev
|
||||
libngtcp2-crypto-gnutls-dev
|
||||
libnice-dev
|
||||
libnx-x11-dev
|
||||
libogg-dev
|
||||
libopenal-dev
|
||||
libopencore-amrnb-dev
|
||||
libopencore-amrwb-dev
|
||||
libopencv-dev
|
||||
libopenexr-dev
|
||||
libopengl-dev
|
||||
libopenh264-dev
|
||||
libopenjp2-7-dev
|
||||
libopenmpt-dev
|
||||
libopenni2-dev
|
||||
libopus-dev
|
||||
libpango1.0-dev
|
||||
libpng-dev
|
||||
libpolkit-gobject-1-dev
|
||||
libpulse-dev
|
||||
libpython3-all-dev
|
||||
libqrencode-dev
|
||||
libqt5waylandclient5-dev
|
||||
libqt5x11extras5-dev
|
||||
libraw1394-dev
|
||||
librsvg2-dev
|
||||
librtmp-dev
|
||||
librust-wayland-protocols-dev
|
||||
libsbc-dev
|
||||
libsdl2-dev
|
||||
libshaderc1
|
||||
libshout-dev
|
||||
libsidplay1-dev
|
||||
libsigc++-2.0-dev
|
||||
libsndfile1-dev
|
||||
libsndifsdl2-dev
|
||||
libsoundtouch-dev
|
||||
libsoup-3.0-dev
|
||||
libsoup2.4-dev
|
||||
libspandsp-dev
|
||||
libspeex-dev
|
||||
libsphinxbase-dev
|
||||
libspice-client-glib-2.0-dev
|
||||
libsrt-openssl-dev
|
||||
libsrtp2-dev
|
||||
libssh2-1-dev
|
||||
libssl-dev
|
||||
libsvtav1-dev
|
||||
libsvtav1dec-dev
|
||||
libsvtav1enc-dev
|
||||
libsysprof-4-dev
|
||||
libtag1-dev
|
||||
libtaoframework-openal-cil-dev
|
||||
libtaoframework-opengl-cil-dev
|
||||
libtheora-dev
|
||||
libtwolame-dev
|
||||
libudev-dev
|
||||
libunwind-dev
|
||||
liburcu-dev
|
||||
libusb-1.0-0-dev
|
||||
libv4l-dev
|
||||
libva-dev
|
||||
libvisual-0.4-dev
|
||||
libvo-aacenc-dev
|
||||
libvo-amrwbenc-dev
|
||||
libvorbis-dev
|
||||
libvpx-dev
|
||||
libvulkan-dev
|
||||
libwacom-dev
|
||||
libwavpack-dev
|
||||
libwayland-dev
|
||||
libwebp-dev
|
||||
libwebrtc-audio-processing-dev
|
||||
libwildmidi-dev
|
||||
libwpe-1.0-dev
|
||||
libwpebackend-fdo-1.0-dev
|
||||
libwpewebkit-1.1-dev
|
||||
libx11-dev
|
||||
libx11-xcb-dev
|
||||
libx264-dev
|
||||
libx265-dev
|
||||
libxcb-dri3-dev
|
||||
libxcb-glx0-dev
|
||||
libxcb-xfixes0-dev
|
||||
libxcb-xv0-dev
|
||||
libxcb1-dev
|
||||
libxdamage-dev
|
||||
libxext-dev
|
||||
libxfixes-dev
|
||||
libxi-dev
|
||||
libxkbcommon-dev
|
||||
libxkbcommon-x11-dev
|
||||
libxml2-dev
|
||||
libxmlsec1-dev
|
||||
libxrandr-dev
|
||||
libxslt1-dev
|
||||
libxtst-dev
|
||||
libxv-dev
|
||||
libxvidcore-dev
|
||||
libyajl-dev
|
||||
libyaml-dev
|
||||
libz-mingw-w64-dev
|
||||
libzbar-dev
|
||||
libzita-convolver-dev
|
||||
libzvbi-dev
|
||||
libzxing-dev
|
||||
libzxingcore-dev
|
||||
llvm-dev
|
||||
lua-zlib-dev
|
||||
make
|
||||
modemmanager-dev
|
||||
mono-complete
|
||||
mono-devel
|
||||
nasm
|
||||
nettle-dev
|
||||
ninja-build
|
||||
patch
|
||||
python-gi-dev
|
||||
python3-all-dev
|
||||
python3-cairo-dev
|
||||
python3-dev
|
||||
python3-pip
|
||||
qconf
|
||||
qt5-qmake
|
||||
qtbase5-dev
|
||||
qtbase5-private-dev
|
||||
qtdeclarative5-dev
|
||||
qtdeclarative5-dev-tools
|
||||
qttools5-dev-tools
|
||||
sudo
|
||||
svt-av1
|
||||
valgrind
|
||||
wayland-protocols
|
||||
x11-xserver-utils
|
||||
xdg-utils
|
||||
xfonts-jmk
|
||||
xfonts-kaname
|
||||
xvfb
|
||||
yasm
|
||||
zlib1g-dev
|
10
ci/docker/debian/install-deps.sh
Normal file
10
ci/docker/debian/install-deps.sh
Normal file
|
@ -0,0 +1,10 @@
|
|||
#! /bin/bash
|
||||
|
||||
set -eux
|
||||
|
||||
apt update -y && apt full-upgrade -y
|
||||
apt install -y $(<./ci/docker/debian/deps.txt)
|
||||
|
||||
pip3 install --break-system-packages meson==1.2.3 hotdoc==0.16 python-gitlab tomli junitparser
|
||||
|
||||
apt clean all
|
13
ci/docker/debian/prepare.sh
Normal file
13
ci/docker/debian/prepare.sh
Normal file
|
@ -0,0 +1,13 @@
|
|||
#! /bin/bash
|
||||
|
||||
set -eux
|
||||
|
||||
bash ./ci/docker/debian/install-deps.sh
|
||||
|
||||
bash ./ci/scripts/install-rust.sh
|
||||
|
||||
# Configure git for various usage
|
||||
git config --global user.email "gstreamer@gstreamer.net"
|
||||
git config --global user.name "Gstbuild Runner"
|
||||
|
||||
bash ./ci/scripts/create-subprojects-cache.sh
|
|
@ -12,8 +12,8 @@ bash ./ci/docker/fedora/install-gdk-pixbuf.sh
|
|||
|
||||
bash ./ci/docker/fedora/install-wayland-protocols.sh
|
||||
|
||||
bash ./ci/docker/fedora/install-rust.sh
|
||||
bash ./ci/scripts/install-rust.sh
|
||||
|
||||
bash ./ci/docker/fedora/virtme-fluster-setup.sh
|
||||
|
||||
bash ./ci/docker/fedora/create-subprojects-cache.sh
|
||||
bash ./ci/scripts/create-subprojects-cache.sh
|
||||
|
|
Loading…
Reference in a new issue