2021-11-17 21:13:01 +01:00
|
|
|
# Declare python as our language. This way we get our chosen Python version,
|
|
|
|
# and pip is available. Gcc and clang are available anyway.
|
|
|
|
language: python
|
|
|
|
python: 3.5
|
2015-08-04 15:59:34 +02:00
|
|
|
sudo: false
|
2015-08-04 18:06:02 +02:00
|
|
|
cache: ccache
|
2018-11-22 11:14:03 +01:00
|
|
|
|
2020-04-21 22:18:58 +02:00
|
|
|
jobs:
|
|
|
|
include:
|
2020-04-26 21:26:42 +02:00
|
|
|
- name: basic checks and reference configurations
|
2020-04-23 23:45:55 +02:00
|
|
|
addons:
|
|
|
|
apt:
|
|
|
|
packages:
|
2020-04-25 23:36:00 +02:00
|
|
|
- gnutls-bin
|
2020-04-23 23:45:55 +02:00
|
|
|
- doxygen
|
|
|
|
- graphviz
|
2020-04-25 22:30:31 +02:00
|
|
|
- gcc-arm-none-eabi
|
|
|
|
- libnewlib-arm-none-eabi
|
2020-08-18 10:31:36 +02:00
|
|
|
- gcc-arm-linux-gnueabi
|
2021-07-06 09:44:59 +02:00
|
|
|
- libc6-dev-armel-cross
|
2020-04-21 22:18:58 +02:00
|
|
|
script:
|
2020-04-21 22:23:35 +02:00
|
|
|
- tests/scripts/all.sh -k 'check_*'
|
2020-04-25 21:31:04 +02:00
|
|
|
- tests/scripts/all.sh -k test_default_out_of_box
|
2021-04-22 11:55:48 +02:00
|
|
|
- tests/scripts/all.sh -k test_ref_configs
|
2020-08-18 10:31:36 +02:00
|
|
|
- tests/scripts/all.sh -k build_arm_linux_gnueabi_gcc_arm5vte build_arm_none_eabi_gcc_m0plus
|
2020-04-21 22:18:58 +02:00
|
|
|
|
2020-04-25 21:31:04 +02:00
|
|
|
- name: full configuration
|
2022-11-23 14:30:00 +01:00
|
|
|
os: linux
|
|
|
|
dist: focal
|
|
|
|
addons:
|
|
|
|
apt:
|
|
|
|
packages:
|
|
|
|
- clang-10
|
|
|
|
- gnutls-bin
|
2023-07-05 14:50:25 +02:00
|
|
|
env:
|
|
|
|
# Platform tests have an allocation that returns null
|
|
|
|
- ASAN_OPTIONS="allocator_may_return_null=1"
|
|
|
|
- MSAN_OPTIONS="allocator_may_return_null=1"
|
2020-04-21 22:18:58 +02:00
|
|
|
script:
|
2022-11-23 14:30:00 +01:00
|
|
|
# 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 generated_files
|
|
|
|
- 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
|
|
|
|
- tests/ssl-opt.sh
|
2023-02-23 08:24:47 +01:00
|
|
|
# Modern OpenSSL does not support null ciphers.
|
2023-02-22 03:07:16 +01:00
|
|
|
- tests/compat.sh -p OpenSSL -e 'NULL'
|
2022-11-23 14:30:00 +01:00
|
|
|
- tests/scripts/travis-log-failure.sh
|
|
|
|
# GnuTLS supports CAMELLIA but compat.sh doesn't properly enable it.
|
|
|
|
- tests/compat.sh -p GnuTLS -e 'CAMELLIA'
|
|
|
|
- tests/scripts/travis-log-failure.sh
|
|
|
|
- tests/context-info.sh
|
2020-04-21 22:18:58 +02:00
|
|
|
|
2020-04-25 23:25:10 +02:00
|
|
|
- name: Windows
|
|
|
|
os: windows
|
2021-11-17 21:13:01 +01:00
|
|
|
# The language 'python' is currently unsupported on the
|
|
|
|
# Windows Build Environment. And 'generic' causes the job to get stuck
|
|
|
|
# on "Booting virtual machine".
|
|
|
|
language: c
|
2020-04-26 14:09:09 +02:00
|
|
|
before_install:
|
|
|
|
- choco install python --version=3.5.4
|
|
|
|
env:
|
2021-04-22 11:55:48 +02:00
|
|
|
# Add the directory where the Choco packages go
|
2020-04-26 14:09:09 +02:00
|
|
|
- PATH=/c/Python35:/c/Python35/Scripts:$PATH
|
2021-11-18 17:35:01 +01:00
|
|
|
- PYTHON=python.exe
|
2020-04-25 23:25:10 +02:00
|
|
|
script:
|
2021-04-22 11:55:48 +02:00
|
|
|
- type perl; perl --version
|
2020-04-26 14:09:09 +02:00
|
|
|
- type python; python --version
|
2021-04-22 11:55:48 +02:00
|
|
|
- scripts/make_generated_files.bat
|
2020-04-26 14:09:09 +02:00
|
|
|
# Logs appear out of sequence on Windows. Give time to catch up.
|
|
|
|
- sleep 5
|
2020-04-26 13:12:55 +02:00
|
|
|
- scripts/windows_msbuild.bat v141 # Visual Studio 2017
|
2023-03-15 23:20:26 +01:00
|
|
|
- visualc/VS2013/x64/Release/selftest.exe
|
2020-04-25 23:25:10 +02:00
|
|
|
|
2023-01-11 15:48:51 +01:00
|
|
|
- name: full configuration on arm64
|
|
|
|
os: linux
|
|
|
|
dist: focal
|
|
|
|
arch: arm64
|
|
|
|
addons:
|
|
|
|
apt:
|
|
|
|
packages:
|
|
|
|
- gcc
|
2023-07-05 14:50:25 +02:00
|
|
|
env:
|
|
|
|
# Platform tests have an allocation that returns null
|
|
|
|
- ASAN_OPTIONS="allocator_may_return_null=1"
|
|
|
|
- MSAN_OPTIONS="allocator_may_return_null=1"
|
2023-01-11 15:48:51 +01:00
|
|
|
script:
|
2023-03-13 03:46:01 +01:00
|
|
|
# Do a manual build+test sequence rather than using all.sh.
|
|
|
|
#
|
|
|
|
# On Arm64 host of Travis CI, the time of `test_full_cmake_*` exceeds
|
|
|
|
# limitation of Travis CI. Base on `test_full_cmake_*`, we removed
|
|
|
|
# `ssl-opt.sh` and GnuTLS compat.sh here to meet the time limitation.
|
2023-01-11 15:48:51 +01:00
|
|
|
- scripts/config.py full
|
|
|
|
- make generated_files
|
2023-03-03 08:58:49 +01:00
|
|
|
- make CFLAGS='-O3 -Werror -fsanitize=address,undefined -fno-sanitize-recover=all' LDFLAGS='-Werror -fsanitize=address,undefined -fno-sanitize-recover=all'
|
2023-01-11 15:48:51 +01:00
|
|
|
- make test
|
|
|
|
- programs/test/selftest
|
|
|
|
- tests/scripts/test_psa_constant_names.py
|
|
|
|
# Modern OpenSSL does not support fixed ECDH or null ciphers.
|
2023-02-08 03:57:23 +01:00
|
|
|
- tests/compat.sh -p OpenSSL -e 'NULL\|ECDH_'
|
2023-01-11 15:48:51 +01:00
|
|
|
- tests/scripts/travis-log-failure.sh
|
|
|
|
- tests/context-info.sh
|
|
|
|
|
|
|
|
- name: full configuration(GnuTLS compat tests) on arm64
|
|
|
|
os: linux
|
|
|
|
dist: focal
|
|
|
|
arch: arm64
|
|
|
|
addons:
|
|
|
|
apt:
|
|
|
|
packages:
|
2023-02-21 07:52:33 +01:00
|
|
|
- clang
|
2023-01-11 15:48:51 +01:00
|
|
|
- gnutls-bin
|
2023-07-05 14:50:25 +02:00
|
|
|
env:
|
|
|
|
# Platform tests have an allocation that returns null
|
|
|
|
- ASAN_OPTIONS="allocator_may_return_null=1"
|
|
|
|
- MSAN_OPTIONS="allocator_may_return_null=1"
|
2023-01-11 15:48:51 +01:00
|
|
|
script:
|
2023-03-13 03:46:01 +01:00
|
|
|
# Do a manual build+test sequence rather than using all.sh.
|
|
|
|
#
|
|
|
|
# On Arm64 host of Travis CI, the time of `test_full_cmake_*` exceeds
|
|
|
|
# limitation of Travis CI. Base on `test_full_cmake_*`, we removed
|
|
|
|
# `ssl-opt.sh` and OpenSSl compat.sh here to meet the time limitation.
|
2023-01-11 15:48:51 +01:00
|
|
|
- scripts/config.py full
|
|
|
|
- make generated_files
|
2023-03-03 08:58:49 +01:00
|
|
|
- make CC=clang CFLAGS='-O3 -Werror -fsanitize=address,undefined -fno-sanitize-recover=all' LDFLAGS='-Werror -fsanitize=address,undefined -fno-sanitize-recover=all'
|
2023-01-11 15:48:51 +01:00
|
|
|
# GnuTLS supports CAMELLIA but compat.sh doesn't properly enable it.
|
|
|
|
- tests/compat.sh -p GnuTLS -e 'CAMELLIA'
|
|
|
|
- tests/scripts/travis-log-failure.sh
|
|
|
|
- tests/context-info.sh
|
|
|
|
|
2023-03-31 09:03:55 +02:00
|
|
|
- name: Arm64 accelerators tests on arm64 host
|
|
|
|
os: linux
|
|
|
|
dist: focal
|
|
|
|
arch: arm64
|
|
|
|
addons:
|
|
|
|
apt:
|
|
|
|
packages:
|
|
|
|
- gcc
|
|
|
|
script:
|
|
|
|
# Do a manual build+test sequence rather than using all.sh.
|
|
|
|
#
|
|
|
|
# This is arm64 host only test for no runtime detection case. Internal
|
|
|
|
# and Open CI do not include Arm64 host, and they check if components
|
|
|
|
# are be tested. As result, it will always fail on `pre-test-check` in
|
|
|
|
# them.
|
|
|
|
- scripts/config.py unset MBEDTLS_AESNI_C
|
|
|
|
- scripts/config.py unset MBEDTLS_PADLOCK_C
|
|
|
|
- scripts/config.py set MBEDTLS_AESCE_C
|
2023-04-19 04:44:29 +02:00
|
|
|
- scripts/config.py set MBEDTLS_AES_USE_HARDWARE_ONLY
|
2023-03-31 09:03:55 +02:00
|
|
|
- make generated_files
|
|
|
|
- make
|
2023-08-03 11:13:52 +02:00
|
|
|
- programs/test/selftest aes | grep "using AESCE"
|
2023-03-31 09:03:55 +02:00
|
|
|
- tests/context-info.sh
|
|
|
|
|
2016-03-21 10:22:58 +01:00
|
|
|
after_failure:
|
2016-04-10 16:11:27 +02:00
|
|
|
- tests/scripts/travis-log-failure.sh
|
2020-04-21 22:18:58 +02:00
|
|
|
|
2014-05-02 16:19:04 +02:00
|
|
|
env:
|
|
|
|
global:
|
2019-02-27 10:46:56 +01:00
|
|
|
- SEED=1
|
2023-08-30 18:59:42 +02:00
|
|
|
- secure: "GF/Fde5fkm15T/RNykrjrPV5Uh1KJ70cP308igL6Xkk3eJmqkkmWCe9JqRH12J3TeWw2fu9PYPHt6iFSg6jasgqysfUyg+W03knRT5QNn3h5eHgt36cQJiJr6t3whPrRaiM6U9omE0evm+c0cAwlkA3GGSMw8Z+na4EnKI6OFCo="
|
2014-05-02 16:19:04 +02:00
|
|
|
|
2021-11-17 19:29:38 +01:00
|
|
|
install:
|
2021-11-18 17:35:01 +01:00
|
|
|
- $PYTHON scripts/min_requirements.py
|
2021-11-17 19:29:38 +01:00
|
|
|
|
2014-05-02 16:19:04 +02:00
|
|
|
addons:
|
2020-04-25 23:36:00 +02:00
|
|
|
apt:
|
|
|
|
packages:
|
|
|
|
- gnutls-bin
|
2014-05-02 16:19:04 +02:00
|
|
|
coverity_scan:
|
|
|
|
project:
|
2022-05-06 15:06:09 +02:00
|
|
|
name: "ARMmbed/mbedtls"
|
2019-09-10 18:36:23 +02:00
|
|
|
notification_email: support-mbedtls@arm.com
|
2014-05-02 16:19:04 +02:00
|
|
|
build_command_prepend:
|
|
|
|
build_command: make
|
2015-04-14 14:59:47 +02:00
|
|
|
branch_pattern: coverity_scan
|