blob: eb01a44ab14aa0db66ce3b31c18813078ea1a386 [file] [log] [blame]
Paul Bakker3ad3aa32014-04-17 16:16:05 +02001language: c
Gilles Peskinec9cdd212020-04-21 22:13:43 +02002compiler: gcc
Manuel Pégourié-Gonnardc84d7fb2015-08-04 15:59:34 +02003sudo: false
Manuel Pégourié-Gonnard2c998002015-08-04 18:06:02 +02004cache: ccache
Simon Butcher3459c742018-11-22 10:14:03 +00005
Gilles Peskined0f543a2020-04-21 22:18:58 +02006jobs:
7 include:
Gilles Peskine10cb1602020-04-26 21:26:42 +02008 - name: basic checks and reference configurations
Gilles Peskineb49a4572020-04-23 23:45:55 +02009 addons:
10 apt:
11 packages:
Gilles Peskinea5ced5b2020-04-25 23:36:00 +020012 - gnutls-bin
Gilles Peskineb49a4572020-04-23 23:45:55 +020013 - doxygen
14 - graphviz
Gilles Peskinef2f39dd2020-04-25 22:30:31 +020015 - gcc-arm-none-eabi
16 - libnewlib-arm-none-eabi
Manuel Pégourié-Gonnardcbb365c2020-08-18 10:31:36 +020017 - gcc-arm-linux-gnueabi
Manuel Pégourié-Gonnard9a260a62021-07-06 09:44:59 +020018 - libc6-dev-armel-cross
Gilles Peskinea38f3682020-04-25 21:15:07 +020019 language: python # Needed to get pip for Python 3
20 python: 3.5 # version from Ubuntu 16.04
21 install:
Gilles Peskine6d253cc2021-11-17 19:29:38 +010022 - scripts/min_requirements.py
Gilles Peskined0f543a2020-04-21 22:18:58 +020023 script:
Gilles Peskine3c7ffd72020-04-21 22:23:35 +020024 - tests/scripts/all.sh -k 'check_*'
Gilles Peskinea2d3ec22020-04-25 21:31:04 +020025 - tests/scripts/all.sh -k test_default_out_of_box
Manuel Pégourié-Gonnardcbb365c2020-08-18 10:31:36 +020026 - tests/scripts/all.sh -k test_ref_configs
27 - tests/scripts/all.sh -k build_arm_linux_gnueabi_gcc_arm5vte build_arm_none_eabi_gcc_m0plus
Gilles Peskined0f543a2020-04-21 22:18:58 +020028
Gilles Peskinea2d3ec22020-04-25 21:31:04 +020029 - name: full configuration
Gilles Peskine35e58d82022-11-23 14:30:00 +010030 os: linux
31 dist: focal
32 addons:
33 apt:
34 packages:
35 - clang-10
36 - gnutls-bin
Gilles Peskined0f543a2020-04-21 22:18:58 +020037 script:
Gilles Peskine35e58d82022-11-23 14:30:00 +010038 # Do a manual build+test sequence rather than using all.sh,
39 # because there's no all.sh component that does what we want,
40 # which is a build with Clang >= 10 and ASan, running all the SSL
41 # testing.
42 # - The clang executable in the default PATH is Clang 7 on
43 # Travis's focal instances, but we want Clang >= 10.
44 # - Running all the SSL testing requires a specific set of
45 # OpenSSL and GnuTLS versions and we don't want to bother
46 # with those on Travis.
47 # So we explicitly select clang-10 as the compiler, and we
48 # have ad hoc restrictions on SSL testing based on what is
49 # passing at the time of writing. We will remove these limitations
50 # gradually.
51 - 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'
52 - make test
53 - programs/test/selftest
54 - tests/scripts/test_psa_constant_names.py
Gilles Peskine53740c82022-11-25 11:33:11 +010055 # Exclude a few test cases that are failing mysteriously.
56 # https://github.com/Mbed-TLS/mbedtls/issues/6660
Gilles Peskinea1d41c02022-11-25 13:57:34 +010057 - tests/ssl-opt.sh -e 'Fallback SCSV:\ .*list'
Pengyu Lv95167892023-02-23 16:40:26 +080058 # Modern OpenSSL does not support null or ancient ciphers.
59 - tests/compat.sh -p OpenSSL -e 'NULL\|DES\|RC4'
Gilles Peskine35e58d82022-11-23 14:30:00 +010060 - tests/scripts/travis-log-failure.sh
61 # GnuTLS supports CAMELLIA but compat.sh doesn't properly enable it.
62 # Modern GnuTLS does not support DES.
63 # One NULL cipher suite is strangely missing in pre-1.2 protocol
64 # versions (it works with (D)TLS1.2, but don't bother).
65 - tests/compat.sh -p GnuTLS -e 'CAMELLIA\|DES\|TLS-RSA-WITH-NULL-SHA256'
66 - tests/scripts/travis-log-failure.sh
67 - tests/context-info.sh
Gilles Peskined0f543a2020-04-21 22:18:58 +020068
Gilles Peskine04025102020-04-25 23:25:10 +020069 - name: Windows
70 os: windows
71 script:
Gilles Peskine23d249a2020-04-26 13:12:55 +020072 - scripts/windows_msbuild.bat v141 # Visual Studio 2017
Gilles Peskine04025102020-04-25 23:25:10 +020073
Janos Follath831a65f2016-03-21 09:22:58 +000074after_failure:
Simon Butcher6eaf3652016-04-10 15:11:27 +010075- tests/scripts/travis-log-failure.sh
Gilles Peskined0f543a2020-04-21 22:18:58 +020076
Paul Bakker05c37742014-05-02 16:19:04 +020077env:
78 global:
Manuel Pégourié-Gonnardc8530df2019-02-27 10:46:56 +010079 - SEED=1
Paul Elliott08f803f2022-05-04 14:19:44 +010080 - secure: "JECCru6HASpKZ0OLfHh8f/KXhKkdrCwjquZghd/qbA4ksxsWImjR7KEPERcaPndXEilzhDbKwuFvJiQX2duVgTGoq745YGhLZIjzo1i8tySkceCVd48P8WceYGz+F/bmY7r+m6fFNuxDSoGGSVeA4Lnjvmm8PFUP45YodDV9no4="
Paul Bakker05c37742014-05-02 16:19:04 +020081
82addons:
Gilles Peskinea5ced5b2020-04-25 23:36:00 +020083 apt:
84 packages:
85 - gnutls-bin
Paul Bakker05c37742014-05-02 16:19:04 +020086 coverity_scan:
87 project:
Paul Elliott211c69d2022-05-06 14:06:09 +010088 name: "ARMmbed/mbedtls"
Vikas Katariya2bcf51a2019-09-10 17:36:23 +010089 notification_email: support-mbedtls@arm.com
Paul Bakker05c37742014-05-02 16:19:04 +020090 build_command_prepend:
Paul Bakker05c37742014-05-02 16:19:04 +020091 build_command: make
Paul Bakkerdb34e6d2015-04-14 14:59:47 +020092 branch_pattern: coverity_scan