Commit graph

66 commits

Author SHA1 Message Date
Gilles Peskine
b52b788e55
Merge pull request #6895 from yuhaoth/pr/add-aes-with-armv8-crypto-extension
Add AES with armv8 crypto extension
2023-02-28 18:16:37 +01:00
Jerry Yu
aa18c4bf96 Add comments about travis test.
Signed-off-by: Jerry Yu <jerry.h.yu@arm.com>
2023-02-24 11:18:41 +08:00
Pengyu Lv
9e7bb2a92c Update some comments
Signed-off-by: Pengyu Lv <pengyu.lv@arm.com>
2023-02-23 16:03:56 +08:00
Pengyu Lv
f01ac3af0e Remove explicit ECDH exclusion for Travis CI
Signed-off-by: Pengyu Lv <pengyu.lv@arm.com>
2023-02-22 10:19:50 +08:00
Jerry Yu
97b31d8ca3 Revert "Disable clang tests"
This reverts commit e908c57f95.

Signed-off-by: Jerry Yu <jerry.h.yu@arm.com>
2023-02-21 15:16:20 +08:00
Jerry Yu
837e9cfc77 fix wrong typo
Signed-off-by: Jerry Yu <jerry.h.yu@arm.com>
2023-02-08 10:57:23 +08:00
Jerry Yu
e908c57f95 Disable clang tests
Signed-off-by: Jerry Yu <jerry.h.yu@arm.com>
2023-02-07 17:11:53 +08:00
Jerry Yu
32f977e820 Add arm64 tests on travis ci
Due to time limitation of travis, the job is spited into
two job

Signed-off-by: Jerry Yu <jerry.h.yu@arm.com>
2023-02-07 17:11:53 +08:00
Yanray Wang
57ae192b13 Fix failure in Travis CI
Signed-off-by: Yanray Wang <yanray.wang@arm.com>
2023-01-17 15:14:06 +08:00
Gilles Peskine
187db00399 Update the Travis "full" build to use modern Clang
Don't use an all.sh component because there isn't one that does what we
want (modern Clang with ASan, and test everything).

* We need to set CC explicitly or tweak PATH, because clang in $PATH on
  Travis focal instances is Clang 7 which is too old (we want Clang 10).
* Travis lacks the array of versions of openssl and gnutls that we normally
  use for testing, so we need to exclude some tests (or build our
  own multiple versions of openssl and gnutls).

The SSL test exclusions are ad hoc and based on what currently works.

Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
2022-11-24 22:41:55 +01:00
Paul Elliott
63d3debae0 Revert Coverity project name change
Although Coverity have now changed their URL to point at the new
project, they did not change the project name, it would seem.

Signed-off-by: Paul Elliott <paul.elliott@arm.com>
2022-05-06 14:06:09 +01:00
Paul Elliott
b73ed139b7 Change coverity secret token in travis
Travis stopped being able to push builds to coverity due to the token
apparently being no longer valid. Rotating the token to see if that
fixes things.

Signed-off-by: Paul Elliott <paul.elliott@arm.com>
2022-05-04 12:43:08 +01:00
Dave Rodgman
017a19997a Update references to old Github organisation
Replace references to ARMmbed organisation with the new
org, Mbed-TLS, following project migration.

Signed-off-by: Dave Rodgman <dave.rodgman@arm.com>
2022-03-31 14:43:16 +01:00
Gilles Peskine
dd38669703 Reconcile python interpreter names
Our shebangs use `python3`, which is the desired name on Linux (where
`python` is still Python 2). But on Windows, Choco's Python only provides a
`python3.exe` executable. Our build scripts deal with this, but we need to
cope when invoking a Python script from Travis itself.

Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
2021-11-18 17:35:01 +01:00
Gilles Peskine
d80cf54e10 Declare all jobs as Python
This way we get our chosen Python version everywhere, and pip is available.

Travis doesn't support the python job type on Windows, however, so keep
installing Python manually there.

Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
2021-11-18 17:33:33 +01:00
Gilles Peskine
d9d5c7856f Travis: use the in-tree Python package requirements
Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
2021-11-18 17:33:33 +01:00
Manuel Pégourié-Gonnard
ae505eeeed Fix missing dependency on Travis
Was getting errors like:

In file included from /usr/include/limits.h:25:0,
                 from /usr/lib/gcc-cross/arm-linux-gnueabi/5/include-fixed/limits.h:168,
                 from /usr/lib/gcc-cross/arm-linux-gnueabi/5/include-fixed/syslimits.h:7,
                 from /usr/lib/gcc-cross/arm-linux-gnueabi/5/include-fixed/limits.h:34,
                 from ../include/mbedtls/check_config.h:30,
                 from ../include/mbedtls/build_info.h:81,
                 from common.h:26,
                 from asn1write.c:20:
