123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182 |
- # Travis-CI configuration file for SuperTux
- #
- # Configuration manual:
- # http://docs.travis-ci.com/user/build-configuration/
- #
- # Heavily borrowed from SuperTuxKart's travis.yml.
- #
- # SuperTuxKart's travis.yml file can be found here:
- # https://github.com/supertuxkart/stk-code/blob/master/.travis.yml
- # License: https://github.com/supertuxkart/stk-code/blob/master/COPYING
- #
- language: cpp
- dist: bionic
- sudo: required
- compiler:
- - gcc
- - clang
- matrix:
- fast_finish: true
- exclude:
- - compiler: gcc
- os: osx
- include:
- os:
- - linux
- - osx
- env:
- global:
- # The next declaration is the encrypted COVERITY_SCAN_TOKEN, created
- # via the "travis encrypt" command using the project repo's public key
- - secure: "eVEyzIVjDlB16EPkXmj74tyF9pgX34kpgvBUMXJJ+hduuPwaGC6vl8T164fNQUIua2Z2/PqxmTLJRR3n5Bbkdf859NdX+4JUzc3SoFEKlgcLMYnOQeuimUAiMKxe4vmC4sub5LZVFsp9ORzVYkXgiMBnxiD5GuYxvZPy1lCaH9E="
- # BINTRAY_KEY env var
- - secure: "E++FmjzZZrvkJpUHZajLUaO1wd0QHcyVidVx8qVeGUJm/khCPBJuhkSe6R2BphcBeeAuhVlsXo26SWCAn89r2KT2OHB/lwtK2CWhO5vOl5bI5o4nFc+m55e2gDIebSBrXQPITEQJpQx1zBL4FVw/A2xQRl+IcjF/EiIzG8Znslc="
- # DOWNLOAD_APIKEY env var
- - secure: "ZfRyz4HyLtCtHSrCzB+VwdRP3QLbhcXiqsUAhBYNBz6fU8B4l7UchcRrTVsSQJMJeQQ3V7baJsqi4vAcxtd2aV/UDb82aWy9+lwexecjS+fVNh6Ace8j69PVeywpVVonY2Mk/8LeEAvBkjB1OeRlE+gMC08QwOiHqkR2qVcwNYA="
- - GLBINDING_VERSION=2.1.4
- matrix:
- - BUILD_TYPE="Debug"
- - BUILD_TYPE="Release"
- - USE_GLBINDING=ON
- before_install:
- # Possibly should not generate packages for all builds?
- - export PACKAGE="ON";
- - if [ "$TRAVIS_OS_NAME" = "linux" ] && [ "$CC" = "gcc" ] && [ "$BUILD_TYPE" = "Release" ]; then
- export RELEASE="ON";
- fi;
- - if [ "$TRAVIS_OS_NAME" = "osx" ] && [ "$BUILD_TYPE" = "Release" ]; then
- export RELEASE="ON";
- fi;
- - if [ "$TRAVIS_OS_NAME" = "linux" ]; then
- if [ "$CXX" = "g++" ]; then export CXX="g++-8" CC="gcc-8"; fi;
- if [ "$CXX" = "clang++" ]; then export CXX="clang++-6.0" CC="clang-6.0"; fi;
- fi
- # Try building with GLBinding
- # Note: glbindings ./configure needs to be run twice in order to generate a makefile
- - if [ "$TRAVIS_OS_NAME" = "linux" ] && [ "$USE_GLBINDING" = "ON" ]; then
- wget https://github.com/cginternals/glbinding/archive/v$GLBINDING_VERSION.tar.gz -O - | tar xz;
- cd glbinding-$GLBINDING_VERSION && ./configure --prefix=/usr && ./configure --prefix=/usr;
- cd build && make && sudo make install;
- cd ../..;
- fi
- # Fetch the entire git history
- - git fetch
- # Install libRAQM
- - git clone --depth 1 https://github.com/HOST-Oman/libraqm.git;
- if [ "$TRAVIS_OS_NAME" = "linux" ]; then cd libraqm && ./autogen.sh && ./configure --prefix=/usr --disable-Werror && make -j3 && sudo make install; fi;
- if [ "$TRAVIS_OS_NAME" = "osx" ]; then cd libraqm && ./autogen.sh && ./configure --prefix=/usr/local --disable-Werror && make -j3 && sudo make install; fi;
- cd ..;
- - if [ "$TRAVIS_OS_NAME" = "linux" ]; then
- wget https://netcologne.dl.sourceforge.net/project/glew/glew/2.1.0/glew-2.1.0.tgz -O - | tar xz;
- cd glew-2.1.0/;
- make;
- sudo make install LIBDIR=/usr/lib;
- cd ..;
- fi;
- script:
- - cmake --version
- - $CXX --version
- - env
- - mkdir "build-$BUILD_TYPE"
- - cd "build-$BUILD_TYPE"
- - cmake .. -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DWARNINGS=ON -DWERROR=ON -DGLBINDING_ENABLED=$USE_GLBINDING -DBUILD_TESTS=ON -DCMAKE_INSTALL_MESSAGE=NEVER -DCMAKE_INSTALL_PREFIX=/usr -DINSTALL_SUBDIR_BIN=bin -DINSTALL_SUBDIR_SHARE=share/supertux2
- - make VERBOSE=1
- - make install DESTDIR="/tmp/supertux-$BUILD_TYPE" VERBOSE=1
- - ./test_supertux2
- after_success:
- - ../.travis/package.sh
- deploy:
- - provider: s3
- # script: ../.travis/deploy.sh
- access_key_id:
- secure: "YV+ri7L3ewSkbj0OUDCw3f4QA45YJ2NQg4Hy43traiebBcZ9up1w20uwy9jNCltivVWw/o6I3LT1KkBkblaAtD2jUemFfOfiB9gy8KRintjaR4OSCtr5bSiB0JbDNZwOONn5UHNTi/JbEX83jZxmn/V0p0RJZPmKShpS4sxYHH8="
- secret_access_key:
- secure: "SInYqjQuB0NAchIyqlaS1WjRdvYEpVhRNhPVO2y5H0fHcK+LDHdpkvtuieclD3ayUg/96qOOzKj0Sr7RqSFN4TCrTOmJYIK6JPtYqonor8AZcDucqOnw31v/HOIZ+Y15mvuWJfXY8sWmBXZiXc5l1a+J1A0NSgfdikKyjdULC58="
- bucket: supertux-ci-downloads
- region: us-west-2
- local_dir: s3-upload
- upload-dir: ${TRAVIS_COMMIT}/travis/${TRAVIS_OS_NAME}/${TRAVIS_JOB_ID}
- skip_cleanup: true
- on:
- all_branches: true
- condition: $RELEASE = ON
- - provider: releases
- api_key:
- secure: DF4cqURrLmxI+NNsOgPDsMHe9IHld0qMpxG4HZw2P2oJKJ9/QHMhBiq3Bi1x5lGMuWnJ02vq8s2mIm056qXOSxBJh6fCJO8Q+tUuUHIWm4tO9Jogy/10sDBLnKUq6sNjsM8BrRoeMWApfSVPqu9D/9k5mI3Zv1pVR+ip4ECQVBE=
- file: "s3-upload/SuperTux*"
- file_glob: true
- skip_cleanup: true
- on:
- tags: true
- condition: $RELEASE = ON
- after_deploy:
- - ../.travis/deploy.sh
- addons:
- apt:
- packages:
- - cmake
- - build-essential
- - automake
- - clang-6.0
- - g++-8
- - libc++-dev
- - libogg-dev
- - libvorbis-dev
- - libopenal-dev
- - libboost-all-dev
- - libsdl2-dev
- - libsdl2-image-dev
- - libfreetype6-dev
- - libharfbuzz-dev
- - libfribidi-dev
- - libglib2.0-dev
- - gtk-doc-tools
- - rpm
- - sshpass
- homebrew:
- packages:
- - cmake
- - bash
- - libogg
- - libvorbis
- - glew
- - openal-soft
- - sdl2
- - sdl2_image
- - sdl2_ttf
- - freetype
- - harfbuzz
- - fribidi
- - glib
- - gtk-doc
- - glbinding
- update: true
- coverity_scan:
- project:
- name: "SuperTux/supertux"
- description: "Build submitted via Travis CI"
- notification_email: supertux-commit@lists.lethargik.org
- build_command_prepend: "cmake . && make clean"
- build_command: "make -j 3"
- branch_pattern: coverity_scan
- notifications:
- email:
- - supertux-commit@lists.lethargik.org
- slack:
- secure: cH9u9+EfaPGIcmIcy06hxp5coMmBSKorgABXwE5M06hWbwL+4SIaAlOf9QhrOPi7TZKyyI5GXh687pWNtrgUzaBFhNrPOa/tIzr6kJryAkoFBRdn0sOsf/xYyDgTUfzS79HLYxdv7KDckmiPcgTxGGJOJ3797HBeKaEeufefzlU=
|