Add jobs to check compilation with DPDK experimental API enabled.
This will help us catch issues for the day we need one of them.

Note: this should not be merged to master, intended for dpdk-latest
branch only.

Signed-off-by: David Marchand <[email protected]>
Signed-off-by: Ian Stokes <[email protected]>
---
Note:
- the dpdk-experimental job has been fixed,
- additionnally, this patch is a squash of patches that were updating
  Travis and GHA configuration separately,

---
 .ci/linux-build.sh                   |  8 +++++++-
 .github/workflows/build-and-test.yml | 10 +++++++---
 .travis.yml                          |  3 +++
 3 files changed, 17 insertions(+), 4 deletions(-)

diff --git a/.ci/linux-build.sh b/.ci/linux-build.sh
index 25642459bf..26cdcf26b0 100755
--- a/.ci/linux-build.sh
+++ b/.ci/linux-build.sh
@@ -7,6 +7,9 @@ CFLAGS_FOR_OVS="-g -O2"
 SPARSE_FLAGS=""
 EXTRA_OPTS="--enable-Werror"
 
+[ -z "$DPDK_EXPERIMENTAL" ] || DPDK=1
+[ -z "$DPDK_SHARED" ] || DPDK=1
+
 on_exit() {
     if [ $? = 0 ]; then
         exit
@@ -231,11 +234,14 @@ if [ "$KERNEL" ]; then
     install_kernel $KERNEL
 fi
 
-if [ "$DPDK" ] || [ "$DPDK_SHARED" ]; then
+if [ "$DPDK" ]; then
     if [ -z "$DPDK_VER" ]; then
         DPDK_VER="21.11.1"
     fi
     install_dpdk $DPDK_VER
+    if [ -n "$DPDK_EXPERIMENTAL" ]; then
+        CFLAGS_FOR_OVS="${CFLAGS_FOR_OVS} -DALLOW_EXPERIMENTAL_API"
+    fi
 fi
 
 if [ "$CC" = "clang" ]; then
diff --git a/.github/workflows/build-and-test.yml 
b/.github/workflows/build-and-test.yml
index 7a6ef52ef9..1eb123872c 100644
--- a/.github/workflows/build-and-test.yml
+++ b/.github/workflows/build-and-test.yml
@@ -16,6 +16,7 @@ jobs:
       DPDK:        ${{ matrix.dpdk }}
       DPDK_SHARED: ${{ matrix.dpdk_shared }}
       DPDK_VER:    refs/heads/main
+      DPDK_EXPERIMENTAL: ${{ matrix.dpdk_experimental }}
       KERNEL:      ${{ matrix.kernel }}
       LIBS:        ${{ matrix.libs }}
       M32:         ${{ matrix.m32 }}
@@ -91,6 +92,9 @@ jobs:
             dpdk_shared:  dpdk-shared
             opts:         --enable-shared
 
+          - compiler:     gcc
+            dpdk_experimental: dpdk-experimental
+
           - compiler:     gcc
             m32:          m32
             opts:         --disable-ssl
@@ -110,7 +114,7 @@ jobs:
         python-version: '3.9'
 
     - name: create ci signature file for the dpdk cache key
-      if:   matrix.dpdk != '' || matrix.dpdk_shared != ''
+      if:   matrix.dpdk != '' || matrix.dpdk_shared != '' || 
matrix.dpdk_experimental != ''
       # This will collect most of DPDK related lines, so hash will be different
       # if something changed in a way we're building DPDK including DPDK_VER.
       # This also allows us to use cache from any branch as long as version
@@ -120,10 +124,10 @@ jobs:
         cat dpdk-ci-signature
 
     - name: cache
-      if:   matrix.dpdk != '' || matrix.dpdk_shared != ''
+      if:   matrix.dpdk != '' || matrix.dpdk_shared != '' || 
matrix.dpdk_experimental != ''
       uses: actions/cache@v2
       env:
-        matrix_key: ${{ matrix.dpdk }}${{ matrix.dpdk_shared }}
+        matrix_key: ${{ matrix.dpdk }}${{ matrix.dpdk_shared }}${{ 
matrix.dpdk_experimental}}
         ci_key:     ${{ hashFiles('dpdk-ci-signature') }}
       with:
         path: dpdk-dir
diff --git a/.travis.yml b/.travis.yml
index cc832b17db..d06d22cede 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -38,6 +38,9 @@ matrix:
     - arch: arm64
       compiler: gcc
       env: TESTSUITE=1 DPDK=1
+    - arch: arm64
+      compiler: gcc
+      env: DPDK_EXPERIMENTAL=1
     - arch: arm64
       compiler: gcc
       env: KERNEL_LIST="5.5 4.19"
-- 
2.37.2

_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to