Skip to content
Permalink
master
Go to file
 
 
Cannot retrieve contributors at this time
116 lines (104 sloc) 3.5 KB
# This Source Code Form is licensed MPL-2.0: http://mozilla.org/MPL/2.0
#
# http://docs.travis-ci.com/user/customizing-the-build/
# http://lint.travis-ci.org/
os: linux
dist: xenial
language: generic
services: docker
# conditionalize build to ignore tags: https://docs.travis-ci.com/user/conditional-builds-stages-jobs/
if: tag IS blank
cache:
directories:
- ~/cache/
# We use $PIPELINE to carry cache context along job pipelines (workflows)
# https://docs.travis-ci.com/user/caching/
before_script: |
test "$TRAVIS_BRANCH^$TRAVIS_PULL_REQUEST" != "master^false" -o \
-z "$BINTRAY_API_KEY" || echo "$BINTRAY_API_KEY" > .bintray_api_key
# Job pipelines
jobs:
include:
# == 'Gcc' Pipeline ==
# Build a highly optimized Gcc and upload it. Disabled: appimage bintray
- stage: Stage1
name: "GCC (release build check)"
env: PIPELINE=Gcc
before_install: |
travis_retry git fetch --unshallow --tags
script: |
misc/cibuild.sh gcc release all check
# == 'Linting' Pipeline ==
# Generate all possible source code linting reports,
# sort slow jobs into separate stages to avoid timeouts.
- stage: Stage1
name: "Linting-1 (clang cppcheck scan-build check)"
env: PIPELINE=linting
before_install: |
rm -v -rf ~/cache/$TRAVIS_BUILD_NUMBER/ ~/beast &&
travis_retry git fetch --unshallow --tags &&
cd .. && mv beast ~/ && cd ~/beast/
script: |
misc/cibuild.sh quick cppcheck scan-build check
before_cache: |
mkdir -p ~/cache/$TRAVIS_BUILD_NUMBER/ &&
cd ~ && mv ~/beast/ ~/cache/$TRAVIS_BUILD_NUMBER/ &&
(cd ~/cache/ && pwd && ls -al )
- stage: Stage2
name: "Linting-2 (clang-tidy listunused listhacks bintray)"
env: PIPELINE=linting
before_install: |
mv ~/cache/$TRAVIS_BUILD_NUMBER/beast ~/ && cd ~/beast/
script: |
misc/cibuild.sh clang-tidy &&
misc/cibuild.sh listunused listhacks bintray
before_cache: |
rm -rf ~/cache/
# == Stage2 Fedora ==
# Fedora build tests, runs *after* the 'appimage' succeeded
- stage: Stage1
name: "Fedora-32 (build & check)"
env: PIPELINE=Fedora-32
before_install: |
travis_retry git fetch --unshallow --tags
script: |
docker build --build-arg DIST=fedora:32 -f misc/Dockerfile-yum -t beast-fedora-32 .
# == 'Asan' Pipeline ==
# Run checks with asan turned on.
- stage: Stage2
name: "Asan check"
env: PIPELINE=asan
before_install: |
travis_retry git fetch --unshallow --tags
script: |
misc/ciwitness.sh out/asan/build.log asan all check bintray
# == 'Ubsan' Pipeline ==
# Run checks with ubsan turned on.
- stage: Stage2
name: "Ubsan check"
env: PIPELINE=ubsan
before_install: |
travis_retry git fetch --unshallow --tags
script: |
misc/ciwitness.sh out/ubsan/build.log ubsan all check bintray
# == allow_failures ==
allow_failures:
- script: |
misc/ciwitness.sh out/asan/build.log asan all check bintray
- script: |
misc/ciwitness.sh out/ubsan/build.log ubsan all check bintray
- script: |
misc/cibuild.sh clang-tidy &&
misc/cibuild.sh listunused listhacks bintray
notifications:
irc:
channels:
- "irc.gimp.org#beast"
on_success: always
on_failure: always
skip_join: true
email: false
#recipients:
# - beast@gnome.org
#on_success: never
#on_failure: change
You can’t perform that action at this time.