Commit fe762f0b authored by Sam Thursfield's avatar Sam Thursfield

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
parent 2644bf01
# 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'
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment