From 3755f9c9f14a78e6fc2270901a05ab77e3d00a60 Mon Sep 17 00:00:00 2001 From: Michael Schumacher Date: Fri, 6 Sep 2019 20:01:16 +0200 Subject: [PATCH] build: add GitLab CI .gitlab-ci.yml file --- .gitlab-ci.yml | 194 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 194 insertions(+) create mode 100644 .gitlab-ci.yml diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000000..57e495d28c --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,194 @@ +image: archlinux/base:latest + +stages: + - babl + - gegl + - gimp + +variables: + INSTALL_DIR: "_install" + INSTALL_PREFIX: "${CI_PROJECT_DIR}/${INSTALL_DIR}" + PACMAN_CACHE: "${CI_PROJECT_DIR}/_pacman_cache" + +cache: + paths: + - _pacman_cache + +.babl-base: + stage: babl + artifacts: + paths: + - "${INSTALL_DIR}" + variables: + GIT_DEPTH: "5" + before_script: + - export PKG_CONFIG_PATH="${INSTALL_PREFIX}/lib/pkgconfig" + - export LD_LIBRARY_PATH="${INSTALL_PREFIX}/lib:${LD_LIBRARY_PATH}" + - export XDG_DATA_DIRS="${INSTALL_PREFIX}/share:/usr/local/share:/usr/share" + - pacman -Syu --noconfirm --needed --cachedir "${PACMAN_CACHE}" + git + base-devel + gobject-introspection + meson + lcms2 + - git clone --depth="${GIT_DEPTH}" https://gitlab.gnome.org/GNOME/babl.git _babl + +babl-git: + extends: .babl-base + script: + - cd _babl + - meson -Dprefix="${INSTALL_PREFIX}" _build + - ninja -C _build + - ninja -C _build install + +# babl-min: +# extends: .babl-base +# script: +# - BABL_MIN_VERSION="$(grep babl meson.build | grep version +# | grep -o '[0-9]*\.[0-9]*\.[0-9]*' | sed 's/\./_/g')" +# - cd _babl +# - git fetch --no-tags origin "refs/tags/BABL_${BABL_MIN_VERSION}:refs/tags/MIN_VERSION" +# - git checkout MIN_VERSION +# - meson -Dprefix="${INSTALL_PREFIX}" _build +# - ninja -C _build +# - ninja -C _build install + +.gegl-base: + stage: gegl + artifacts: + paths: + - "${INSTALL_DIR}" + variables: + GIT_DEPTH: "5" + before_script: + - export PKG_CONFIG_PATH="${INSTALL_PREFIX}/lib/pkgconfig" + - export LD_LIBRARY_PATH="${INSTALL_PREFIX}/lib:${LD_LIBRARY_PATH}" + - export XDG_DATA_DIRS="${INSTALL_PREFIX}/share:/usr/local/share:/usr/share" + - pacman -Syu --noconfirm --needed --cachedir "${PACMAN_CACHE}" + git + base-devel + meson + lcms2 + base-devel + ffmpeg + gobject-introspection + graphviz + jasper + json-glib + lcms2 + libgexiv2 + libraw + librsvg + libspiro + libtiff + luajit + openexr + python + sdl2 + suitesparse + - git clone --depth=${GIT_DEPTH} https://gitlab.gnome.org/GNOME/gegl.git _gegl + +gegl-git: + extends: .gegl-base + script: + - cd _gegl + - meson --prefix="${INSTALL_PREFIX}" _build + - ninja -C _build + - ninja -C _build install + +# gegl-min: +# extends: .gegl-base +# script: +# - GEGL_MIN_VERSION="$(grep gegl meson.build | grep version +# | grep -o '[0-9]*\.[0-9]*\.[0-9]*' | sed 's/\./_/g')" +# - cd _gegl +# - git fetch --no-tags origin "refs/tags/GEGL_${GEGL_MIN_VERSION}:refs/tags/MIN_VERSION" +# - git checkout MIN_VERSION +# - meson -Dprefix="${INSTALL_PREFIX}" _build +# - ninja -C _build +# - ninja -C _build install + +.gimp-base: + stage: gimp + artifacts: + paths: + - "${INSTALL_DIR}" + variables: + GIT_DEPTH: "5" + before_script: + - export PKG_CONFIG_PATH="${INSTALL_PREFIX}/lib/pkgconfig:${INSTALL_PREFIX}/share/pkgconfig" + - export LD_LIBRARY_PATH="${INSTALL_PREFIX}/lib:${LD_LIBRARY_PATH}" + - export XDG_DATA_DIRS="${INSTALL_PREFIX}/share:/usr/local/share:/usr/share" + - pacman -Syu --noconfirm --needed --cachedir "${PACMAN_CACHE}" + git + base-devel + appstream-glib + at-spi2-core + at-spi2-atk + dbus-glib + desktop-file-utils + ffmpeg + glib-networking + gobject-introspection + gtk2 + hicolor-icon-theme + jasper + lcms2 + libexif + libgudev + libheif + libmng + libmypaint + librsvg + libwebp + libwmf + libxmu + libxpm + mypaint-brushes1 + openexr + poppler-data + pygtk + alsa-lib + ghostscript + poppler-glib + gtk-doc + intltool + iso-codes + xorg-server-xvfb + +.gimp-autotools: + extends: .gimp-base + script: + - mkdir _build + - cd _build + - LIBMYPAINT_CFLAGS="-I/usr/include/libmypaint-1.3 -I/usr/include/json-c" + LIBMYPAINT_LIBS="-lmypaint-1.3 -ljson-c" + ../autogen.sh + --prefix="${INSTALL_PREFIX}" + --enable-debug + - make -j "$(nproc)" + # - make check + artifacts: + name: "app-tests-logs-${CI_JOB_NAME}-${CI_COMMIT_REF_NAME}" + when: on_failure + expire_in: 1 week + paths: + - _build/app/tests/ + +build-git-autotools: + extends: .gimp-autotools + dependencies: + - babl-git + - gegl-git + +# build-min-autotools: +# extends: .gimp-autotools +# dependencies: +# - babl-git +# - gegl-git + +# build-min-meson: +# extends: .gimp-meson +# dependencies: +# - babl-min +# - gegl-min