language: cpp dist: xenial sudo: required matrix: include: - os: linux compiler: gcc addons: apt: packages: - expect - gettext - libncurses5-dev - libpcre2-dev - python env: # Some warnings upgraded to errors to match Open Build Service platforms - CXXFLAGS="-Werror=address -Werror=return-type" - os: linux compiler: gcc addons: apt: packages: # Don't use libpcre2-dev here, so that one build uses the vendored code - expect - gettext - lib32ncurses5-dev - g++-multilib - python env: - CXXFLAGS="-m32 -Werror=address -Werror=return-type" CFLAGS="-m32" - os: linux compiler: clang env: - CXXFLAGS="-fno-omit-frame-pointer -fsanitize=undefined -fsanitize=address" - ASAN_OPTIONS=check_initialization_order=1:detect_stack_use_after_return=1:detect_leaks=1 - UBSAN_OPTIONS=print_stacktrace=1:report_error_type=1:suppressions=$TRAVIS_BUILD_DIR/build_tools/ubsan.blacklist addons: apt: packages: - expect - gettext - libncurses5-dev - libpcre2-dev - python - os: linux compiler: clang env: - CXXFLAGS="-fsanitize=thread" addons: apt: packages: - expect - gettext - libncurses5-dev - libpcre2-dev - python - os: osx before_install: - brew update - brew install pcre2 # use system PCRE2 fast_finish: true script: - cmake -DCMAKE_INSTALL_PREFIX=$HOME/prefix . || cat CMakeFiles/CMakeError.log && make -j2 && make install && make test SHOW_INTERACTIVE_LOG=1 notifications: # Some items are encrypted so that notifications from other repositories # don't flood the official repositories. irc: channels: #- "irc.oftc.net#fish" secure: "eRk9KGZ5+mrlD2SoI8yg2Sp8OYrh7YPyGe3WCDQUwTnNgNDII34rbM9a6UOA/l7AeWSNY8joLq5xVLCU4wpFgUcJ11SYIpMnLosZK29OW4ubDOHmdBDvJ971rLgAVG9cXngZtIxEVVxN/jnS1Qr8GKZx4DjkaTMgz1pemb4WxCc=" template: - "%{repository}#%{build_number} (%{commit} on %{branch} by %{author}): %{message} Details at %{build_url}" use_notice: true skip_join: true webhooks: urls: #- https://webhooks.gitter.im/e/61821cec3015bf0f8bb1 secure: fPfOmxnC3MCsfR1oocVFeWLawGcRZkn+8fNHlSOeZ+SqqoZfcCHgQTvQ22TqmVl1yvkXbNlaXjo6dbVzTOAh7r7H0bRMEKBVh3dQS7wqjB1sKivpXd8PAS3BTj5MQpGeJzdHnDuwVlwDktGtfHfhGeq1Go/4IosOq8u+6RTe28g=