| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153 |
- # 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
- 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
- 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 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
- # Modern OpenSSL does not support null ciphers.
- - tests/compat.sh -p OpenSSL -e 'NULL'
- - 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
- - name: Windows
- os: windows
- # 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
- before_install:
- - choco install python --version=3.5.4
- env:
- # Add the directory where the Choco packages go
- - PATH=/c/Python35:/c/Python35/Scripts:$PATH
- - PYTHON=python.exe
- script:
- - type perl; perl --version
- - type python; python --version
- - scripts/make_generated_files.bat
- # Logs appear out of sequence on Windows. Give time to catch up.
- - sleep 5
- - scripts/windows_msbuild.bat v141 # Visual Studio 2017
- - visualc/VS2013/x64/Release/selftest.exe
- - name: full configuration on arm64
- os: linux
- dist: focal
- arch: arm64
- addons:
- apt:
- packages:
- - gcc
- script:
- # 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.
- - scripts/config.py full
- - make generated_files
- - make CFLAGS='-O3 -Werror -fsanitize=address,undefined -fno-sanitize-recover=all' LDFLAGS='-Werror -fsanitize=address,undefined -fno-sanitize-recover=all'
- - make test
- - programs/test/selftest
- - tests/scripts/test_psa_constant_names.py
- # Modern OpenSSL does not support fixed ECDH or null ciphers.
- - tests/compat.sh -p OpenSSL -e 'NULL\|ECDH_'
- - 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:
- - clang
- - gnutls-bin
- script:
- # 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.
- - scripts/config.py full
- - make generated_files
- - make CC=clang CFLAGS='-O3 -Werror -fsanitize=address,undefined -fno-sanitize-recover=all' LDFLAGS='-Werror -fsanitize=address,undefined -fno-sanitize-recover=all'
- # 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
- after_failure:
- - tests/scripts/travis-log-failure.sh
- env:
- global:
- - SEED=1
- - secure: "JECCru6HASpKZ0OLfHh8f/KXhKkdrCwjquZghd/qbA4ksxsWImjR7KEPERcaPndXEilzhDbKwuFvJiQX2duVgTGoq745YGhLZIjzo1i8tySkceCVd48P8WceYGz+F/bmY7r+m6fFNuxDSoGGSVeA4Lnjvmm8PFUP45YodDV9no4="
- install:
- - $PYTHON scripts/min_requirements.py
- 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
|