mirror of
https://gitlab.freedesktop.org/pulseaudio/pulseaudio.git
synced 2025-10-29 05:40:23 -04:00
This updates things based on changes in the templates that we use. Also pins the ref in the template repo so that our build does not break when the template parameters change. This does mean that we should likely periodically check the ci-templates repo, but this seems to be better than the build breaking unexpectedly.
124 lines
3.3 KiB
YAML
124 lines
3.3 KiB
YAML
# The build has two stages. The 'container' stage is used to build a Docker
|
|
# container and push it to the project's container registry on fd.o GitLab.
|
|
# This step is only run when the tag for the container changes, else it is
|
|
# effectively a no-op. All of this infrastructure is inherited from the
|
|
# wayland/ci-templates repository which is the recommended way to set up CI
|
|
# infrastructure on fd.o GitLab.
|
|
#
|
|
# Once the container stage is done, we move on to the 'build' stage where we
|
|
# run an autotools and meson build in parallel. Currently, tests are also run
|
|
# as part of the build stage as there doesn't seem to be significant value to
|
|
# splitting the stages at the moment.
|
|
|
|
stages:
|
|
- container
|
|
- build
|
|
|
|
variables:
|
|
# Update this tag when you want to trigger a rebuild the container in which
|
|
# CI runs, for example when adding new packages to UBUNTU_DEBS. The tag is
|
|
# an arbitrary string that identifies the exact container contents.
|
|
FDO_DISTRIBUTION_TAG: '2020-03-06-01'
|
|
FDO_DISTRIBUTION_VERSION: '18.04'
|
|
FDO_UPSTREAM_REPO: 'pulseaudio/pulseaudio'
|
|
UBUNTU_IMAGE: "$CI_REGISTRY_IMAGE/ubuntu/$FDO_DISTRIBUTION_VERSION:$FDO_DISTRIBUTION_TAG"
|
|
|
|
include:
|
|
- project: 'wayland/ci-templates'
|
|
ref: 'df52af2195b052325daf5d715c88be90f8ec7d86'
|
|
file: '/templates/ubuntu.yml'
|
|
|
|
build-container:
|
|
extends: .fdo.container-ifnot-exists@ubuntu
|
|
stage: container
|
|
variables:
|
|
GIT_STRATEGY: none # no need to pull the whole tree for rebuilding the image
|
|
|
|
# Remember to update FDO_DISTRIBUTION_TAG when modifying this package list!
|
|
# Otherwise the changes won't have effect since an old container image will
|
|
# be used.
|
|
FDO_DISTRIBUTION_PACKAGES: >-
|
|
autoconf
|
|
automake
|
|
autopoint
|
|
bash-completion
|
|
check
|
|
curl
|
|
dbus-x11
|
|
g++
|
|
gcc
|
|
gettext
|
|
git-core
|
|
libasound2-dev
|
|
libasyncns-dev
|
|
libavahi-client-dev
|
|
libbluetooth-dev
|
|
libcap-dev
|
|
libfftw3-dev
|
|
libglib2.0-dev
|
|
libgtk-3-dev
|
|
libice-dev
|
|
libjack-dev
|
|
liblircclient-dev
|
|
libltdl-dev
|
|
liborc-0.4-dev
|
|
libsbc-dev
|
|
libsndfile1-dev
|
|
libsoxr-dev
|
|
libspeexdsp-dev
|
|
libssl-dev
|
|
libsystemd-dev
|
|
libtdb-dev
|
|
libtool
|
|
libudev-dev
|
|
libwebrtc-audio-processing-dev
|
|
libwrap0-dev
|
|
libx11-xcb-dev
|
|
libxcb1-dev
|
|
libxml-parser-perl
|
|
libxml2-utils
|
|
libxtst-dev
|
|
make
|
|
ninja-build
|
|
pkg-config
|
|
python3-setuptools
|
|
systemd
|
|
wget
|
|
|
|
build-autotools:
|
|
stage: build
|
|
image: $UBUNTU_IMAGE
|
|
script:
|
|
- export MAKEFLAGS="-j$(nproc)"
|
|
- NOCONFIGURE=1 ./bootstrap.sh
|
|
- mkdir build
|
|
- cd build
|
|
- ../configure --localstatedir=/var
|
|
- make
|
|
- make check
|
|
- make check-daemon
|
|
- ulimit -c 0 # don't dump core files on tests that are supposed to assert
|
|
- make distcheck
|
|
artifacts:
|
|
paths:
|
|
- build/
|
|
|
|
build-meson:
|
|
stage: build
|
|
image: $UBUNTU_IMAGE
|
|
script:
|
|
# Install meson
|
|
- wget -q https://github.com/mesonbuild/meson/releases/download/0.50.0/meson-0.50.0.tar.gz
|
|
- tar -xf meson-0.50.0.tar.gz
|
|
- cd meson-0.50.0
|
|
- python3 setup.py install
|
|
- cd ..
|
|
# Do the actual build
|
|
- meson build
|
|
- cd build
|
|
- ninja
|
|
- ninja test
|
|
- ninja test-daemon
|
|
artifacts:
|
|
paths:
|
|
- build/
|