The Meson Build System http://mesonbuild.com/
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

73 lines
1.9 KiB

#!/bin/bash
set -e
msg() { echo -e "\x1b[1;32mINFO: \x1b[37m$*\x1b[0m"; }
if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then
# TODO enable coverage
#curl -s https://codecov.io/bash > upload.sh
#chmod +x upload.sh
# We need to copy the current checkout inside the Docker container,
# because it has the MR id to be tested checked out.
msg "Generating runner:"
cat <<EOF | tee run.sh
#!/bin/bash
set -e
export CC=$CC
export CXX=$CXX
export OBJC=$CC
export OBJCXX=$CXX
export PATH=/root/tools:$PATH
if test "$MESON_RSP_THRESHOLD" != ""
then
export MESON_RSP_THRESHOLD=$MESON_RSP_THRESHOLD
fi
source /ci/env_vars.sh
cd /root
update-alternatives --set x86_64-w64-mingw32-gcc /usr/bin/x86_64-w64-mingw32-gcc-posix
update-alternatives --set x86_64-w64-mingw32-g++ /usr/bin/x86_64-w64-mingw32-g++-posix
update-alternatives --set i686-w64-mingw32-gcc /usr/bin/i686-w64-mingw32-gcc-posix
update-alternatives --set i686-w64-mingw32-g++ /usr/bin/i686-w64-mingw32-g++-posix
./run_tests.py $RUN_TESTS_ARGS -- $MESON_ARGS
#./upload.sh
EOF
chmod +x run.sh
msg "Generating Dockerfile:"
cat <<EOF | tee Dockerfile
FROM mesonbuild/eoan
ADD . /root
EOF
msg "Building the docker image..."
docker build -t test_img .
msg "Start running tests"
#ci_env=`bash <(curl -s https://codecov.io/env)`
docker run --security-opt seccomp:unconfined test_img /root/run.sh
elif [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
# Ensure that llvm is added after $PATH, otherwise the clang from that llvm install will be used instead of the native apple clang.
export SDKROOT=$(xcodebuild -version -sdk macosx Path)
export CPPFLAGS=-I/usr/local/include LDFLAGS=-L/usr/local/lib
export OBJC=$CC
export OBJCXX=$CXX
export PATH=$HOME/tools:/usr/local/opt/qt/bin:$PATH:$(brew --prefix llvm)/bin
if test "$MESON_RSP_THRESHOLD" != ""
then
export MESON_RSP_THRESHOLD=$MESON_RSP_THRESHOLD
fi
./run_tests.py $RUN_TESTS_ARGS --backend=ninja -- $MESON_ARGS
fi