[go: nahoru, domu]

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