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