From 19f1e85b607aa86a057007034cf0980bdf0b5b21 Mon Sep 17 00:00:00 2001 From: Sam Thursfield Date: Sun, 15 Jul 2018 23:01:01 +0200 Subject: ci: Use a custom base image with packages we need preinstalled The images are built from this project: https://gitlab.gnome.org/samthursfield/tracker-oci-images --- .gitlab-ci.yml | 64 ++++------------------------------------------------------ 1 file changed, 4 insertions(+), 60 deletions(-) (limited to '.gitlab-ci.yml') diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index c2ab622ca..9c18caf9c 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,74 +1,18 @@ stages: - test -# Note that using Fedora 28 triggered some weird compiler bug for me: -# -# GISCAN Tracker_C-2.0.gir -# annobin: Tracker_2.0.c: Error: plugin built for compiler version (8.0.1) but run with compiler version (8.1.1) -# cc1: error: fail to initialize plugin /usr/lib/gcc/x86_64-redhat-linux/8/plugin/annobin.so -# Traceback (most recent call last): -# File "/usr/lib64/python3.6/distutils/unixccompiler.py", line 127, in _compile -# extra_postargs) -# File "/usr/lib64/python3.6/distutils/ccompiler.py", line 909, in spawn -# spawn(cmd, dry_run=self.dry_run) -# File "/usr/lib64/python3.6/distutils/spawn.py", line 36, in spawn -# _spawn_posix(cmd, search_path, dry_run=dry_run) -# File "/usr/lib64/python3.6/distutils/spawn.py", line 159, in _spawn_posix -# % (cmd, exit_status)) -# distutils.errors.DistutilsExecError: command 'gcc' failed with exit status 1 -# -test-autotools-fedora27: +test-autotools-fedora-latest: stage: test - image: fedora:27 - - before_script: - # This takes a long time, we could prebuild a Docker image that already - # contains this stuff instead, and use that. - - dnf install -y 'dnf-command(builddep)' dbus-devel dbus-x11 libseccomp-devel make redhat-rpm-config - - dnf builddep -y tracker - - # This shouldn't be needed, but currently is. - # - # Some of the tests depend on the GSettings schemas being installed. - # - # Some of the tests also seem to interact with the session-wide Tracker - # instance! - - dnf install -y tracker - - # tests/libtracker-common/tracker-file-utils-test will fail if run as root, - # as it makes assertions about a path being unwritable. Better to test as a - # normal user in any case. - - useradd -Um tracker - - chown -R tracker:tracker . + image: registry.gitlab.gnome.org/sthursfield/tracker-oci-images/amd64/fedora:latest script: - su tracker -c './autogen.sh --disable-functional-tests --prefix=/usr' - su tracker -c 'make -j' - LANG=en_US.UTF8 VERBOSE=1 su tracker -c 'dbus-launch make check' -test-meson-fedora27: +test-meson-fedora28: stage: test - image: fedora:27 - - before_script: - # This takes a long time, we could prebuild a Docker image that already - # contains this stuff instead, and use that. - - dnf install -y 'dnf-command(builddep)' dbus-devel dbus-x11 libseccomp-devel meson redhat-rpm-config - - dnf builddep -y tracker - - # This shouldn't be needed, but currently is. - # - # Some of the tests depend on the GSettings schemas being installed. - # - # Some of the tests also seem to interact with the session-wide Tracker - # instance! - - dnf install -y tracker - - # tests/libtracker-common/tracker-file-utils-test will fail if run as root, - # as it makes assertions about a path being unwritable. Better to test as a - # normal user in any case. - - useradd -Um tracker - - chown -R tracker:tracker . + image: registry.gitlab.gnome.org/sthursfield/tracker-oci-images/amd64/fedora:latest script: - su tracker -c 'mkdir build' -- cgit v1.2.1