mirror of
https://github.com/mpv-player/mpv
synced 2025-01-07 15:40:43 +00:00
078e4bd023
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".)
121 lines
3.7 KiB
YAML
121 lines
3.7 KiB
YAML
language: c
|
|
|
|
macbase:
|
|
- &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
|
|
|
|
matrix:
|
|
include:
|
|
- <<: *macNew
|
|
osx_image: xcode11.3
|
|
- <<: *macNew
|
|
osx_image: xcode10.1
|
|
- <<: *macOld
|
|
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
|
|
allow_failures:
|
|
- os: osx
|
|
osx_image: xcode9.2
|
|
fast_finish: true
|
|
|
|
dist: bionic
|
|
services:
|
|
- docker
|
|
|
|
sudo: required
|
|
|
|
env:
|
|
global:
|
|
# Coverity token
|
|
- secure: "H21mSRlMhk4BKS0xHZvCFGJxteCP0hRVUxTuNfM2Z9HBsyutuLEYMtViLO86VtM+Tqla3xXPzUdS4ozLwI72Ax/5ZUDXACROj73yW6QhFB5D6rLut12+FjqC7M33Qv2hl0xwgNBmR5dsm1ToP37+Wn+ecJQNvN8fkTXF+HVzOEw="
|
|
# Travis token for mpv.io
|
|
- secure: "nlTVLJK6kRhtXvhKCoJ3YdFGHuKaq/eHowfPw25hqRWuBOZd+HjHY5KIYjV7SxuKFDpJE4GpNcvA3Q31nsqomxpkLYgrwjg6TSazN7ZP+x85ZgV1QGFebrPfGm2n5UR5CAPAwFoeF3pZheLi4bajVzwq1fWW+x3grS188P9OZso="
|
|
|
|
branches:
|
|
only:
|
|
- master
|
|
- ci
|
|
- coverity_scan
|
|
- /release\/.*$/
|
|
|
|
before_install:
|
|
- 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
|
|
- |
|
|
if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
|
|
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
|
|
fi
|
|
|
|
before_cache:
|
|
- if [ "$TRAVIS_OS_NAME" = "osx" ]; then brew cleanup -s ; fi
|
|
|
|
cache:
|
|
directories:
|
|
- $HOME/Library/Caches/Homebrew
|
|
|
|
script:
|
|
- ./bootstrap.py
|
|
- 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
|
|
after_failure: cat ./build/config.log
|
|
after_script: TOOLS/travis-rebuild-website
|
|
|
|
notifications:
|
|
email: false
|
|
irc:
|
|
if: fork = false
|
|
channels:
|
|
- "irc.freenode.org#mpv-devel"
|
|
on_success: change
|
|
on_failure: change
|
|
|
|
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
|