.travis.yml 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. language: c
  2. os: linux
  3. # Ubuntu xenial 16.04 comes with valgrind-3.11, which can't handle the
  4. # RDRAND instructions and aborts with "Illegal instruction". This is not a
  5. # problem with Ubuntu bionic 18.04, which has valgrind-3.13.
  6. dist: bionic
  7. addons:
  8. apt:
  9. packages:
  10. - valgrind
  11. jobs:
  12. include:
  13. - compiler: gcc
  14. env: CFLAGS_STRICT="-Wall -Wextra -Werror -Wpedantic -pedantic-errors -Wno-clobbered"
  15. - compiler: clang
  16. env: CFLAGS_STRICT="-Wall -Wextra -Werror -Weverything -Wno-#warnings -Wno-pedantic -Wno-padded -Wno-format-nonliteral -Wno-disabled-macro-expansion -Wno-missing-noreturn -Wno-reserved-id-macro -Wno-documentation-unknown-command"
  17. env:
  18. global:
  19. # Some projects need -std=c99 to specify library support for ./configure
  20. - CFLAGS="-std=c99 -O2"
  21. - secure: "FDGqRY+fCRQDkkY5YohCNqecntL6/AV0N4qqrJ1F+FOOOr3SKwt6dH4dJ30CZQWG/0qHNeaCDdE0HNwgCv4xjreh80NPLL6FyHz8mkz/hajKc47LYXvIxv1u8DQyUtSYA+cxEyNtJt8lb4+7ZL2lm6E1UXTjYl+8far1vpI8RjkOFIdLx2cW6LzQ6OZ2vQq5INfW6PIEPdjLD7PreLmEZY385Tjh2C77UAnq7AcG2xVd7SMAjZjkqOyVs0Eo8JD2+xhBIVCQ5H0FUIL8Upp1Th2LhxcYAccj0W5r58D6HWZLzsoNi09eb6ozKZbQRyTqfdRKuVxDZznjHsdkbGme81q7epFxOB+2ushu9lnpvFko7vJ1wstjdCcrs6lAVrCP43gU3DpyGb7BKGPLEX6ty2PWLkj5lQVOiHxxhlHkSGSn79PDOnsJsLkEqw4MEeOtcVPBF+qLLrqntLJnMAr1npdCsLgyfc1bdV6ZpgO6bdW6EOGMwl6L9ZBQgAW+CemZEy5TSAUjHS6VspMKCE2FIkzftKhq2adR0Wi1tJU1OiYVEBSgFzceNVNPQgyLojgXq8VEej7G0loj9ni4t2hd7jMhZKwQjPeYrf4xiw1rpvu64Ro7ZeAlfzqzlg4EaNcqcy+uB2gaeWW74z0j09RZd3HBkAADgbadIvgbly9lW/E="
  22. - COVERITY_SCAN_PROJECT_NAME="Tarsnap/scrypt"
  23. - COVERITY_SCAN_BRANCH_PATTERN="coverity-scan"
  24. - COVERITY_SCAN_NOTIFICATION_EMAIL="cperciva@tarsnap.com"
  25. - COVERITY_SCAN_BUILD_COMMAND_PREPEND="autoreconf -i && ./configure"
  26. - COVERITY_SCAN_BUILD_COMMAND="make all clean"
  27. before_install:
  28. # Handle Coverity scan
  29. - >
  30. if [[ "${TRAVIS_BRANCH}" == "coverity-scan" ]]; then
  31. if [[ "${TRAVIS_JOB_NUMBER##*.}" == "1" ]]; then
  32. curl -s "https://scan.coverity.com/scripts/travisci_build_coverity_scan.sh" | bash || true
  33. else
  34. echo "Not main job; do nothing."
  35. fi
  36. echo "Done Coverity scan."
  37. sleep 1
  38. exit 0
  39. fi
  40. # Otherwise, act normally.
  41. - autoreconf -i
  42. - ./configure
  43. # We can't use strict flags in CFLAGS as a general environment
  44. # variable, because that messes up ./configure and coverity-scan.
  45. script: make CFLAGS="$CFLAGS $CFLAGS_STRICT" && make test USE_VALGRIND=1