gimp/.gitlab-ci.yml

220 lines
5.0 KiB
YAML

image: salamandar/archlinux-gimp: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
gtk3
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
- ../autogen.sh
--prefix="${INSTALL_PREFIX}"
--enable-debug
--with-python=force
--with-javascript=force
--with-lua=force
- 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/
.gimp-meson:
extends: .gimp-base
script:
- meson _build
--prefix="${INSTALL_PREFIX}"
-Dpython=always
-Djavascript=always
-Dlua=always
- ninja -C _build
# - ninja test
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-git-meson:
extends: .gimp-meson
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