Change LGPL-2.1+ to LGPL-2.1-or-later
[platform/upstream/glib.git] / .gitlab-ci / test-msys2.sh
1 #!/bin/bash
2
3 set -ex
4
5 export PATH="/c/msys64/$MSYSTEM/bin:$PATH"
6
7 pacman --noconfirm -Suy
8
9 pacman --noconfirm -S --needed \
10     base-devel \
11     lcov \
12     "${MINGW_PACKAGE_PREFIX}"-ccache \
13     "${MINGW_PACKAGE_PREFIX}"-gettext \
14     "${MINGW_PACKAGE_PREFIX}"-libffi \
15     "${MINGW_PACKAGE_PREFIX}"-meson \
16     "${MINGW_PACKAGE_PREFIX}"-pcre2 \
17     "${MINGW_PACKAGE_PREFIX}"-python3 \
18     "${MINGW_PACKAGE_PREFIX}"-python-pip \
19     "${MINGW_PACKAGE_PREFIX}"-toolchain \
20     "${MINGW_PACKAGE_PREFIX}"-zlib \
21     "${MINGW_PACKAGE_PREFIX}"-libelf
22
23 mkdir -p _coverage
24 mkdir -p _ccache
25 CCACHE_BASEDIR="$(pwd)"
26 CCACHE_DIR="${CCACHE_BASEDIR}/_ccache"
27 export CCACHE_BASEDIR CCACHE_DIR
28
29 pip3 install --upgrade --user meson==1.0.0
30
31 PATH="$(cygpath "$USERPROFILE")/.local/bin:$HOME/.local/bin:$PATH"
32 DIR="$(pwd)"
33 export PATH CFLAGS
34
35 if [[ "$MSYSTEM" == "CLANG64" ]]; then
36     # FIXME: fix the clang build warnings
37     # shellcheck disable=SC2086
38     meson setup ${MESON_COMMON_OPTIONS} _build
39 else
40     # shellcheck disable=SC2086
41     meson setup ${MESON_COMMON_OPTIONS} --werror _build
42 fi
43
44 meson compile -C _build
45
46 if [[ "$CFLAGS" == *"-coverage"* ]]; then
47     lcov \
48         --quiet \
49         --config-file "${DIR}"/.lcovrc \
50         --directory "${DIR}/_build" \
51         --capture \
52         --initial \
53         --output-file "${DIR}/_coverage/${CI_JOB_NAME}-baseline.lcov"
54 fi
55
56 meson test -C _build -v --timeout-multiplier "${MESON_TEST_TIMEOUT_MULTIPLIER}"
57 meson test -C _build -v --timeout-multiplier "${MESON_TEST_TIMEOUT_MULTIPLIER}" \
58     --setup=unstable_tests --suite=failing --suite=flaky || true
59
60 if [[ "$CFLAGS" == *"-coverage"* ]]; then
61     lcov \
62         --quiet \
63         --config-file "${DIR}"/.lcovrc \
64         --directory "${DIR}/_build" \
65         --capture \
66         --output-file "${DIR}/_coverage/${CI_JOB_NAME}.lcov"
67 fi