mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2024-11-05 17:06:18 +01:00
gitlab-ci: Add 32bit MinGW jobs using MSYS2
This builds glib using meson/ninja/ccache with mingw-w64 on a Windows machine. The CI scripts expect a gitlab runner to exist with the "win32" tag which uses the default "cmd" shell by default. Before running the tests pacman is invoked to update the system (potentially including bash etc, thus the extra step) Then a login shell is started with CHERE_INVOKING to not change the cwd and finally the test script is executed. https://bugzilla.gnome.org/show_bug.cgi?id=793729
This commit is contained in:
parent
06d61434c9
commit
995f75cdd7
@ -3,6 +3,10 @@ image: ebassi/gitlab-glib:latest
|
|||||||
stages:
|
stages:
|
||||||
- build
|
- build
|
||||||
|
|
||||||
|
cache:
|
||||||
|
paths:
|
||||||
|
- _ccache/
|
||||||
|
|
||||||
build-job:
|
build-job:
|
||||||
stage: build
|
stage: build
|
||||||
script:
|
script:
|
||||||
@ -18,6 +22,17 @@ build-job:
|
|||||||
paths:
|
paths:
|
||||||
- "${CI_PROJECT_DIR}/_build/meson-logs"
|
- "${CI_PROJECT_DIR}/_build/meson-logs"
|
||||||
|
|
||||||
|
msys2-mingw32:
|
||||||
|
stage: build
|
||||||
|
tags:
|
||||||
|
- win32
|
||||||
|
variables:
|
||||||
|
MSYSTEM: "MINGW32"
|
||||||
|
CHERE_INVOKING: "yes"
|
||||||
|
script:
|
||||||
|
- C:\msys64\usr\bin\pacman --noconfirm -Syyuu --ask 20
|
||||||
|
- C:\msys64\usr\bin\bash -lc "bash -x ./.gitlab-ci/test-msys2.sh"
|
||||||
|
|
||||||
dist-job:
|
dist-job:
|
||||||
stage: build
|
stage: build
|
||||||
only:
|
only:
|
||||||
|
35
.gitlab-ci/test-msys2.sh
Executable file
35
.gitlab-ci/test-msys2.sh
Executable file
@ -0,0 +1,35 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
export PATH="/c/msys64/$MSYSTEM/bin:$PATH"
|
||||||
|
if [[ "$MSYSTEM" == "MINGW32" ]]; then
|
||||||
|
export MSYS2_ARCH="i686"
|
||||||
|
else
|
||||||
|
export MSYS2_ARCH="x86_64"
|
||||||
|
fi
|
||||||
|
|
||||||
|
pacman --noconfirm -Suy
|
||||||
|
|
||||||
|
pacman --noconfirm -S --needed \
|
||||||
|
base-devel \
|
||||||
|
mingw-w64-$MSYS2_ARCH-ccache \
|
||||||
|
mingw-w64-$MSYS2_ARCH-gettext \
|
||||||
|
mingw-w64-$MSYS2_ARCH-libffi \
|
||||||
|
mingw-w64-$MSYS2_ARCH-meson \
|
||||||
|
mingw-w64-$MSYS2_ARCH-pcre \
|
||||||
|
mingw-w64-$MSYS2_ARCH-python3 \
|
||||||
|
mingw-w64-$MSYS2_ARCH-toolchain \
|
||||||
|
mingw-w64-$MSYS2_ARCH-zlib
|
||||||
|
|
||||||
|
mkdir -p _ccache
|
||||||
|
export CCACHE_BASEDIR="$(pwd)"
|
||||||
|
export CCACHE_DIR="${CCACHE_BASEDIR}/_ccache"
|
||||||
|
|
||||||
|
# FIXME: Add --werror
|
||||||
|
meson --buildtype debug _build
|
||||||
|
cd _build
|
||||||
|
ninja
|
||||||
|
|
||||||
|
# FIXME: fix the test suite
|
||||||
|
meson test || true
|
Loading…
Reference in New Issue
Block a user