forked from AuroraMiddleware/gtk
Merge branch 'gitlab-ci-gtk-3-22' into 'gtk-3-22'
Add gitlab-ci support using a prebuilt docker image See merge request GNOME/gtk!18
This commit is contained in:
commit
119d8f996f
18
.gitlab-ci.yml
Normal file
18
.gitlab-ci.yml
Normal file
@ -0,0 +1,18 @@
|
||||
image: lazka/gitlab-gtk-3-22:v1
|
||||
|
||||
stages:
|
||||
- build
|
||||
|
||||
before_script:
|
||||
- mkdir -p _ccache
|
||||
- export CCACHE_BASEDIR=${PWD}
|
||||
- export CCACHE_DIR=${PWD}/_ccache
|
||||
|
||||
cache:
|
||||
paths:
|
||||
- _ccache/
|
||||
|
||||
build:
|
||||
stage: build
|
||||
script:
|
||||
- bash -x ./.gitlab-ci/test-docker.sh
|
60
.gitlab-ci/Dockerfile
Normal file
60
.gitlab-ci/Dockerfile
Normal file
@ -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}"
|
19
.gitlab-ci/run-docker.sh
Executable file
19
.gitlab-ci/run-docker.sh
Executable file
@ -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
|
6
.gitlab-ci/test-docker.sh
Executable file
6
.gitlab-ci/test-docker.sh
Executable file
@ -0,0 +1,6 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -e
|
||||
|
||||
./autogen.sh
|
||||
make -j8
|
Loading…
Reference in New Issue
Block a user