2019-07-21 18:14:47 +00:00
language : c
2013-05-19 07:19:29 +00:00
2020-03-25 18:22:23 +00:00
_macbase :
2019-12-28 20:42:20 +00:00
- &macOld
os : osx
compiler : clang
env :
- HOMEBREW_NO_AUTO_UPDATE=1
- HOMEBREW_NO_INSTALL_CLEANUP=1
- &macNew
<< : *macOld
addons :
homebrew :
packages : [ 'autoconf' , 'automake' , 'ffmpeg' , 'freetype' , 'fribidi' ,
'libass' , 'libtool' , 'little-cms2' , 'luajit' , 'nasm' ,
'pkg-config' , 'python' ]
update : true
2019-07-21 18:14:47 +00:00
matrix :
include :
2019-12-28 20:42:20 +00:00
- << : *macNew
osx_image : xcode11.3
- << : *macNew
2019-07-21 18:14:47 +00:00
osx_image : xcode10.1
2019-12-28 20:42:20 +00:00
- << : *macOld
2019-07-21 18:14:47 +00:00
osx_image : xcode9.2
- os : linux
compiler : gcc
env : CONTAINER=registry.cirno.systems/kiwi/containers/mpv-ci:stable-deps CI_SCRIPT=ci/build-tumbleweed.sh
- os : linux
compiler : clang
env : CONTAINER=registry.cirno.systems/kiwi/containers/mpv-ci:stable-deps CI_SCRIPT=ci/build-tumbleweed.sh
- os : linux
env : CONTAINER=registry.cirno.systems/kiwi/containers/mpv-ci-mingw64:i686 CI_SCRIPT=ci/build-mingw64.sh TARGET=i686-w64-mingw32
- os : linux
env : CONTAINER=registry.cirno.systems/kiwi/containers/mpv-ci-mingw64:x86_64 CI_SCRIPT=ci/build-mingw64.sh TARGET=x86_64-w64-mingw32
2019-12-28 20:42:20 +00:00
allow_failures :
- os : osx
osx_image : xcode9.2
fast_finish : true
2018-06-25 17:16:42 +00:00
2019-07-21 18:14:47 +00:00
dist : bionic
2018-06-25 17:16:42 +00:00
services :
- docker
2013-05-19 07:19:29 +00:00
env :
2014-11-21 01:28:59 +00:00
global :
2014-11-24 15:56:48 +00:00
# Coverity token
2014-11-21 01:33:50 +00:00
- secure : "H21mSRlMhk4BKS0xHZvCFGJxteCP0hRVUxTuNfM2Z9HBsyutuLEYMtViLO86VtM+Tqla3xXPzUdS4ozLwI72Ax/5ZUDXACROj73yW6QhFB5D6rLut12+FjqC7M33Qv2hl0xwgNBmR5dsm1ToP37+Wn+ecJQNvN8fkTXF+HVzOEw="
2016-09-04 11:29:11 +00:00
# Travis token for mpv.io
- secure : "nlTVLJK6kRhtXvhKCoJ3YdFGHuKaq/eHowfPw25hqRWuBOZd+HjHY5KIYjV7SxuKFDpJE4GpNcvA3Q31nsqomxpkLYgrwjg6TSazN7ZP+x85ZgV1QGFebrPfGm2n5UR5CAPAwFoeF3pZheLi4bajVzwq1fWW+x3grS188P9OZso="
2014-07-21 12:55:12 +00:00
2013-05-19 07:19:29 +00:00
branches :
only :
- master
2013-06-03 19:30:46 +00:00
- ci
2014-11-21 00:46:25 +00:00
- coverity_scan
2018-09-29 19:28:15 +00:00
- /release\/.*$/
2013-05-19 07:19:29 +00:00
2018-06-25 17:16:42 +00:00
before_install :
2019-07-21 18:14:47 +00:00
- if [ "$TRAVIS_COMPILER" = "clang" ]; then export CXX="clang++"; fi
- if [ "$TRAVIS_COMPILER" = "gcc" ]; then export CXX="g++"; fi
- if [ "$TRAVIS_OS_NAME" = "linux" ]; then docker pull $CONTAINER; fi
2019-12-28 18:16:00 +00:00
- |
if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
2019-12-28 20:42:20 +00:00
if [[ "$TRAVIS_OSX_IMAGE" == "xcode9.2" ]]; then
brew update
pushd "/usr/local/Homebrew/Library/Taps/homebrew/homebrew-core"
git checkout 55e02323812604add9a69bab8730319b9255a697
popd
brew install autoconf
brew install automake
brew install pkg-config
brew install libtool
brew install python
brew install freetype
brew install fribidi
brew install little-cms2
brew install luajit
brew install libass
brew install ffmpeg
else
brew link --overwrite python
fi
2019-12-28 18:16:00 +00:00
fi
2019-12-28 20:42:20 +00:00
before_cache :
- if [ "$TRAVIS_OS_NAME" = "osx" ]; then brew cleanup -s ; fi
cache :
directories :
- $HOME/Library/Caches/Homebrew
2013-07-16 11:28:28 +00:00
script :
2018-07-29 08:55:48 +00:00
- ./bootstrap.py
2019-07-21 18:14:47 +00:00
- if [ "$TRAVIS_OS_NAME" = "linux" ]; then docker run --env CC --env TARGET -v $TRAVIS_BUILD_DIR:/build $CONTAINER /bin/sh -c "cd /build && $CI_SCRIPT"; fi
- if [ "$TRAVIS_OS_NAME" = "osx" ]; then ./ci/build-macos.sh; fi
2017-08-07 12:21:38 +00:00
after_failure : cat ./build/config.log
2016-09-04 11:29:11 +00:00
after_script : TOOLS/travis-rebuild-website
2013-05-19 07:19:29 +00:00
notifications :
2013-11-23 21:28:43 +00:00
email : false
2013-05-19 07:19:29 +00:00
irc :
2020-01-19 19:07:28 +00:00
if : fork = false
2013-05-19 07:19:29 +00:00
channels :
2015-04-27 21:02:40 +00:00
- "irc.freenode.org#mpv-devel"
2014-07-21 12:55:12 +00:00
on_success : change
travis: shut the fuck up
Travis is currently having "problems" and is spamming IRC all the time
with pointless failure notifications. Make it so that it hopefully sends
a message only when it goes from success to failure, which should
exclude these cases.
While I'm at it, I'd like to complain how idiotic it is to store CI
configuration in a project's source repository. Such a repository should
only contain things that are inherently part of the code's function, not
part of the organization. You don't store bug reports, build results,
the website, developer access controls, etc. in this repository either.
But for CI it's supposed to be OK? I'm all for this "configuration as
code" thing, but what it should mean is that you store configuration
files in some git managed repository, NOT necessarily that you dump them
into the main source code repo. There are many arguments why it should
not be there, such as this very commit. I have a feeling this is mostly
just because all these idiotic web services just want to advertise their
shit and bind customers by not giving easy ways to treat source code and
CI service configuration orthogonal. And so, the source code repo gets
clobbered with stupid shit (both in the set of files and the commit
history). It's fairly idiotic and my tolerance for it is waning. (Oh, of
course you could probably jump through hoops to make it a separate repo,
but I bet that is complicated and has all kinds of downsides because it
won't be the way "it's meant to be used".)
2020-03-22 12:28:50 +00:00
on_failure : change
2014-11-21 00:46:25 +00:00
addons :
coverity_scan :
project :
name : "mpv-player/mpv"
description : "Build submitted via Travis CI"
notification_email : mpv-team@googlegroups.com
build_command_prepend : "./bootstrap.py && ./waf configure"
build_command : "./waf build"
branch_pattern : coverity_scan