mirror of https://github.com/GNOME/gimp.git
gitlab-ci: Drop x86 (aka 32-bit) cross builds for Windows
This isn't directly related with #10922 and does NOT affect 32-bit support.
After talk with @Jehan, author of 'crossroad' and main dev of crossbuilds,
we decided that the x86 crossroad builds can be dropped by these reasons:
1) 32-bit crossbuilds weren't being built. They are used since c8ec0ae7
but
after the native 32-bit builds they ended in a state that they are the only
pipeline that isn't automatically triggered in any way, a complete limbo.
2) 32-bit crossbuilds weren't being autonomous. They are not working fine
with wine32 so the win-x64-cross artifact is a 'need' and now debian-x64,
so we were spending way more time fixing than using the 32-bit cross jobs
(sometimes the 32-bit cross jobs are just broken and we even noticed).
We have other jobs not autonomous but they don't have additional bugs
like not being able to build with .mng and .wmf (32-bit cross only bugs).
---
The x64 crossbuilds will continue to be supported. They are very useful to
develop on Linux, and test MRs on Windows. I'm an assiduous user of them :)
This commit is contained in:
parent
1f2ce6fe58
commit
28c65b8a5f
|
@ -15,7 +15,6 @@
|
|||
# - GIMP_CI_MESON_GCC: trigger the Debian gcc build.
|
||||
# - GIMP_CI_RASTER_ICONS: trigger the Debian build without vector icons.
|
||||
# - GIMP_CI_CROSSROAD_WIN64: trigger the crossroad build for Win 64-bit.
|
||||
# - GIMP_CI_CROSSROAD_WIN32: trigger the crossroad build for Win 32-bit.
|
||||
# - GIMP_CI_MSYS2_WIN_AARCH64: trigger the native MSYS2 build for Win Aarch64.
|
||||
# - GIMP_CI_MSYS2_WIN64: trigger the native MSYS2 build for Win 64-bit.
|
||||
# - GIMP_CI_MSYS2_WIN32: trigger the native MSYS2 build for Win 32-bit.
|
||||
|
@ -75,7 +74,6 @@ image-debian-x64:
|
|||
- if: '$GIMP_CI_MESON_GCC != null'
|
||||
- if: '$GIMP_CI_RASTER_ICONS != null'
|
||||
- if: '$GIMP_CI_CROSSROAD_WIN64 != null'
|
||||
- if: '$GIMP_CI_CROSSROAD_WIN32 != null'
|
||||
- if: '$GIMP_CI_SOURCES != null'
|
||||
- if: '$GIMP_CI_FLATPAK != null'
|
||||
# On merge requests and commits.
|
||||
|
@ -111,8 +109,6 @@ image-debian-x64:
|
|||
ffmpeg
|
||||
g++-mingw-w64-x86-64-posix
|
||||
gcc-mingw-w64-x86-64-posix
|
||||
g++-mingw-w64-i686
|
||||
gcc-mingw-w64-i686
|
||||
gettext
|
||||
ghostscript
|
||||
gi-docgen
|
||||
|
@ -227,7 +223,6 @@ deps-debian-x64:
|
|||
- if: '$GIMP_CI_MESON_CLANG != null'
|
||||
- if: '$GIMP_CI_RASTER_ICONS != null'
|
||||
- if: '$GIMP_CI_CROSSROAD_WIN64 != null'
|
||||
- if: '$GIMP_CI_CROSSROAD_WIN32 != null'
|
||||
- if: '$GIMP_CI_SOURCES != null'
|
||||
- if: '$GIMP_CI_FLATPAK != null'
|
||||
# On merge requests and commits.
|
||||
|
@ -270,7 +265,6 @@ gimp-debian-x64:
|
|||
# Custom builds though web GUI, API or schedules.
|
||||
- if: '$GIMP_CI_MESON_CLANG != null'
|
||||
- if: '$GIMP_CI_CROSSROAD_WIN64 != null'
|
||||
- if: '$GIMP_CI_CROSSROAD_WIN32 != null'
|
||||
- if: '$GIMP_CI_SOURCES != null'
|
||||
- if: '$GIMP_CI_FLATPAK != null'
|
||||
# On merge requests and commits.
|
||||
|
@ -436,7 +430,6 @@ deps-win-x64-cross:
|
|||
extends: .win-cross
|
||||
rules:
|
||||
- !reference [.win-x64-cross, rules]
|
||||
- if: '$GIMP_CI_CROSSROAD_WIN32 != null'
|
||||
needs: ["image-debian-x64"]
|
||||
stage: dependencies
|
||||
image: $CI_REGISTRY_IMAGE:build-debian-latest
|
||||
|
@ -455,7 +448,6 @@ gimp-win-x64-cross:
|
|||
extends: .win-cross
|
||||
rules:
|
||||
- !reference [.win-x64-cross, rules]
|
||||
- if: '$GIMP_CI_CROSSROAD_WIN32 != null'
|
||||
needs: ["deps-win-x64-cross", "gimp-debian-x64"]
|
||||
stage: gimp
|
||||
image: $CI_REGISTRY_IMAGE:build-debian-latest
|
||||
|
@ -497,76 +489,6 @@ packaging-win-x64-nightly:
|
|||
- done-dll.list
|
||||
expire_in: 2 days
|
||||
|
||||
## WINDOWS 32-bit CI (cross-build crossroad) ##
|
||||
|
||||
.win-x86-cross:
|
||||
rules:
|
||||
# Custom builds only (web GUI, API or schedules).
|
||||
- if: '$GIMP_CI_CROSSROAD_WIN32 != null'
|
||||
|
||||
deps-win-x86-cross:
|
||||
extends: .win-cross
|
||||
rules:
|
||||
- !reference [.win-x86-cross, rules]
|
||||
needs: ["image-debian-x64"]
|
||||
stage: dependencies
|
||||
image: $CI_REGISTRY_IMAGE:build-debian-latest
|
||||
before_script:
|
||||
- bash -x build/windows/gitlab-ci/1_build-deps-crossroad.sh
|
||||
script:
|
||||
- crossroad w32 gimp --run="build/windows/gitlab-ci/1_build-deps-crossroad.sh"
|
||||
artifacts:
|
||||
paths:
|
||||
- .local/
|
||||
- _deps/_babl/_build-x86-cross/
|
||||
- _deps/_gegl/_build-x86-cross/
|
||||
expire_in: 2 hours
|
||||
|
||||
gimp-win-x86-cross:
|
||||
extends: .win-cross
|
||||
rules:
|
||||
- !reference [.win-x86-cross, rules]
|
||||
needs: ["deps-win-x86-cross", "gimp-win-x64-cross", "gimp-debian-x64"]
|
||||
stage: gimp
|
||||
image: $CI_REGISTRY_IMAGE:build-debian-latest
|
||||
cache: []
|
||||
before_script:
|
||||
- bash -x build/windows/gitlab-ci/2_build-gimp-crossroad.sh
|
||||
script:
|
||||
- crossroad w32 gimp --run="build/windows/gitlab-ci/2_build-gimp-crossroad.sh"
|
||||
artifacts:
|
||||
paths:
|
||||
- _install-x86-cross/
|
||||
- _build-x86-cross/
|
||||
expire_in: 1 day
|
||||
|
||||
packaging-win-x86-nightly:
|
||||
extends: .win-cross
|
||||
rules:
|
||||
- !reference [.win-x86-cross, rules]
|
||||
needs: ["gimp-win-x86-cross"]
|
||||
stage: packaging
|
||||
variables:
|
||||
CROSSROAD_PLATFORM: "w32"
|
||||
cache: []
|
||||
before_script:
|
||||
- apt-get update
|
||||
- apt-get install -y --no-install-recommends
|
||||
binutils
|
||||
binutils-mingw-w64-i686
|
||||
file
|
||||
libglib2.0-bin
|
||||
python3
|
||||
script:
|
||||
- bash -x build/windows/gitlab-ci/3_package-gimp-uni_base.sh
|
||||
- cd gimp-x86
|
||||
- bash -x ../build/windows/gitlab-ci/3_package-gimp-uni_sym.sh
|
||||
artifacts:
|
||||
paths:
|
||||
- gimp-x86/
|
||||
- done-dll.list
|
||||
expire_in: 2 days
|
||||
|
||||
## WINDOWS Aarch64 CI (native MSYS2) ##
|
||||
|
||||
.win:
|
||||
|
|
|
@ -14,11 +14,7 @@ exit 0
|
|||
|
||||
# CROSSROAD ENV
|
||||
else
|
||||
if [[ "x$CROSSROAD_PLATFORM" = "xw64" ]]; then
|
||||
export ARTIFACTS_SUFFIX="-x64"
|
||||
else # [[ "x$CROSSROAD_PLATFORM" = "xw32" ]];
|
||||
export ARTIFACTS_SUFFIX="-x86"
|
||||
fi
|
||||
|
||||
## Install the required (pre-built) packages for babl, GEGL and GIMP
|
||||
crossroad source msys2
|
||||
|
@ -49,9 +45,8 @@ ninja install
|
|||
cd ../../
|
||||
|
||||
## "Build" part of deps
|
||||
if [ "x$CROSSROAD_PLATFORM" = "xw64" ]; then
|
||||
## Generator of the gio 'giomodule.cache' to fix error about
|
||||
## libgiognutls.dll that prevents generating loaders.cache
|
||||
### Generator of the gio 'giomodule.cache' to fix error about
|
||||
### libgiognutls.dll that prevents generating loaders.cache
|
||||
gio=''
|
||||
gio+="libgiognomeproxy.dll: gio-proxy-resolver\n"
|
||||
gio+="libgiognutls.dll: gio-tls-backend\n"
|
||||
|
@ -59,15 +54,14 @@ if [ "x$CROSSROAD_PLATFORM" = "xw64" ]; then
|
|||
gio+="libgioopenssl.dll: gio-tls-backend\n"
|
||||
printf "%b" "$gio" > ${CROSSROAD_PREFIX}/lib/gio/modules/giomodule.cache
|
||||
|
||||
## NOT WORKING: Fallback generator of the pixbuf 'loaders.cache' for GUI image support
|
||||
### NOT WORKING: Fallback generator of the pixbuf 'loaders.cache' for GUI image support
|
||||
GDK_PATH=$(echo ${CROSSROAD_PREFIX}/lib/gdk-pixbuf-*/*/)
|
||||
wine ${CROSSROAD_PREFIX}/bin/gdk-pixbuf-query-loaders.exe ${GDK_PATH}loaders/*.dll > ${GDK_PATH}loaders.cache
|
||||
sed -i "s&$CROSSROAD_PREFIX/&&" ${CROSSROAD_PREFIX}/${GDK_PATH}/loaders.cache
|
||||
sed -i '/.dll\"/s*/*\\\\*g' ${CROSSROAD_PREFIX}/${GDK_PATH}/loaders.cache
|
||||
|
||||
## Generator of the glib 'gschemas.compiled'
|
||||
### Generator of the glib 'gschemas.compiled'
|
||||
GLIB_PATH=$(echo ${CROSSROAD_PREFIX}/share/glib-*/schemas/)
|
||||
wine ${CROSSROAD_PREFIX}/bin/glib-compile-schemas.exe --targetdir=${GLIB_PATH} ${GLIB_PATH}
|
||||
fi
|
||||
|
||||
fi # END OF CROSSROAD ENV
|
||||
|
|
|
@ -22,13 +22,7 @@ git submodule update --init
|
|||
|
||||
# CROSSROAD ENV
|
||||
else
|
||||
if [[ "x$CROSSROAD_PLATFORM" = "xw64" ]]; then
|
||||
export ARTIFACTS_SUFFIX="-x64"
|
||||
export MESON_OPTIONS=""
|
||||
else # [[ "x$CROSSROAD_PLATFORM" = "xw32" ]];
|
||||
export ARTIFACTS_SUFFIX="-x86"
|
||||
export MESON_OPTIONS="-Dwmf=disabled -Dmng=disabled"
|
||||
fi
|
||||
|
||||
## The required packages for GIMP are taken from the previous job
|
||||
|
||||
|
@ -36,8 +30,7 @@ fi
|
|||
mkdir _build${ARTIFACTS_SUFFIX}-cross && cd _build${ARTIFACTS_SUFFIX}-cross
|
||||
crossroad meson setup .. -Dgi-docgen=disabled \
|
||||
-Djavascript=disabled -Dlua=disabled \
|
||||
-Dpython=disabled -Dvala=disabled \
|
||||
$MESON_OPTIONS
|
||||
-Dpython=disabled -Dvala=disabled
|
||||
ninja
|
||||
ninja install
|
||||
cd ..
|
||||
|
@ -64,20 +57,4 @@ echo "Please run the gimp.cmd file to know the actual plug-in support." > ${CROS
|
|||
## Copy built GIMP, babl and GEGL and pre-built packages to GIMP_PREFIX
|
||||
cp -fr $CROSSROAD_PREFIX/ _install${ARTIFACTS_SUFFIX}-cross/
|
||||
|
||||
if [[ "x$CROSSROAD_PLATFORM" = "xw32" ]]; then
|
||||
# We fail to install wine32 in x86 dep job and Gitlab "needs" field
|
||||
# requires jobs to be from a prior stage, so we take from the x64 dep job
|
||||
export CROSSROAD_PREFIX=".local/share/crossroad/roads/w64/gimp"
|
||||
|
||||
cp ${CROSSROAD_PREFIX}/lib/gio/modules/giomodule.cache _install${ARTIFACTS_SUFFIX}/lib/gio/modules
|
||||
|
||||
GDK_PATH=$(echo ${CROSSROAD_PREFIX}/lib/gdk-pixbuf-*/*/)
|
||||
GDK_PATH=$(sed "s|${CROSSROAD_PREFIX}/||g" <<< $GDK_PATH)
|
||||
cp ${CROSSROAD_PREFIX}/${GDK_PATH}loaders.cache _install${ARTIFACTS_SUFFIX}/${GDK_PATH}
|
||||
|
||||
GLIB_PATH=$(echo ${CROSSROAD_PREFIX}/share/glib-*/schemas/)
|
||||
GLIB_PATH=$(sed "s|${CROSSROAD_PREFIX}/||g" <<< $GLIB_PATH)
|
||||
cp ${CROSSROAD_PREFIX}/${GLIB_PATH}gschemas.compiled _install${ARTIFACTS_SUFFIX}/${GLIB_PATH}
|
||||
fi
|
||||
|
||||
fi # END OF CROSSROAD ENV
|
||||
|
|
|
@ -12,7 +12,7 @@ elif [[ "$CROSSROAD_PLATFORM" == "w64" ]] || [[ "$MSYSTEM_CARCH" == "x86_64" ]];
|
|||
export ARTIFACTS_SUFFIX="-x64"
|
||||
export MSYS_PREFIX="c:/msys64${MSYSTEM_PREFIX}"
|
||||
export GIMP_DISTRIB=`realpath ./gimp-x64`
|
||||
else # [[ "$CROSSROAD_PLATFORM" == "w32" ]] || [[ "$MSYSTEM_CARCH" == "i686" ]];
|
||||
else # [[ "$MSYSTEM_CARCH" == "i686" ]];
|
||||
export ARTIFACTS_SUFFIX="-x86"
|
||||
export MSYS_PREFIX="c:/msys64${MSYSTEM_PREFIX}"
|
||||
export GIMP_DISTRIB=`realpath ./gimp-x86`
|
||||
|
|
Loading…
Reference in New Issue