language: c compiler: gcc sudo: false cache: ccache jobs: include: - name: basic checks and reference configurations addons: apt: packages: - gnutls-bin - doxygen - graphviz - gcc-arm-none-eabi - libnewlib-arm-none-eabi - gcc-arm-linux-gnueabi - libc6-dev-armel-cross language: python # Needed to get pip for Python 3 python: 3.5 # version from Ubuntu 16.04 install: - scripts/min_requirements.py script: - tests/scripts/all.sh -k 'check_*' - tests/scripts/all.sh -k test_default_out_of_box - tests/scripts/all.sh -k test_ref_configs - tests/scripts/all.sh -k build_arm_linux_gnueabi_gcc_arm5vte build_arm_none_eabi_gcc_m0plus - name: full configuration os: linux dist: focal addons: apt: packages: - clang-10 - gnutls-bin script: # Do a manual build+test sequence rather than using all.sh, # because there's no all.sh component that does what we want, # which is a build with Clang >= 10 and ASan, running all the SSL # testing. # - The clang executable in the default PATH is Clang 7 on # Travis's focal instances, but we want Clang >= 10. # - Running all the SSL testing requires a specific set of # OpenSSL and GnuTLS versions and we don't want to bother # with those on Travis. # So we explicitly select clang-10 as the compiler, and we # have ad hoc restrictions on SSL testing based on what is # passing at the time of writing. We will remove these limitations # gradually. - make CC=clang-10 CFLAGS='-Werror -Wall -Wextra -fsanitize=address,undefined -fno-sanitize-recover=all -O2' LDFLAGS='-Werror -Wall -Wextra -fsanitize=address,undefined -fno-sanitize-recover=all' - make test - programs/test/selftest - tests/scripts/test_psa_constant_names.py # Exclude a few test cases that are failing mysteriously. # https://github.com/Mbed-TLS/mbedtls/issues/6660 - tests/ssl-opt.sh -e 'Fallback SCSV:\ .*list' # Modern OpenSSL does not support fixed ECDH, null or ancient ciphers. - tests/compat.sh -p OpenSSL -e 'NULL\|ECDH-\|DES\|RC4' - tests/scripts/travis-log-failure.sh # GnuTLS supports CAMELLIA but compat.sh doesn't properly enable it. # Modern GnuTLS does not support DES. # One NULL cipher suite is strangely missing in pre-1.2 protocol # versions (it works with (D)TLS1.2, but don't bother). - tests/compat.sh -p GnuTLS -e 'CAMELLIA\|DES\|TLS-RSA-WITH-NULL-SHA256' - tests/scripts/travis-log-failure.sh - tests/context-info.sh - name: Windows os: windows script: - scripts/windows_msbuild.bat v141 # Visual Studio 2017 after_failure: - tests/scripts/travis-log-failure.sh env: global: - SEED=1 - secure: "JECCru6HASpKZ0OLfHh8f/KXhKkdrCwjquZghd/qbA4ksxsWImjR7KEPERcaPndXEilzhDbKwuFvJiQX2duVgTGoq745YGhLZIjzo1i8tySkceCVd48P8WceYGz+F/bmY7r+m6fFNuxDSoGGSVeA4Lnjvmm8PFUP45YodDV9no4=" addons: apt: packages: - gnutls-bin coverity_scan: project: name: "ARMmbed/mbedtls" notification_email: support-mbedtls@arm.com build_command_prepend: build_command: make branch_pattern: coverity_scan