/usr/include/features.h:367:25: fatal error: sys/cdefs.h: No such file or directory

There are two packages to choose from: armhf or armel. Since the comment
in all.sh says we're trying to be close to Debian's "armel"
architecture, choose that, and fix a comment that was mentioning
gnueabihf for no apparent reason.

Signed-off-by: Manuel Pégourié-Gonnard <manuel.pegourie-gonnard@arm.com>
2021-08-03 11:19:59 +02:00
Manuel Pégourié-Gonnard
efd14bf9bd Enable arm-linux-gnueabi-gcc build on Travis
Signed-off-by: Manuel Pégourié-Gonnard <manuel.pegourie-gonnard@arm.com>
2021-08-03 11:19:59 +02:00
Dave Rodgman
d0581e119b Disable OS X builds on Travis
Signed-off-by: Dave Rodgman <dave.rodgman@arm.com>
2021-06-10 15:47:18 +01:00
Gilles Peskine
de7f1e0bc4 Generate source files before doing builds on Travis
On Linux, all.sh takes care of it. On Windows, run
make_generated_files.bat.

Perl is now required on Windows.

Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
2021-05-20 10:37:22 +02:00
Gilles Peskine
f71ff1f0ad Run mypy on Travis
`tests/scripts/all.sh check_python_files` now runs mypy (in addition
to pylint) if it's available. So install mypy.

Install mypy 0.780, which is the earliest version that works on our
code at this time.

Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
2021-01-20 12:03:24 +01:00
John Durkop
d61712233e Remove check compilation guards from travis build
With the increase in depends testing for PSA changes introduced
here the Travis builds are now taking too long. The check for
compilation guards will only be run on Jenkins now. See this comment
for further details.

https://github.com/ARMmbed/mbedtls/pull/3585#discussion_r485189748

Signed-off-by: John Durkop <john.durkop@fermatsoftware.com>
2020-09-09 05:18:51 -07:00
Gilles Peskine
907211da88 Travis: do both a Cortex-A build and a Cortex-M0+ build
The Cortex-A build is similar to Debian armel. The Cortex-M0+ is a
handy point of comparison for code size. Put that one last so that
it's easy to find in the log.

Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
2020-04-30 23:14:08 +02:00
Gilles Peskine
10cb160000 Travis: rebalance the Linux builds
Make the running time more even.

Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
2020-04-26 21:26:42 +02:00
Gilles Peskine
b97a044837 Travis: Windows: install Python 3 and run generate_psa_constants.py
Travis Windows machines currently don't have Python 3 preinstalled.
We need it to run scripts/generate_psa_constants.py which is needed
to build mbedTLS.sln.

Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
2020-04-26 20:54:14 +02:00
Gilles Peskine
23d249a99e Travis: Windows: target Visual Studio 2017
Only the Visual Studio 2017 toolset is currently preinstalled on Travis.
Use this, instead of our solution's default which is VS 2010.

Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
2020-04-26 20:52:05 +02:00
Gilles Peskine
040251001b Travis: add a build with Visual Studio on Windows
Travis now offers a Windows environment. Do a build with Visual
Studio. This brings diversity into the Travis CI which otherwise only
uses GCC and Clang.

Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
2020-04-26 20:52:04 +02:00
Gilles Peskine
129d04169a Travis: add a build on macOS
Just do the default build with Clang and run the unit tests. The
objective is to have one build on a Unix-like platform other than
Linux.

Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
2020-04-26 00:16:34 +02:00
Gilles Peskine
f2f39ddd89 Travis: add a baremetal build
Add a baremetal build to Travis, to catch inadvertent dependencies on
platform functions.

The exact choice of target platform doesn't matter for this purpose.
Pick one that's present in all.sh, that uses a compiler that's
available in the Travis build environment (Ubuntu 16.04), and that
happens to be close to the Debian "armel" distribution.

Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
2020-04-26 00:16:34 +02:00
Gilles Peskine
5dcfb947d1 Travis: call all depends_* tests
Call all.sh to run all the available test_depends_* components. This
adds a run of depends-hashes.pl and depends-pkgalgs.pl.

Keep invoking test-ref-configs.pl rather than via all.sh so that it
doesn't run with ASan. This saves some time and ASan there doesn't
turn up much more than in the full config.

Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
2020-04-26 00:16:34 +02:00
Gilles Peskine
a5ced5b103 Travis: install gnutls-bin for all jobs
Some jobs don't actually test against GnuTLS, but all.sh checks its
presence in all test jobs, so it needs to be installed regardless.

Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
2020-04-26 00:16:34 +02:00
Gilles Peskine
a2d3ec22bb Travis: replace "default configuration by "full configuration"
For the one long job with ASan, use the full configuration.

