| #!/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 |