Gilles Peskine | d80cf54 | 2021-11-17 21:13:01 +0100 | [diff] [blame] | 1 | # Declare python as our language. This way we get our chosen Python version, |
| 2 | # and pip is available. Gcc and clang are available anyway. |
| 3 | language: python |
| 4 | python: 3.5 |
Manuel Pégourié-Gonnard | c84d7fb | 2015-08-04 15:59:34 +0200 | [diff] [blame] | 5 | sudo: false |
Manuel Pégourié-Gonnard | 2c99800 | 2015-08-04 18:06:02 +0200 | [diff] [blame] | 6 | cache: ccache |
Simon Butcher | 3459c74 | 2018-11-22 10:14:03 +0000 | [diff] [blame] | 7 | |
Gilles Peskine | d0f543a | 2020-04-21 22:18:58 +0200 | [diff] [blame] | 8 | jobs: |
| 9 | include: |
Gilles Peskine | 10cb160 | 2020-04-26 21:26:42 +0200 | [diff] [blame] | 10 | - name: basic checks and reference configurations |
Gilles Peskine | b49a457 | 2020-04-23 23:45:55 +0200 | [diff] [blame] | 11 | addons: |
| 12 | apt: |
| 13 | packages: |
Gilles Peskine | a5ced5b | 2020-04-25 23:36:00 +0200 | [diff] [blame] | 14 | - gnutls-bin |
Gilles Peskine | b49a457 | 2020-04-23 23:45:55 +0200 | [diff] [blame] | 15 | - doxygen |
| 16 | - graphviz |
Gilles Peskine | f2f39dd | 2020-04-25 22:30:31 +0200 | [diff] [blame] | 17 | - gcc-arm-none-eabi |
| 18 | - libnewlib-arm-none-eabi |
Manuel Pégourié-Gonnard | efd14bf | 2020-08-18 10:31:36 +0200 | [diff] [blame] | 19 | - gcc-arm-linux-gnueabi |
Manuel Pégourié-Gonnard | ae505ee | 2021-07-06 09:44:59 +0200 | [diff] [blame] | 20 | - libc6-dev-armel-cross |
Gilles Peskine | d0f543a | 2020-04-21 22:18:58 +0200 | [diff] [blame] | 21 | script: |
Gilles Peskine | 3c7ffd7 | 2020-04-21 22:23:35 +0200 | [diff] [blame] | 22 | - tests/scripts/all.sh -k 'check_*' |
Gilles Peskine | a2d3ec2 | 2020-04-25 21:31:04 +0200 | [diff] [blame] | 23 | - tests/scripts/all.sh -k test_default_out_of_box |
Gilles Peskine | de7f1e0 | 2021-04-22 11:55:48 +0200 | [diff] [blame] | 24 | - tests/scripts/all.sh -k test_ref_configs |
Manuel Pégourié-Gonnard | efd14bf | 2020-08-18 10:31:36 +0200 | [diff] [blame] | 25 | - tests/scripts/all.sh -k build_arm_linux_gnueabi_gcc_arm5vte build_arm_none_eabi_gcc_m0plus |
Gilles Peskine | d0f543a | 2020-04-21 22:18:58 +0200 | [diff] [blame] | 26 | |
Gilles Peskine | a2d3ec2 | 2020-04-25 21:31:04 +0200 | [diff] [blame] | 27 | - name: full configuration |
Gilles Peskine | 187db00 | 2022-11-23 14:30:00 +0100 | [diff] [blame] | 28 | os: linux |
| 29 | dist: focal |
| 30 | addons: |
| 31 | apt: |
| 32 | packages: |
| 33 | - clang-10 |
| 34 | - gnutls-bin |
Gilles Peskine | d0f543a | 2020-04-21 22:18:58 +0200 | [diff] [blame] | 35 | script: |
Gilles Peskine | 187db00 | 2022-11-23 14:30:00 +0100 | [diff] [blame] | 36 | # Do a manual build+test sequence rather than using all.sh, |
| 37 | # because there's no all.sh component that does what we want, |
| 38 | # which is a build with Clang >= 10 and ASan, running all the SSL |
| 39 | # testing. |
| 40 | # - The clang executable in the default PATH is Clang 7 on |
| 41 | # Travis's focal instances, but we want Clang >= 10. |
| 42 | # - Running all the SSL testing requires a specific set of |
| 43 | # OpenSSL and GnuTLS versions and we don't want to bother |
| 44 | # with those on Travis. |
| 45 | # So we explicitly select clang-10 as the compiler, and we |
| 46 | # have ad hoc restrictions on SSL testing based on what is |
| 47 | # passing at the time of writing. We will remove these limitations |
| 48 | # gradually. |
| 49 | - make generated_files |
| 50 | - 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' |
| 51 | - make test |
| 52 | - programs/test/selftest |
| 53 | - tests/scripts/test_psa_constant_names.py |
| 54 | - tests/ssl-opt.sh |
Pengyu Lv | 9e7bb2a | 2023-02-23 15:24:47 +0800 | [diff] [blame] | 55 | # Modern OpenSSL does not support null ciphers. |
Pengyu Lv | f01ac3a | 2023-02-22 10:07:16 +0800 | [diff] [blame] | 56 | - tests/compat.sh -p OpenSSL -e 'NULL' |
Gilles Peskine | 187db00 | 2022-11-23 14:30:00 +0100 | [diff] [blame] | 57 | - tests/scripts/travis-log-failure.sh |
| 58 | # GnuTLS supports CAMELLIA but compat.sh doesn't properly enable it. |
| 59 | - tests/compat.sh -p GnuTLS -e 'CAMELLIA' |
| 60 | - tests/scripts/travis-log-failure.sh |
| 61 | - tests/context-info.sh |
Gilles Peskine | d0f543a | 2020-04-21 22:18:58 +0200 | [diff] [blame] | 62 | |
Gilles Peskine | 0402510 | 2020-04-25 23:25:10 +0200 | [diff] [blame] | 63 | - name: Windows |
| 64 | os: windows |
Gilles Peskine | d80cf54 | 2021-11-17 21:13:01 +0100 | [diff] [blame] | 65 | # The language 'python' is currently unsupported on the |
| 66 | # Windows Build Environment. And 'generic' causes the job to get stuck |
| 67 | # on "Booting virtual machine". |
| 68 | language: c |
Gilles Peskine | b97a044 | 2020-04-26 14:09:09 +0200 | [diff] [blame] | 69 | before_install: |
| 70 | - choco install python --version=3.5.4 |
| 71 | env: |
Gilles Peskine | de7f1e0 | 2021-04-22 11:55:48 +0200 | [diff] [blame] | 72 | # Add the directory where the Choco packages go |
Gilles Peskine | b97a044 | 2020-04-26 14:09:09 +0200 | [diff] [blame] | 73 | - PATH=/c/Python35:/c/Python35/Scripts:$PATH |
Gilles Peskine | dd38669 | 2021-11-18 17:35:01 +0100 | [diff] [blame] | 74 | - PYTHON=python.exe |
Gilles Peskine | 0402510 | 2020-04-25 23:25:10 +0200 | [diff] [blame] | 75 | script: |
Gilles Peskine | de7f1e0 | 2021-04-22 11:55:48 +0200 | [diff] [blame] | 76 | - type perl; perl --version |
Gilles Peskine | b97a044 | 2020-04-26 14:09:09 +0200 | [diff] [blame] | 77 | - type python; python --version |
Gilles Peskine | de7f1e0 | 2021-04-22 11:55:48 +0200 | [diff] [blame] | 78 | - scripts/make_generated_files.bat |
Gilles Peskine | b97a044 | 2020-04-26 14:09:09 +0200 | [diff] [blame] | 79 | # Logs appear out of sequence on Windows. Give time to catch up. |
| 80 | - sleep 5 |
Gilles Peskine | 23d249a | 2020-04-26 13:12:55 +0200 | [diff] [blame] | 81 | - scripts/windows_msbuild.bat v141 # Visual Studio 2017 |
Gilles Peskine | 0402510 | 2020-04-25 23:25:10 +0200 | [diff] [blame] | 82 | |
Jerry Yu | 32f977e | 2023-01-11 22:48:51 +0800 | [diff] [blame] | 83 | - name: full configuration on arm64 |
| 84 | os: linux |
| 85 | dist: focal |
| 86 | arch: arm64 |
| 87 | addons: |
| 88 | apt: |
| 89 | packages: |
| 90 | - gcc |
| 91 | script: |
Jerry Yu | 55b3ed7 | 2023-03-13 10:46:01 +0800 | [diff] [blame] | 92 | # Do a manual build+test sequence rather than using all.sh. |
| 93 | # |
| 94 | # On Arm64 host of Travis CI, the time of `test_full_cmake_*` exceeds |
| 95 | # limitation of Travis CI. Base on `test_full_cmake_*`, we removed |
| 96 | # `ssl-opt.sh` and GnuTLS compat.sh here to meet the time limitation. |
Jerry Yu | 32f977e | 2023-01-11 22:48:51 +0800 | [diff] [blame] | 97 | - scripts/config.py full |
Jerry Yu | 32f977e | 2023-01-11 22:48:51 +0800 | [diff] [blame] | 98 | - make generated_files |
Jerry Yu | ad0b2f7 | 2023-03-03 15:58:49 +0800 | [diff] [blame] | 99 | - make CFLAGS='-O3 -Werror -fsanitize=address,undefined -fno-sanitize-recover=all' LDFLAGS='-Werror -fsanitize=address,undefined -fno-sanitize-recover=all' |
Jerry Yu | 32f977e | 2023-01-11 22:48:51 +0800 | [diff] [blame] | 100 | - make test |
| 101 | - programs/test/selftest |
| 102 | - tests/scripts/test_psa_constant_names.py |
| 103 | # Modern OpenSSL does not support fixed ECDH or null ciphers. |
Jerry Yu | 837e9cf | 2023-02-08 10:57:23 +0800 | [diff] [blame] | 104 | - tests/compat.sh -p OpenSSL -e 'NULL\|ECDH_' |
Jerry Yu | 32f977e | 2023-01-11 22:48:51 +0800 | [diff] [blame] | 105 | - tests/scripts/travis-log-failure.sh |
| 106 | - tests/context-info.sh |
| 107 | |
| 108 | - name: full configuration(GnuTLS compat tests) on arm64 |
| 109 | os: linux |
| 110 | dist: focal |
| 111 | arch: arm64 |
| 112 | addons: |
| 113 | apt: |
| 114 | packages: |
Jerry Yu | 97b31d8 | 2023-02-21 14:52:33 +0800 | [diff] [blame] | 115 | - clang |
Jerry Yu | 32f977e | 2023-01-11 22:48:51 +0800 | [diff] [blame] | 116 | - gnutls-bin |
| 117 | script: |
Jerry Yu | 55b3ed7 | 2023-03-13 10:46:01 +0800 | [diff] [blame] | 118 | # Do a manual build+test sequence rather than using all.sh. |
| 119 | # |
| 120 | # On Arm64 host of Travis CI, the time of `test_full_cmake_*` exceeds |
| 121 | # limitation of Travis CI. Base on `test_full_cmake_*`, we removed |
| 122 | # `ssl-opt.sh` and OpenSSl compat.sh here to meet the time limitation. |
Jerry Yu | 32f977e | 2023-01-11 22:48:51 +0800 | [diff] [blame] | 123 | - scripts/config.py full |
Jerry Yu | 32f977e | 2023-01-11 22:48:51 +0800 | [diff] [blame] | 124 | - make generated_files |
Jerry Yu | ad0b2f7 | 2023-03-03 15:58:49 +0800 | [diff] [blame] | 125 | - make CC=clang CFLAGS='-O3 -Werror -fsanitize=address,undefined -fno-sanitize-recover=all' LDFLAGS='-Werror -fsanitize=address,undefined -fno-sanitize-recover=all' |
Jerry Yu | 32f977e | 2023-01-11 22:48:51 +0800 | [diff] [blame] | 126 | # GnuTLS supports CAMELLIA but compat.sh doesn't properly enable it. |
| 127 | - tests/compat.sh -p GnuTLS -e 'CAMELLIA' |
| 128 | - tests/scripts/travis-log-failure.sh |
| 129 | - tests/context-info.sh |
| 130 | |
Janos Follath | 831a65f | 2016-03-21 09:22:58 +0000 | [diff] [blame] | 131 | after_failure: |
Simon Butcher | 6eaf365 | 2016-04-10 15:11:27 +0100 | [diff] [blame] | 132 | - tests/scripts/travis-log-failure.sh |
Gilles Peskine | d0f543a | 2020-04-21 22:18:58 +0200 | [diff] [blame] | 133 | |
Paul Bakker | 05c3774 | 2014-05-02 16:19:04 +0200 | [diff] [blame] | 134 | env: |
| 135 | global: |
Manuel Pégourié-Gonnard | c8530df | 2019-02-27 10:46:56 +0100 | [diff] [blame] | 136 | - SEED=1 |
Paul Elliott | b73ed13 | 2022-05-04 12:43:08 +0100 | [diff] [blame] | 137 | - secure: "JECCru6HASpKZ0OLfHh8f/KXhKkdrCwjquZghd/qbA4ksxsWImjR7KEPERcaPndXEilzhDbKwuFvJiQX2duVgTGoq745YGhLZIjzo1i8tySkceCVd48P8WceYGz+F/bmY7r+m6fFNuxDSoGGSVeA4Lnjvmm8PFUP45YodDV9no4=" |
Paul Bakker | 05c3774 | 2014-05-02 16:19:04 +0200 | [diff] [blame] | 138 | |
Gilles Peskine | d9d5c78 | 2021-11-17 19:29:38 +0100 | [diff] [blame] | 139 | install: |
Gilles Peskine | dd38669 | 2021-11-18 17:35:01 +0100 | [diff] [blame] | 140 | - $PYTHON scripts/min_requirements.py |
Gilles Peskine | d9d5c78 | 2021-11-17 19:29:38 +0100 | [diff] [blame] | 141 | |
Paul Bakker | 05c3774 | 2014-05-02 16:19:04 +0200 | [diff] [blame] | 142 | addons: |
Gilles Peskine | a5ced5b | 2020-04-25 23:36:00 +0200 | [diff] [blame] | 143 | apt: |
| 144 | packages: |
| 145 | - gnutls-bin |
Paul Bakker | 05c3774 | 2014-05-02 16:19:04 +0200 | [diff] [blame] | 146 | coverity_scan: |
| 147 | project: |
Paul Elliott | 63d3deb | 2022-05-06 14:06:09 +0100 | [diff] [blame] | 148 | name: "ARMmbed/mbedtls" |
Vikas Katariya | 2bcf51a | 2019-09-10 17:36:23 +0100 | [diff] [blame] | 149 | notification_email: support-mbedtls@arm.com |
Paul Bakker | 05c3774 | 2014-05-02 16:19:04 +0200 | [diff] [blame] | 150 | build_command_prepend: |
Paul Bakker | 05c3774 | 2014-05-02 16:19:04 +0200 | [diff] [blame] | 151 | build_command: make |
Paul Bakker | db34e6d | 2015-04-14 14:59:47 +0200 | [diff] [blame] | 152 | branch_pattern: coverity_scan |