We get more coverage this way, at the cost of a slightly longer
runtime which we can afford since the "enumerated configurations" job
is slower.

Add a default-configuration build to the "basic checks" job. This job
is fairly quick (no ASan, no SSL testing).

Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
2020-04-25 22:39:27 +02:00
Gilles Peskine
dc566758a3 Travis: call all.sh for the default-configuration build
This way anything we change in all.sh, such as adding tests for
programs/*/*, will be reflected here.

The build now uses GCC instead of Clang, which doesn't make much
difference in practice. The build now enables ASan and UBSan.

The tests now run compat.sh and ssl-opt.sh fully.

Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
2020-04-25 22:39:27 +02:00
Gilles Peskine
3c7ffd7a40 Travis: call all.sh for sanity checks
Different releases have different sets of sanity checks. Keep the list
in one place, namely all.sh.

Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
2020-04-25 22:39:27 +02:00
Gilles Peskine
a38f3685dc Travis: run Pylint
Declare an explicit Python version. Pick 3.5 which is the default
version on Ubuntu 16.04. This is necessary on Travis to have a working
pip for Python 3.

Install Pylint 2.4.4. There's nothing special about this version, it's
just the latest version.

Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
2020-04-25 22:39:26 +02:00
Gilles Peskine
b49a4576ae Travis: move doxygen dependencies into the "sanity" job
Only this job uses doxygen and graphviz.

Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
2020-04-25 22:39:24 +02:00
Gilles Peskine
d0f543a5dc Travis: split the build into three parallel jobs
Split the build between:
* Basic checks
* A build in the default configuration with extensive tests
* Builds in other configurations with less testing

The intent is to have one shorter job with basic tests, and two longer
jobs that take roughly the same amount of time (split as evenly as
possible while keeping an easy-to-understand separation).

Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
2020-04-25 22:34:28 +02:00
Gilles Peskine
c9cdd21a04 Travis: don't test with both gcc and clang
In practice, we hardly ever get different outcomes, so there is no
gain in running tests with different compilers.

Experimentally, with the builds and tests we currently do and with the
compiler versions on a Travis Ubuntu 16.04, gcc jobs are significantly
faster than clang jobs (13 min vs 24 min). So use gcc.

Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
2020-04-25 22:34:28 +02:00
Vikas Katariya
2bcf51a892 Update notification e-mail address 2019-09-11 17:39:38 +01:00
Vikas Katariya
fdbdc379d9 Remove blocked branches
"coverity_scan" branch is been removed as Travis shouldn't be
blocked from triggering it to run Coverity on it.

"development-psa" branch isn't used anymore and also it used to
depend on a private submodule which Travis would fail to get.
2019-09-11 17:39:38 +01:00
Vikas Katariya
0eb2d9d30a Update Coverity secure token 2019-09-10 17:22:52 +01:00
Manuel Pégourié-Gonnard
c8530dfd7e Fix the proxy seed in Travis runs
This is what we do in Jenkins, so it only makes sense to do it here as well.
This will avoid random failures for no other reason than the proxy was
dropping all the messages due to an unlucky PRNG seed.

See https://docs.travis-ci.com/user/environment-variables/ for syntax
2019-02-27 10:46:56 +01:00
Simon Butcher
3459c749fb Create a block list for Travis CI, and fix the Coverity email 2018-11-22 10:14:03 +00:00
Darryl Green
4d393b9835 Add check-files.py to travis.yml 2018-05-21 11:59:28 +01:00
Simon Butcher
6eaf3659ea Fixes Travis post-mortem script dump following review
Changes made:
 * Added copyright and project statement
 * Limited size of each file to dump to 1Mbyte
 * Changed name of script
2016-04-10 15:11:27 +01:00
Janos Follath
831a65ffa7 Make Travis more chatty.
Include the logs in the report after failing.
2016-03-21 14:52:25 +00:00
Manuel Pégourié-Gonnard
695e0ba014 Add new doxygen test to travis 2016-01-08 16:49:17 +01:00
Manuel Pégourié-Gonnard
503a5efef1 Add key-exchanges.pl to test list 2015-10-23 09:04:45 +02:00
Manuel Pégourié-Gonnard
2c99800155 Enable ccache on Travis 2015-08-04 18:06:02 +02:00
Manuel Pégourié-Gonnard
e7f635d0f1 Revert "Add valgrind tests on Travis"
This reverts commit bb0102e999.
2015-08-04 18:04:57 +02:00