Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Marijn Suijten
pulseaudio
Commits
c48f36fc
Commit
c48f36fc
authored
Nov 21, 2019
by
Arun Raghavan
🐾
Browse files
gitlab: Make container updates automatic
parent
6f48bc95
Changes
3
Hide whitespace changes
Inline
Side-by-side
.gitlab-ci.yml
View file @
c48f36fc
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
...
...
Makefile.am
View file @
c48f36fc
...
...
@@ -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
\
...
...
scripts/Dockerfile
deleted
100644 → 0
View file @
6f48bc95
# 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
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment