[gimp/wip/schumaml/crossraods-optimization: 295/311] gitlab-ci: move image setup to an actual Dockerfile




commit 9ed94fef02126b391eeb27dcaade2ac0b83673d5
Author: Michael Schumacher <schumaml gmx de>
Date:   Sun Dec 6 01:09:40 2020 +0100

    gitlab-ci: move image setup to an actual Dockerfile

 .gitlab-ci.yml                   | 29 ++---------------------------
 build/docker/CI/Dockerfile.win64 | 40 ++++++++++++++++++++++++++++++++++++++++
 2 files changed, 42 insertions(+), 27 deletions(-)
---
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 6348d8bcd3..bc0d3c89f7 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -45,33 +45,8 @@ build-image-win64:
   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
-    # always run apt-get update and apt-get install in the same cachable layer
-    - echo "RUN apt-get update && apt-get install -y --no-install-recommends \\" >> Dockerfile
-    - echo "build-essential cpio g++-mingw-w64-x86-64 gcc-mingw-w64-x86-64 git intltool libgdk-pixbuf2.0-dev 
libglib2.0-bin meson pkg-config python3 python3-distutils python3-docutils python3-pip rpm wine wine64 
xsltproc" >> Dockerfile
-    # install crossroad
-    - 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 && cd .." >> Dockerfile
-    # install babl and GEGL dependencies with crossroad
-    - echo "RUN echo 'export XDG_DATA_HOME=/usr/local/lib && crossroad source msys2 && crossroad install 
lcms2 cairo json-glib' | XDG_DATA_HOME=/usr/local/lib crossroad w64 gimp --run='-'" >> Dockerfile
-    # install GIMP dependencies with crossroad
-    - echo "RUN echo 'export XDG_DATA_HOME=/usr/local/lib && crossroad source msys2 && crossroad install 
appstream-glib atk drmingw gexiv2 glib2 json-c ghostscript iso-codes libheif libmng libmypaint 
mypaint-brushes libwebp libwmf openexr ilmbase poppler poppler-data xpm-nox' | XDG_DATA_HOME=/usr/local/lib 
crossroad w64 gimp --run='-'" >> Dockerfile
-
-    # create gdk-pixbuf loaders.cache
-    - echo "RUN echo 'export XDG_DATA_HOME=/usr/local/lib && \\" >> Dockerfile
-    - echo "export CROSSROAD_PREFIX=${XDG_DATA_HOME}/crossroad/roads/w64/gimp && \\" >> Dockerfile
-    - echo "wine ${XDG_DATA_HOME}/crossroad/roads/w64/gimp/bin/gdk-pixbuf-query-loaders.exe \\" >> Dockerfile
-    - echo "${XDG_DATA_HOME}/crossroad/roads/w64/gimp/lib/gdk-pixbuf-2.0/2.10.0/loaders/*.dll  >     \\" >> 
Dockerfile
-    - echo "${XDG_DATA_HOME}/crossroad/roads/w64/gimp/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache' |     \\" >> 
Dockerfile
-    - echo "XDG_DATA_HOME=/usr/local/lib crossroad w64 gimp --run='-'" >> Dockerfile
-    - echo "RUN echo 'sed -i \"s&${XDG_DATA_HOME}/crossroad/roads/w64/gimp/&&\" \\ " >> Dockerfile
-    - echo "${XDG_DATA_HOME}/crossroad/roads/w64/gimp/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache' | \\" >> 
Dockerfile
-    - echo "XDG_DATA_HOME=/usr/local/lib crossroad w64 gimp --run='-'" >> Dockerfile
-    - echo 'RUN echo \'sed -i "/.dll\"/s*/*\\\\*g" 
${XDG_DATA_HOME}/crossroad/roads/w64/gimp/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache | \\ ' >> Dockerfile
-    - echo "XDG_DATA_HOME=/usr/local/lib crossroad w64 gimp --run='-'" >> Dockerfile
-
-    - /kaniko/executor --context $CI_PROJECT_DIR --dockerfile $CI_PROJECT_DIR/Dockerfile --destination 
$CI_REGISTRY_IMAGE:build-win64-latest --cache=true --cache-ttl=120h
+
+    - /kaniko/executor --context $CI_PROJECT_DIR --dockerfile 
$CI_PROJECT_DIR/build/docker/CI/Dockerfile.win64 --destination $CI_REGISTRY_IMAGE:build-win64-latest 
--cache=true --cache-ttl=120h --build-arg XDG_DATA_HOME=$XDG_DATA_HOME
 
 
 build-image-win32:
