ci: prune builds
Rather than build every combination, prune the builds down to things
that are really interesting:
1. for each distro and crypto lib do a vanilla build with gcc and clang
that will yeild differences in compiler versions and ossl/gcrypt versions.
Result: 8 builds
2. for each distro run a gcrypt build and test but mix compilers. This
will provide coverage with gcrypt and different compilers.
Result: 4 builds.
3. for a single distro and compiler perform builds with 3 different
ASYNC and PARTIAL read states. This will show issues with interactions
between those three states.
Result: 3 builds.
4. One build with coverage check. This will provide a consistent
baseline to track coverage from.
Result: 1 build
5. One build with scan-build enabled with ASYNC and PARTIAL enabled.
This should run scan-build on all the code that maters.
Result: 1 build.
6. Run one build with FUZZ enabled to fuzz test everything.
Result: 1 build.
Total Builds:
18
Signed-off-by: William Roberts <william.c.roberts@intel.com>
diff --git a/.travis.yml b/.travis.yml
index 43a02d5..f9da5f8 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -8,25 +8,13 @@
env:
matrix:
# ubuntu 16.04
- - DOCKER_TAG=ubuntu-16.04 WITH_CRYPTO=gcrypt
- - DOCKER_TAG=ubuntu-16.04 WITH_TCTI_ASYNC=yes WITH_TCTI_PARTIAL=yes WITH_CRYPTO=gcrypt
- - DOCKER_TAG=ubuntu-16.04 WITH_TCTI_ASYNC=yes WITH_TCTI_PARTIAL=no WITH_CRYPTO=gcrypt
- - DOCKER_TAG=ubuntu-16.04 WITH_TCTI_ASYNC=no WITH_TCTI_PARTIAL=yes WITH_CRYPTO=gcrypt
+ - DOCKER_TAG=ubuntu-16.04
# ubuntu 18.04
- - DOCKER_TAG=ubuntu-18.04 WITH_CRYPTO=gcrypt
- - DOCKER_TAG=ubuntu-18.04 WITH_TCTI_ASYNC=yes WITH_TCTI_PARTIAL=yes WITH_CRYPTO=gcrypt
- - DOCKER_TAG=ubuntu-18.04 WITH_TCTI_ASYNC=yes WITH_TCTI_PARTIAL=no WITH_CRYPTO=gcrypt
- - DOCKER_TAG=ubuntu-18.04 WITH_TCTI_ASYNC=no WITH_TCTI_PARTIAL=yes WITH_CRYPTO=gcrypt
+ - DOCKER_TAG=ubuntu-18.04
# fedora-30
- - DOCKER_TAG=fedora-30 WITH_CRYPTO=gcrypt
- - DOCKER_TAG=fedora-30 WITH_TCTI_ASYNC=yes WITH_TCTI_PARTIAL=yes WITH_CRYPTO=gcrypt
- - DOCKER_TAG=fedora-30 WITH_TCTI_ASYNC=yes WITH_TCTI_PARTIAL=no WITH_CRYPTO=gcrypt
- - DOCKER_TAG=fedora-30 WITH_TCTI_ASYNC=no WITH_TCTI_PARTIAL=yes WITH_CRYPTO=gcrypt
+ - DOCKER_TAG=fedora-30
# opensuse-leap
- - DOCKER_TAG=opensuse-leap WITH_CRYPTO=gcrypt
- - DOCKER_TAG=opensuse-leap WITH_TCTI_ASYNC=yes WITH_TCTI_PARTIAL=yes WITH_CRYPTO=gcrypt
- - DOCKER_TAG=opensuse-leap WITH_TCTI_ASYNC=yes WITH_TCTI_PARTIAL=no WITH_CRYPTO=gcrypt
- - DOCKER_TAG=opensuse-leap WITH_TCTI_ASYNC=no WITH_TCTI_PARTIAL=yes WITH_CRYPTO=gcrypt
+ - DOCKER_TAG=opensuse-leap
global:
# COVERITY_SCAN_TOKEN
@@ -36,6 +24,22 @@
matrix:
include:
+ # gcrypt testing
+ - env: DOCKER_TAG=fedora-30 WITH_CRYPTO=gcrypt
+ compiler: gcc
+ - env: DOCKER_TAG=opensuse-leap WITH_CRYPTO=gcrypt
+ compiler: clang
+ - env: DOCKER_TAG=ubuntu-16.04 WITH_CRYPTO=gcrypt
+ compiler: gcc
+ - env: DOCKER_TAG=ubuntu-18.04 WITH_CRYPTO=gcrypt
+ compiler: clang
+ # tcti async and partial read testing
+ - env: DOCKER_TAG=fedora-30 WITH_TCTI_ASYNC=yes WITH_TCTI_PARTIAL=yes WITH_CRYPTO=gcrypt
+ compiler: gcc
+ - env: DOCKER_TAG=fedora-30 WITH_TCTI_ASYNC=yes WITH_TCTI_PARTIAL=no
+ compiler: gcc
+ - env: DOCKER_TAG=fedora-30 WITH_TCTI_ASYNC=no WITH_TCTI_PARTIAL=yes
+ compiler: gcc
# coverage check
- env: DOCKER_TAG=ubuntu-18.04 ENABLE_COVERAGE=true
compiler: gcc