From 2f206d1ef8facd3f18497f7e38932bafa5ff3c5b Mon Sep 17 00:00:00 2001 From: Clownacy Date: Thu, 23 Jan 2020 13:43:38 +0000 Subject: [PATCH] Add a Travis file Not really sure how to test this beyond just spamming commits to the repo until it works, so bear with me --- .travis.yml | 83 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 83 insertions(+) create mode 100644 .travis.yml diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 00000000..2552033e --- /dev/null +++ b/.travis.yml @@ -0,0 +1,83 @@ +# Optimize git clone +git: + depth: 5 + +# No need for sudo +sudo: false + +# Bionic is the most recent version of Ubuntu I can get to work properly +dist: bionic + +# Enable C++ language support +language: cpp + +# Cache compiled object files with ccache +cache: ccache + +compiler: + - gcc +# - clang + +os: + - linux + +addons: + apt: + sources: + - sourceline: 'deb http://apt.llvm.org/bionic/ llvm-toolchain-bionic-9 main' + key_url: 'https://apt.llvm.org/llvm-snapshot.gpg.key' + - sourceline: 'ppa:ubuntu-toolchain-r/test' + packages: + - make + - g++-mingw-w64-x86-64 + +#env: +# - BUILD_TYPE=Debug +# - BUILD_TYPE=RelWithDebInfo + +before_install: + # Set URL for Discord send script +# - DISCORD_SEND_SCRIPT_URL=https://raw.githubusercontent.com/DiscordHooks/travis-ci-discord-webhook/master/send.sh +# - DISCORD_SEND_SCRIPT_FILENAME=discordSendNotification.sh + + # Display available disk space + - df -h + + # Display Travis OS name + - echo $TRAVIS_OS_NAME + + # Display build type + - echo $BUILD_TYPE + + # Point CC and CXX to MinGW-w64 + - export CXX="x86_64-w64-mingw32-g++" CC="x86_64-w64-mingw32-gcc" WINDRES="x86_64-w64-mingw32-windres" + + # /usr/bin/gcc points to an older compiler on both Linux and macOS. +# - if [ "$CXX" = "g++" ]; then export CXX="g++-9" CC="gcc-9"; fi + + # Display compilers/cmake name/version + - echo ${CC} + - echo ${CXX} + - ${CC} --version + - ${CXX} --version +# - cmake --version + +install: + # Get number of cores (or 2 by default if somehow none of these are available somehow) + - JOBS=$(nproc 2>/dev/null || sysctl -n hw.ncpu 2>/dev/null || getconf _NPROCESSORS_ONLN 2>/dev/null || echo 2) + - echo $JOBS + +script: + - make -j ${JOBS} FIX_BUGS=1 RELEASE=1 WARNINGS=1 WARNINGS_ALL=1 WINDOWS=1 + +after_success: + # Send success notification to Discord through DISCORD_WEBHOOK_URL +# - travis_retry wget ${DISCORD_SEND_SCRIPT_URL} -O ${DISCORD_SEND_SCRIPT_FILENAME} +# - chmod +x ${DISCORD_SEND_SCRIPT_FILENAME} +# - ./${DISCORD_SEND_SCRIPT_FILENAME} success $DISCORD_WEBHOOK_URL + +after_failure: + # Send failure notification to Discord through DISCORD_WEBHOOK_URL +# - travis_retry wget ${DISCORD_SEND_SCRIPT_URL} -O ${DISCORD_SEND_SCRIPT_FILENAME} +# - chmod +x ${DISCORD_SEND_SCRIPT_FILENAME} +# - ./${DISCORD_SEND_SCRIPT_FILENAME} failure $DISCORD_WEBHOOK_URL