diff --git a/build/docker/CI/Dockerfile.win64 b/build/docker/CI/Dockerfile.win64
new file mode 100644
index 0000000000..5ad53339a5
--- /dev/null
+++ b/build/docker/CI/Dockerfile.win64
@@ -0,0 +1,40 @@
+FROM debian:testing
+ARG XDG_DATA_HOME
+
+# always run apt-get update and apt-get install in the same cachable layer
+RUN apt-get update && apt-get install -y --no-install-recommends \\
+    build-essential cpio g++-mingw-w64-x86-64 gcc-mingw-w64-x86-64 git intltool \\
+    libgdk-pixbuf2.0-dev libglib2.0-bin meson pkg-config python3 python3-distutils \\
+    python3-docutils python3-pip rpm wine wine64 xsltproc
+
+# install crossroad
+RUN pip3 install zstandard
+RUN git clone --depth=${GIT_DEPTH} git://git.tuxfamily.org/gitroot/crossroad/crossroad.git
+RUN cd crossroad && ./setup.py install --prefix=/usr/local && cd ..
+
+# install babl and GEGL dependencies with crossroad
+RUN echo "export XDG_DATA_HOME=$XDG_DATA_HOME && \\
+    crossroad source msys2 && crossroad install lcms2 cairo json-glib' | \\ 
+    XDG_DATA_HOME=$XDG_DATA_HOME crossroad w64 gimp --run='-'"
+
+# install GIMP dependencies with crossroad
+RUN echo 'export XDG_DATA_HOME=$XDG_DATA_HOME && crossroad source msys2 && \\
+    crossroad install appstream-glib atk drmingw gexiv2 glib2 json-c ghostscript iso-codes \\
+    libheif libmng libmypaint mypaint-brushes libwebp libwmf openexr ilmbase poppler poppler-data xpm-nox' | 
\\
+    XDG_DATA_HOME=$XDG_DATA_HOME crossroad w64 gimp --run='-'
+
+# create gdk-pixbuf loaders.cache          
+RUN echo 'export XDG_DATA_HOME=/usr/local/lib && \\
+    export CROSSROAD_PREFIX=${XDG_DATA_HOME}/crossroad/roads/w64/gimp && \\
+    wine ${XDG_DATA_HOME}/crossroad/roads/w64/gimp/bin/gdk-pixbuf-query-loaders.exe \\
+    ${XDG_DATA_HOME}/crossroad/roads/w64/gimp/lib/gdk-pixbuf-2.0/2.10.0/loaders/*.dll  >     \\
+    ${XDG_DATA_HOME}/crossroad/roads/w64/gimp/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache' |     \\
+    XDG_DATA_HOME=$XDG_DATA_HOME crossroad w64 gimp --run='-'
+   
+# loaders.cache cleanup
+RUN echo 'sed -i "s&${XDG_DATA_HOME}/crossroad/roads/w64/gimp/&&" \\ 
+    ${XDG_DATA_HOME}/crossroad/roads/w64/gimp/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache' | \\
+    XDG_DATA_HOME=$XDG_DATA_HOME crossroad w64 gimp --run='-'
+
+RUN echo 'sed -i "/.dll\"/s*/*\\\\*g" 
${XDG_DATA_HOME}/crossroad/roads/w64/gimp/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache' | \\
+    XDG_DATA_HOME=$XDG_DATA_HOME crossroad w64 gimp --run='-'
\ No newline at end of file


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]