You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

92 lines
2.9 KiB

language: generic
sudo: false
dist: trusty
cache:
apt: true
directories:
{%- for cache in cached %}
- {{ cache }}
{%- endfor %}
addons:
apt:
sources: &sources_base
- ubuntu-toolchain-r-test
packages: &packages_base
- texinfo
- time
- uuid-dev
matrix:
include:
{%- for job in jobs %}
- stage: {{ job.stage }}
os: {{ job.os }}
{%- if job.osx_image %}
osx_image: {{ job.osx_image }}
{%- endif %}
{%- if job.compiler %}
compiler: {{ job.compiler }}
{%- endif %}
{%- if job.env|length > 0 %}
env: {{ job.env|join(' ') }}
{%- endif %}
{%- if job.script %}
script: {{ job.script|join(' ') }}
{%- endif %}
{%- if job.addons %}
addons:
{%- if job.addons.apt %}
{%- set sources = ["*sources_base"] + job.addons.apt.sources %}
{%- set packages = ["*packages_base"] + job.addons.apt.packages %}
apt:
sources: [{{ sources|join(', ') }}]
packages: [{{ packages|join(', ') }}]
{%- endif %}
{%- if job.addons.coverity_scan %}
coverity_scan:
project:
name: "{{ job.addons.coverity_scan.name }}"
description: "{{ job.addons.coverity_scan.description }}"
{%- for prop,value in job.addons.coverity_scan.properties.items() %}
{{ prop }}: "{{ value }}"
{%- endfor %}
{%- endif %}
{%- if job.addons.sonarcloud %}
sonarcloud:
organization: "{{ job.addons.sonarcloud.organization }}"
token:
secure: "{{ job.addons.sonarcloud.token }}"
{%- endif %}
{%- endif %}
{%- endfor %}
allow_failures:
{%- for job in jobs if job.allow_failure %}
- stage: {{ job.stage }}
os: {{ job.os }}
{%- if job.osx_image %}
osx_image: {{ job.osx_image}}
{%- endif %}
{%- if job.env|length > 0 %}
env: {{ job.env|join(' ') }}
{%- endif %}
{%- endfor %}
before_install:
- cd .ci/ && source setup_travis.sh && cd ../
notifications:
email:
on_failure: always
on_success: change
irc:
channels:
- "chat.freenode.net#carl"
template:
- "Commit to %{repository_name}/%{branch} from %{author}"
- "%{commit_message}"
- "Build: %{message} %{duration} %{build_url}"
slack:
rooms:
secure: "mL8Ku2omjsseTL5P2R2P3ddCedg8u9qSTKRjKNBhOYRJvpKNrIWr9fouP1tGsah9GBF+HL/JFWlA2sckCL9pURx6TdICHSgik1V/48QhpPKrV+ZkCmKenw3+hdXQY3YP36Xpj/SCCSMyRovA6kacWL3k0gRGJ++dxZYrYF7oVd8ltwxNC6+1o9HCmJnueCME5GBCKCgtOhYOr7izkjQ9wtFJvCmxHcI9EZxMQjWXmcHfItaWD1YFhR0/7AbsxJ9xtYZD0OMJrOgRBau671wV603a0EctIPcv0uKzjSsvB3yLndGOcMRsA8x/OPrFoOHbpLZ9d4O9gY3lvW5oueV+KTbbvHMSxJtvB9q3F0ZJSDHoG7cn1E2xb4gOHRdu4FhwqYy9abUM0DVUI/f7GaL+DMgzKeTduLB6h4GhtGR7fcWaBpCJYN1k8o33Vf/OPwaoPVCeiDRQIFqrqjDRcBc7ONe096WAf61albpMW6iCr5cBHy/j9XqEAGHu6sYftogWm/YVRqSF9+vnZy41cfQU+SYlFtWusUepqX1X/Kei+MCwESuddBnWj+oX8N8nreI8ql2IHG79IQVeEZZKMowxmo2IMsNnvkMyRTQsOmFY2u4NMRGga71QRCSbNvl01KxQ2ilyQ8Gu9Kjbs1QJ76jhOutChCzwOBAgc5aREdNCaV0="