[gimp/wip/schumaml/tune-prepare-stage: 39/55] build: move CI crossroad package install to image prepare
- From: Michael Schumacher <schumaml src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gimp/wip/schumaml/tune-prepare-stage: 39/55] build: move CI crossroad package install to image prepare
- Date: Tue, 2 Jun 2020 20:36:31 +0000 (UTC)
commit 2cf35a62a8003ba426b0bd610514ca992815c320
Author: Michael Schumacher <schumaml gmx de>
Date: Sat May 30 22:22:06 2020 +0200
build: move CI crossroad package install to image prepare
Also add base .jobs for win32 and win64 image and deps to avoid code duplication.
.gitlab-ci.yml | 84 +++++++++++++++++++++++++++++++++++++---------------------
1 file changed, 54 insertions(+), 30 deletions(-)
---
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 573de7312f..d875417305 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -36,7 +36,7 @@ build-image:
- /kaniko/executor --context $CI_PROJECT_DIR --dockerfile $CI_PROJECT_DIR/Dockerfile --destination
$BUILD_IMAGE --cache=true --cache-ttl=120h
-build-image-win64:
+.build-image-win-base
stage: prepare
variables:
GIT_STRATEGY: none
@@ -55,27 +55,32 @@ build-image-win64:
- echo "RUN git clone --depth=${GIT_DEPTH} git://git.tuxfamily.org/gitroot/crossroad/crossroad.git" >>
Dockerfile
- echo "RUN cd crossroad && ./setup.py install --prefix=/usr/local" >> Dockerfile
+ - echo 'RUN echo "crossroad source msys2" > crossroad_deps_install.sh'
+ - echo 'RUN echo "crossroad install lcms2" >> crossroad_deps_install.sh'
+ - echo 'RUN echo "crossroad install cairo json-glib" >> crossroad_deps_install.sh'
+ - echo 'RUN echo "LIBMNG=" >> crossroad_deps_install.sh'
+ - echo 'RUN echo "if [ \"x$CROSSROAD_PLATFORM\" = \"xw64\" ]; then" >> crossroad_deps_install.sh'
+ - echo 'RUN echo " LIBMNG="libmng" >> crossroad_deps_install.sh'
+ - echo 'RUN echo "fi" >> crossroad_deps_install.sh'
+ - echo 'RUN echo "crossroad install appstream-glib atk drmingw gexiv2 ghostscript glib2 iso-codes json-c
libheif libmypaint mypaint-brushes libwebp libwmf openexr ilmbase poppler poppler-data xpm-nox" >>
crossroad_deps_install.sh'
+
- /kaniko/executor --context $CI_PROJECT_DIR --dockerfile $CI_PROJECT_DIR/Dockerfile --destination
$BUILD_IMAGE_WIN64 --cache=true --cache-ttl=120h
+build-image-win64:
+ extends: .build-image-win-base
+ script:
+ - echo "RUN apt-get install -y --no-install-recommends \\" >> Dockerfile
+ - echo "g++-mingw-w64-x86-64 gcc-mingw-w64-x86-64" >> Dockerfile
+
+ - crossroad w64 gimp --run="crossroad_deps_install.sh"
+
+ - /kaniko/executor --context $CI_PROJECT_DIR --dockerfile $CI_PROJECT_DIR/Dockerfile --destination
$BUILD_IMAGE_WIN64 --cache=true --cache-ttl=120h
build-image-win32:
- stage: prepare
- variables:
- GIT_STRATEGY: none
- cache: {}
- image:
- name: gcr.io/kaniko-project/executor:debug
- entrypoint: [""]
+ extends: .build-image-win-base
script:
- - mkdir -p /kaniko/.docker
- - echo
"{\"auths\":{\"$CI_REGISTRY\":{\"username\":\"$CI_REGISTRY_USER\",\"password\":\"$CI_REGISTRY_PASSWORD\"}}}"
/kaniko/.docker/config.json
- - echo "FROM debian:testing" > Dockerfile
- - echo "RUN apt-get update" >> Dockerfile
- echo "RUN apt-get install -y --no-install-recommends \\" >> Dockerfile
- - echo "build-essential cpio g++-mingw-w64-i686 gcc-mingw-w64-i686 git intltool libgdk-pixbuf2.0-dev
libglib2.0-bin meson pkg-config python3 python3-distutils python3-docutils python3-pip rpm xsltproc" >>
Dockerfile
- - echo "RUN pip3 install zstandard" >> Dockerfile
- - echo "RUN git clone --depth=${GIT_DEPTH} git://git.tuxfamily.org/gitroot/crossroad/crossroad.git" >>
Dockerfile
- - echo "RUN cd crossroad && ./setup.py install --prefix=/usr/local" >> Dockerfile
+ - echo "g++-mingw-w64-i686 gcc-mingw-w64-i686" >> Dockerfile
- /kaniko/executor --context $CI_PROJECT_DIR --dockerfile $CI_PROJECT_DIR/Dockerfile --destination
$BUILD_IMAGE_WIN32 --cache=true --cache-ttl=120h
@@ -181,11 +186,10 @@ gimp-debian/testing-clang:
- ninja -C _build
- ninja -C _build test
-## WINDOWS 64-bit CI ##
+## WINDOWS DEPS ##
-deps-win64:
+.deps-win-base
stage: dependencies
- image: $BUILD_IMAGE_WIN64
variables:
XDG_CACHE_HOME: "$CI_PROJECT_DIR/.cache/"
XDG_DATA_HOME: "$CI_PROJECT_DIR/.local/share/"
@@ -194,7 +198,34 @@ deps-win64:
- .cache/crossroad/
- apt-cache
script:
- - crossroad w64 gimp --run="build/windows/crossbuild-gitlab-ci/build-deps.sh"
+ - echo "mkdir _deps && cd _deps" > crossroad_deps_build.sh
+ - echo "git clone --depth 1 https://gitlab.gnome.org/GNOME/babl.git" >> crossroad_deps_build.sh
+ - echo "cd babl" >> crossroad_deps_build.sh
+ - echo "crossroad meson _build/ -Denable-gir=false -Dlibdir=lib" >> crossroad_deps_build.sh
+ - echo "ninja -C _build install || exit 1" >> crossroad_deps_build.sh
+ - echo "cd .." >> crossroad_deps_build.sh
+
+ - echo "crossroad install cairo json-glib" >> crossroad_deps_build.sh
+ - echo "git clone --depth 1 https://gitlab.gnome.org/GNOME/gegl.git" >> crossroad_deps_build.sh
+ - echo "cd gegl" >> crossroad_deps_build.sh
+ - echo "crossroad meson _build/ -Dintrospection=false -Dsdl2=disabled -Dlibdir=lib" >>
crossroad_deps_build.sh
+ - echo "ninja -C _build install || exit 1" >> crossroad_deps_build.sh
+ - echo "cd .." >> crossroad_deps_build.sh
+ artifacts:
+ name: "${CI_JOB_NAME}-${CI_COMMIT_REF_NAME}"
+ when: always
+ expire_in: 2 hours
+ paths:
+ - .local/
+ - _deps/
+
+## WINDOWS 64-bit CI ##
+
+deps-win64:
+ extends: .deps-win-base
+ image: $BUILD_IMAGE_WIN64
+ script:
+ - crossroad w64 gimp --run="crossroad_deps_build.sh"
artifacts:
name: "${CI_JOB_NAME}-${CI_COMMIT_REF_NAME}"
when: always
@@ -238,17 +269,10 @@ gimp-win64:
## WINDOWS 32-bit CI ##
deps-win32:
- stage: dependencies
- image: $BUILD_IMAGE_WIN32
- variables:
- XDG_CACHE_HOME: "$CI_PROJECT_DIR/.cache/"
- XDG_DATA_HOME: "$CI_PROJECT_DIR/.local/share/"
- cache:
- paths:
- - .cache/crossroad/
- - apt-cache
+ extends: .deps-win-base
+ image: $BUILD_IMAGE_WIN64
script:
- - crossroad w32 gimp --run="build/windows/crossbuild-gitlab-ci/build-deps.sh"
+ - crossroad w32 gimp --run="crossroad_deps_build.sh"
artifacts:
name: "${CI_JOB_NAME}-${CI_COMMIT_REF_NAME}"
when: always
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]