diff options
author | Christoph Reiter <creiter@src.gnome.org> | 2018-02-13 17:21:18 +0100 |
---|---|---|
committer | Christoph Reiter <creiter@src.gnome.org> | 2018-03-04 10:52:49 +0100 |
commit | 81c4fa5d505ecd08018843d46e2c503a62075035 (patch) | |
tree | 790f367810d61e2f220dd6f6ff85ab48ff244775 /.gitlab-ci | |
parent | 5ca21f6dbba6e4f34eade0d3de51daf4d78537ab (diff) | |
download | gtk+-81c4fa5d505ecd08018843d46e2c503a62075035.tar.gz |
Add gitlab-ci support using a prebuilt docker image
This uses autotools and just calls make
Diffstat (limited to '.gitlab-ci')
-rw-r--r-- | .gitlab-ci/Dockerfile | 60 | ||||
-rwxr-xr-x | .gitlab-ci/run-docker.sh | 19 | ||||
-rwxr-xr-x | .gitlab-ci/test-docker.sh | 6 |
3 files changed, 85 insertions, 0 deletions
diff --git a/.gitlab-ci/Dockerfile b/.gitlab-ci/Dockerfile new file mode 100644 index 0000000000..f0c5372062 --- /dev/null +++ b/.gitlab-ci/Dockerfile @@ -0,0 +1,60 @@ +FROM fedora:27 + +RUN dnf -y install \ + adwaita-icon-theme \ + atk-devel \ + at-spi2-atk-devel \ + avahi-gobject-devel \ + cairo-devel \ + cairo-gobject-devel \ + ccache \ + colord-devel \ + cups-devel \ + fribidi-devel \ + gcc \ + gcc-c++ \ + gdk-pixbuf2-devel \ + gdk-pixbuf2-modules \ + gettext \ + gettext-devel \ + git \ + glib2-devel \ + gobject-introspection-devel \ + graphene-devel \ + gtk-doc \ + hicolor-icon-theme \ + itstool \ + json-glib-devel \ + libepoxy-devel \ + libmount-devel \ + librsvg2 \ + libXcomposite-devel \ + libXcursor-devel \ + libXcursor-devel \ + libXdamage-devel \ + libXfixes-devel \ + libXi-devel \ + libXinerama-devel \ + libxkbcommon-devel \ + libXrandr-devel \ + libXrender-devel \ + make \ + mesa-libEGL-devel \ + mesa-libwayland-egl-devel \ + meson \ + pango-devel \ + redhat-rpm-config \ + vulkan-devel \ + wayland-devel \ + wayland-protocols-devel \ + xorg-x11-server-Xvfb + +ARG HOST_USER_ID=5555 +ENV HOST_USER_ID ${HOST_USER_ID} +RUN useradd -u $HOST_USER_ID -ms /bin/bash user + +USER user +WORKDIR /home/user + +ENV LANG C.utf8 +ENV PATH="/usr/lib64/ccache:${PATH}" diff --git a/.gitlab-ci/run-docker.sh b/.gitlab-ci/run-docker.sh new file mode 100755 index 0000000000..699d2093da --- /dev/null +++ b/.gitlab-ci/run-docker.sh @@ -0,0 +1,19 @@ +#!/bin/bash +# +# This script builds an image from the Dockerfile, starts a container with +# the parent directory mounted as working directory and start a bash session +# there so you can test things. +# Once you are happy you can push it to the docker hub: +# sudo docker push "${TAG}" + +set -e + +TAG="lazka/gitlab-gtk-3-22:v1" + +# HOST_USER_ID gets used to create a user with the same ID so that files +# created in the mounted volume have the same owner +sudo docker build \ + --build-arg HOST_USER_ID="$UID" --tag "${TAG}" --file "Dockerfile" . +sudo docker run \ + --rm --volume "$(pwd)/..:/home/user/app" --workdir "/home/user/app" \ + --tty --interactive "${TAG}" bash diff --git a/.gitlab-ci/test-docker.sh b/.gitlab-ci/test-docker.sh new file mode 100755 index 0000000000..da7b4d5c10 --- /dev/null +++ b/.gitlab-ci/test-docker.sh @@ -0,0 +1,6 @@ +#!/bin/bash + +set -e + +./autogen.sh +make -j8 |