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

2 months ago
  1. language: generic
  2. sudo: false
  3. dist: trusty
  4. cache:
  5. apt: true
  6. directories:
  7. {%- for cache in cached %}
  8. - {{ cache }}
  9. {%- endfor %}
  10. addons:
  11. apt:
  12. sources: &sources_base
  13. - ubuntu-toolchain-r-test
  14. packages: &packages_base
  15. - texinfo
  16. - time
  17. - uuid-dev
  18. matrix:
  19. include:
  20. {%- for job in jobs %}
  21. - stage: {{ job.stage }}
  22. os: {{ job.os }}
  23. {%- if job.osx_image %}
  24. osx_image: {{ job.osx_image }}
  25. {%- endif %}
  26. {%- if job.compiler %}
  27. compiler: {{ job.compiler }}
  28. {%- endif %}
  29. {%- if job.env|length > 0 %}
  30. env: {{ job.env|join(' ') }}
  31. {%- endif %}
  32. {%- if job.script %}
  33. script: {{ job.script|join(' ') }}
  34. {%- endif %}
  35. {%- if job.addons %}
  36. addons:
  37. {%- if job.addons.apt %}
  38. {%- set sources = ["*sources_base"] + job.addons.apt.sources %}
  39. {%- set packages = ["*packages_base"] + job.addons.apt.packages %}
  40. apt:
  41. sources: [{{ sources|join(', ') }}]
  42. packages: [{{ packages|join(', ') }}]
  43. {%- endif %}
  44. {%- if job.addons.coverity_scan %}
  45. coverity_scan:
  46. project:
  47. name: "{{ job.addons.coverity_scan.name }}"
  48. description: "{{ job.addons.coverity_scan.description }}"
  49. {%- for prop,value in job.addons.coverity_scan.properties.items() %}
  50. {{ prop }}: "{{ value }}"
  51. {%- endfor %}
  52. {%- endif %}
  53. {%- if job.addons.sonarcloud %}
  54. sonarcloud:
  55. organization: "{{ job.addons.sonarcloud.organization }}"
  56. token:
  57. secure: "{{ job.addons.sonarcloud.token }}"
  58. {%- endif %}
  59. {%- endif %}
  60. {%- endfor %}
  61. allow_failures:
  62. {%- for job in jobs if job.allow_failure %}
  63. - stage: {{ job.stage }}
  64. os: {{ job.os }}
  65. {%- if job.osx_image %}
  66. osx_image: {{ job.osx_image}}
  67. {%- endif %}
  68. {%- if job.env|length > 0 %}
  69. env: {{ job.env|join(' ') }}
  70. {%- endif %}
  71. {%- endfor %}
  72. before_install:
  73. - cd .ci/ && source setup_travis.sh && cd ../
  74. notifications:
  75. email:
  76. on_failure: always
  77. on_success: change
  78. irc:
  79. channels:
  80. - "chat.freenode.net#carl"
  81. template:
  82. - "Commit to %{repository_name}/%{branch} from %{author}"
  83. - "%{commit_message}"
  84. - "Build: %{message} %{duration} %{build_url}"
  85. slack:
  86. rooms:
  87. secure: "mL8Ku2omjsseTL5P2R2P3ddCedg8u9qSTKRjKNBhOYRJvpKNrIWr9fouP1tGsah9GBF+HL/JFWlA2sckCL9pURx6TdICHSgik1V/48QhpPKrV+ZkCmKenw3+hdXQY3YP36Xpj/SCCSMyRovA6kacWL3k0gRGJ++dxZYrYF7oVd8ltwxNC6+1o9HCmJnueCME5GBCKCgtOhYOr7izkjQ9wtFJvCmxHcI9EZxMQjWXmcHfItaWD1YFhR0/7AbsxJ9xtYZD0OMJrOgRBau671wV603a0EctIPcv0uKzjSsvB3yLndGOcMRsA8x/OPrFoOHbpLZ9d4O9gY3lvW5oueV+KTbbvHMSxJtvB9q3F0ZJSDHoG7cn1E2xb4gOHRdu4FhwqYy9abUM0DVUI/f7GaL+DMgzKeTduLB6h4GhtGR7fcWaBpCJYN1k8o33Vf/OPwaoPVCeiDRQIFqrqjDRcBc7ONe096WAf61albpMW6iCr5cBHy/j9XqEAGHu6sYftogWm/YVRqSF9+vnZy41cfQU+SYlFtWusUepqX1X/Kei+MCwESuddBnWj+oX8N8nreI8ql2IHG79IQVeEZZKMowxmo2IMsNnvkMyRTQsOmFY2u4NMRGga71QRCSbNvl01KxQ2ilyQ8Gu9Kjbs1QJ76jhOutChCzwOBAgc5aREdNCaV0="