You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
119 lines
4.2 KiB
YAML
119 lines
4.2 KiB
YAML
language: cpp
|
|
branches:
|
|
only:
|
|
- master
|
|
- coverity_scan
|
|
- /openmw-.*$/
|
|
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: "jybGzAdUbqt9vWR/GEnRd96BgAi/7Zd1+2HK68j/i/8+/1YH2XxLOy4Jv/DUBhBlJIkxs/Xv8dRcUlFOclZDHX1d/9Qnsqd3oUVkD7k1y7cTOWy9TBQaE/v/kZo3LpzA3xPwwthrb0BvqIbOfIELi5fS5s8ba85WFRg3AX70wWE="
|
|
cache: ccache
|
|
addons:
|
|
apt:
|
|
sources:
|
|
- sourceline: 'ppa:openmw/openmw'
|
|
- ubuntu-toolchain-r-test
|
|
packages: [
|
|
# Dev
|
|
cmake, clang-tools, gcc-9, g++-9, ccache,
|
|
# Boost
|
|
libboost-filesystem-dev, libboost-iostreams-dev, libboost-program-options-dev, libboost-system-dev,
|
|
# FFmpeg
|
|
libavcodec-dev, libavformat-dev, libavutil-dev, libswresample-dev, libswscale-dev,
|
|
# Audio, Video and Misc. deps
|
|
libsdl2-dev, libqt5opengl5-dev, libopenal-dev, libunshield-dev, libtinyxml-dev,
|
|
# The other ones from OpenMW ppa
|
|
libbullet-dev, libopenscenegraph-dev, libmygui-dev
|
|
]
|
|
coverity_scan: # TODO: currently takes too long, disabled openmw/openmw-cs for now.
|
|
project:
|
|
name: "OpenMW/openmw"
|
|
description: "<Your project description here>"
|
|
branch_pattern: coverity_scan
|
|
notification_email: 1122069+psi29a@users.noreply.github.com
|
|
build_command_prepend: "cov-configure --comptype gcc --compiler gcc-5 --template; cmake . -DBUILD_OPENMW=FALSE -DBUILD_OPENCS=FALSE"
|
|
build_command: "make VERBOSE=1 -j3"
|
|
matrix:
|
|
include:
|
|
- name: OpenMW (all) on macOS Xcode 10.2
|
|
os: osx
|
|
osx_image: xcode10.2
|
|
if: branch != coverity_scan
|
|
- name: OpenMW (all) on Ubuntu Bionic GCC-7
|
|
os: linux
|
|
dist: bionic
|
|
sudo: required
|
|
if: branch != coverity_scan
|
|
- name: OpenMW (all) on Ubuntu Bionic GCC-9
|
|
os: linux
|
|
dist: bionic
|
|
sudo: required
|
|
env:
|
|
- MATRIX_EVAL="CC=gcc-9 && CXX=g++-9"
|
|
if: branch != coverity_scan
|
|
- name: OpenMW (openmw) on Ubuntu Bionic Clang-6 with Static Analysis
|
|
os: linux
|
|
dist: bionic
|
|
sudo: required
|
|
env:
|
|
- MATRIX_EVAL="CC=clang && CXX=clang++"
|
|
- ANALYZE="scan-build --force-analyze-debug-code --use-cc clang --use-c++ clang++"
|
|
- BUILD_OPENMW_CS="OFF"
|
|
if: branch != coverity_scan
|
|
compiler: clang
|
|
- name: OpenMW (openmw-cs) on Ubuntu Bionic Clang-6 with Static Analysis
|
|
os: linux
|
|
dist: bionic
|
|
sudo: required
|
|
env:
|
|
- MATRIX_EVAL="CC=clang && CXX=clang++"
|
|
- ANALYZE="scan-build --force-analyze-debug-code --use-cc clang --use-c++ clang++"
|
|
- BUILD_OPENMW="OFF"
|
|
if: branch != coverity_scan
|
|
compiler: clang
|
|
- name: OpenMW Components Coverity Scan
|
|
os: linux
|
|
dist: bionic
|
|
sudo: required
|
|
if: branch = coverity_scan
|
|
# allow_failures:
|
|
# - name: OpenMW (openmw) on Ubuntu Bionic Clang-6 with Static Analysis
|
|
|
|
before_install:
|
|
- if [ "${TRAVIS_OS_NAME}" = "linux" ]; then eval "${MATRIX_EVAL}"; fi
|
|
- if [ "${COVERITY_SCAN_BRANCH}" != 1 ]; then ./CI/before_install.${TRAVIS_OS_NAME}.sh; fi
|
|
before_script:
|
|
- ccache -z
|
|
- if [ "${COVERITY_SCAN_BRANCH}" != 1 ]; then ./CI/before_script.${TRAVIS_OS_NAME}.sh; fi
|
|
script:
|
|
- cd ./build
|
|
- if [ "${COVERITY_SCAN_BRANCH}" != 1 ]; then ${ANALYZE} make -j3; fi
|
|
- if [ "${COVERITY_SCAN_BRANCH}" != 1 ] && [ "${TRAVIS_OS_NAME}" = "osx" ]; then make package; fi
|
|
- if [ "${COVERITY_SCAN_BRANCH}" != 1 ] && [ "${TRAVIS_OS_NAME}" = "osx" ]; then ../CI/check_package.osx.sh; fi
|
|
- if [ "${COVERITY_SCAN_BRANCH}" != 1 ] && [ "${TRAVIS_OS_NAME}" = "linux" ]; then ./openmw_test_suite; fi
|
|
- if [ "${COVERITY_SCAN_BRANCH}" != 1 ] && [ "${TRAVIS_OS_NAME}" = "linux" ]; then cd .. && ./CI/check_tabs.sh; fi
|
|
- cd "${TRAVIS_BUILD_DIR}"
|
|
- ccache -s
|
|
deploy:
|
|
provider: script
|
|
script: ./CI/deploy.osx.sh
|
|
skip_cleanup: true
|
|
on:
|
|
branch: master
|
|
condition: "$TRAVIS_EVENT_TYPE = cron && $TRAVIS_OS_NAME = osx"
|
|
repo: OpenMW/openmw
|
|
notifications:
|
|
email:
|
|
recipients:
|
|
- corrmage+travis-ci@gmail.com
|
|
on_success: change
|
|
on_failure: always
|
|
irc:
|
|
channels:
|
|
- "chat.freenode.net#openmw"
|
|
on_success: change
|
|
on_failure: always
|
|
use_notice: true
|