mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2024-12-27 07:56:14 +01:00
5370df540c
This is a departure from our policy of using the minimum required Meson version, but I think it might be worth a try to see if it fixes the persistent intermittent build failures on these platforms due to what looks like build dependency graph issues. For example: - https://gitlab.gnome.org/GNOME/glib/-/jobs/2579411 - https://gitlab.gnome.org/GNOME/glib/-/jobs/2578792 - https://gitlab.gnome.org/GNOME/glib/-/jobs/2579220 - https://gitlab.gnome.org/pwithnall/glib/-/jobs/2588507 I was looking at trying to diagnose some of these failures in order to potentially file bugs against Meson, but the first step is really to test against the latest version of Meson. So here we are. Crucially, our other CI jobs continue to use the minimum Meson version required by GLib, so we continue to test that GLib builds with its minimum dependencies. I do not plan to change that. Also crucially, this MR continues to use a specific Meson version, rather than asking `pip` to install the latest available. Doing that could lead to unexpected regressions in future, and that’s not what GLib’s CI is meant to be testing for. Signed-off-by: Philip Withnall <pwithnall@endlessos.org>
69 lines
1.7 KiB
Bash
Executable File
69 lines
1.7 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
set -ex
|
|
|
|
export PATH="/c/msys64/$MSYSTEM/bin:$PATH"
|
|
|
|
pacman --noconfirm -Suy
|
|
|
|
pacman --noconfirm -S --needed \
|
|
base-devel \
|
|
lcov \
|
|
"${MINGW_PACKAGE_PREFIX}"-ccache \
|
|
"${MINGW_PACKAGE_PREFIX}"-gettext \
|
|
"${MINGW_PACKAGE_PREFIX}"-libffi \
|
|
"${MINGW_PACKAGE_PREFIX}"-meson \
|
|
"${MINGW_PACKAGE_PREFIX}"-pcre2 \
|
|
"${MINGW_PACKAGE_PREFIX}"-python3 \
|
|
"${MINGW_PACKAGE_PREFIX}"-python-pip \
|
|
"${MINGW_PACKAGE_PREFIX}"-toolchain \
|
|
"${MINGW_PACKAGE_PREFIX}"-zlib \
|
|
"${MINGW_PACKAGE_PREFIX}"-libelf
|
|
|
|
mkdir -p _coverage
|
|
mkdir -p _ccache
|
|
CCACHE_BASEDIR="$(pwd)"
|
|
CCACHE_DIR="${CCACHE_BASEDIR}/_ccache"
|
|
export CCACHE_BASEDIR CCACHE_DIR
|
|
|
|
pip3 install --upgrade --user meson==1.0.0
|
|
|
|
PATH="$(cygpath "$USERPROFILE")/.local/bin:$HOME/.local/bin:$PATH"
|
|
DIR="$(pwd)"
|
|
export PATH CFLAGS
|
|
|
|
if [[ "$MSYSTEM" == "CLANG64" ]]; then
|
|
# FIXME: fix the clang build warnings
|
|
# shellcheck disable=SC2086
|
|
meson ${MESON_COMMON_OPTIONS} _build
|
|
else
|
|
# shellcheck disable=SC2086
|
|
meson ${MESON_COMMON_OPTIONS} --werror _build
|
|
fi
|
|
|
|
cd _build
|
|
ninja
|
|
|
|
if [[ "$CFLAGS" == *"-coverage"* ]]; then
|
|
lcov \
|
|
--quiet \
|
|
--config-file "${DIR}"/.lcovrc \
|
|
--directory "${DIR}/_build" \
|
|
--capture \
|
|
--initial \
|
|
--output-file "${DIR}/_coverage/${CI_JOB_NAME}-baseline.lcov"
|
|
fi
|
|
|
|
meson test -v --timeout-multiplier "${MESON_TEST_TIMEOUT_MULTIPLIER}"
|
|
meson test -v --timeout-multiplier "${MESON_TEST_TIMEOUT_MULTIPLIER}" \
|
|
--setup=unstable_tests --suite=failing --suite=flaky || true
|
|
|
|
if [[ "$CFLAGS" == *"-coverage"* ]]; then
|
|
lcov \
|
|
--quiet \
|
|
--config-file "${DIR}"/.lcovrc \
|
|
--directory "${DIR}/_build" \
|
|
--capture \
|
|
--output-file "${DIR}/_coverage/${CI_JOB_NAME}.lcov"
|
|
fi
|