diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 57ca84ee6432d1c0edd847643ab792a9e2d78df4..86784303fda5096144003e1b02b0db75ee29159b 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,40 +1,17 @@ +# The container images used in this pipeline are built from this +# GitLab project: https://gitlab.gnome.org/sthursfield/tracker-oci-images/ + 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 meson redhat-rpm-config - - dnf builddep -y tracker tracker-miners - - - useradd -Um tracker - - chown -R tracker:tracker . + image: registry.gitlab.gnome.org/sthursfield/tracker-oci-images/amd64/fedora:latest script: # First build and install latest Tracker using Meson (the Autotools build # of Tracker is tested already in tracker.git, we don't need to suffer that # again). - - dnf install -y git - mkdir /opt/tracker; chown tracker:tracker /opt/tracker - su tracker -c 'git clone https://gitlab.gnome.org/GNOME/tracker' - su tracker -c 'cd tracker; mkdir build' @@ -50,18 +27,9 @@ test-autotools-fedora27: - su tracker -c 'make -j' - su tracker -c 'LD_LIBRARY_PATH=/opt/tracker/lib64 VERBOSE=1 make check' -test-meson-fedora27: +test-meson-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 meson redhat-rpm-config - - dnf builddep -y tracker tracker-miners - - - useradd -Um tracker - - chown -R tracker:tracker . + image: registry.gitlab.gnome.org/sthursfield/tracker-oci-images/amd64/fedora:latest script: # We can build and test tracker-miners against tracker just by building @@ -72,7 +40,6 @@ test-meson-fedora27: # somewhere. It would be nice to improve the functional-tests so that they # will run without depending on any files outside of the build tree. Note # that Tracker is installed on the host here, thanks to `dnf builddep`. - - dnf install -y git - su tracker -c 'mkdir subprojects; cd subprojects; git clone https://gitlab.gnome.org/GNOME/tracker' - su tracker -c 'mkdir build' - su tracker -c 'cd build; meson .. --prefix=/usr -Dfunctional_tests=false'