mirror of
https://github.com/pulseaudio/pulseaudio.git
synced 2024-11-27 03:43:52 +08:00
gitlab: Make container updates automatic
This commit is contained in:
parent
6f48bc9508
commit
c48f36fcb3
@ -1,7 +1,87 @@
|
||||
image: registry.freedesktop.org/pulseaudio/pulseaudio/ubuntu:18.04
|
||||
# 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
|
||||
UBUNTU_TAG: '2019-11-21-01'
|
||||
UBUNTU_VERSION: '18.04'
|
||||
UBUNTU_IMAGE: "$CI_REGISTRY_IMAGE/ubuntu/$UBUNTU_VERSION:$UBUNTU_TAG"
|
||||
|
||||
include:
|
||||
- project: 'wayland/ci-templates'
|
||||
ref: master
|
||||
file: '/templates/ubuntu.yml'
|
||||
|
||||
build-container:
|
||||
extends: .ubuntu@container-ifnot-exists
|
||||
stage: container
|
||||
variables:
|
||||
GIT_STRATEGY: none # no need to pull the whole tree for rebuilding the image
|
||||
UBUNTU_DEBS: >-
|
||||
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
|
||||
@ -19,7 +99,15 @@ build-autotools:
|
||||
|
||||
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
|
||||
|
@ -32,7 +32,6 @@ EXTRA_DIST = \
|
||||
README \
|
||||
CODE_OF_CONDUCT.md \
|
||||
scripts/benchmark_memory_usage.sh \
|
||||
scripts/Dockerfile \
|
||||
scripts/plot_memory_usage.gp \
|
||||
scripts/benchmarks/README \
|
||||
todo \
|
||||
|
@ -1,65 +0,0 @@
|
||||
# Start with current Ubuntu LTS
|
||||
FROM ubuntu:18.04
|
||||
|
||||
# Add a PulseAudio's dependencies
|
||||
RUN apt-get update && apt-get install -y \
|
||||
autoconf \
|
||||
automake \
|
||||
autopoint \
|
||||
bash-completion \
|
||||
check \
|
||||
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 \
|
||||
libudev-dev \
|
||||
libwebrtc-audio-processing-dev \
|
||||
libwrap0-dev \
|
||||
libx11-xcb-dev \
|
||||
libxcb1-dev \
|
||||
libxml-parser-perl \
|
||||
libxml2-utils \
|
||||
libxtst-dev \
|
||||
make \
|
||||
ninja-build \
|
||||
python3-setuptools \
|
||||
systemd
|
||||
|
||||
# Install meson from upstream tarball
|
||||
ARG MESON_VERSION=0.50.0
|
||||
RUN apt-get install -y wget && \
|
||||
wget -q https://github.com/mesonbuild/meson/releases/download/${MESON_VERSION}/meson-${MESON_VERSION}.tar.gz && \
|
||||
tar -xf meson-${MESON_VERSION}.tar.gz && \
|
||||
cd meson-${MESON_VERSION} && \
|
||||
python3 setup.py install
|
||||
|
||||
# Add a user and set as default for the build. This is safer, in general, and
|
||||
# allows us to avoid having to explicitly allow running as root in the
|
||||
# check-daemon stage.
|
||||
RUN groupadd -g 1000 a_group && \
|
||||
useradd a_user -u 1000 -g a_group -m
|
||||
USER a_user:a_group
|
||||
|
||||
# And make sure subsequent commands are run in the user's home directory
|
||||
WORKDIR /home/a_user
|
Loading…
Reference in New Issue
Block a user