diff mbox series

[ovs-dev,dpdk-latest,2/6] travis: Check compilation with DPDK experimental API.

Message ID 20210506152548.29597-3-david.marchand@redhat.com
State Accepted
Headers show
Series Rebase and fixes for 21.05. | expand

Commit Message

David Marchand May 6, 2021, 3:25 p.m. UTC
Add Travis 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 <david.marchand@redhat.com>
Signed-off-by: Ian Stokes <ian.stokes@intel.com>
---
 .ci/linux-build.sh                   |  8 +++++++-
 .github/workflows/build-and-test.yml | 10 +++++++---
 .travis.yml                          |  3 +++
 3 files changed, 17 insertions(+), 4 deletions(-)

Comments

Kevin Traynor May 10, 2021, 3:15 p.m. UTC | #1
On 06/05/2021 16:25, David Marchand wrote:
> Add Travis 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 <david.marchand@redhat.com>
> Signed-off-by: Ian Stokes <ian.stokes@intel.com>
> ---
>  .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 977449350b..c8621201ab 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
> +
>  function install_kernel()
>  {
>      if [[ "$1" =~ ^5.* ]]; then
> @@ -199,7 +202,7 @@ if [ "$KERNEL" ]; then
>      install_kernel $KERNEL
>  fi
>  
> -if [ "$DPDK" ] || [ "$DPDK_SHARED" ]; then
> +if [ "$DPDK" ]; then
>      if [ -z "$DPDK_VER" ]; then
>          DPDK_VER="20.11"
>      fi
> @@ -208,6 +211,9 @@ if [ "$DPDK" ] || [ "$DPDK_SHARED" ]; then
>          # Disregard cast alignment errors until DPDK is fixed
>          CFLAGS_FOR_OVS="${CFLAGS_FOR_OVS} -Wno-cast-align"
>      fi
> +    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 ce98a9f98f..649b1405d2 100644
> --- a/.github/workflows/build-and-test.yml
> +++ b/.github/workflows/build-and-test.yml
> @@ -17,6 +17,7 @@ jobs:
>        DEB_PACKAGE: ${{ matrix.deb_package }}
>        DPDK:        ${{ matrix.dpdk }}
>        DPDK_SHARED: ${{ matrix.dpdk_shared }}
> +      DPDK_EXPERIMENTAL: ${{ matrix.dpdk_experimental }}
>        KERNEL:      ${{ matrix.kernel }}
>        KERNEL_LIST: ${{ matrix.kernel_list }}
>        LIBS:        ${{ matrix.libs }}
> @@ -102,6 +103,9 @@ jobs:
>              dpdk_shared:  dpdk-shared
>              opts:         --enable-shared
>  
> +          - compiler:     gcc
> +            dpdk_shared:  dpdk-experimental
> +
>            - compiler:     gcc
>              m32:          m32
>              opts:         --disable-ssl
> @@ -124,7 +128,7 @@ jobs:
>          python-version: '3.x'
>  
>      - 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
> @@ -134,10 +138,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}}

minor, but fyi checkpatch is complaining about these long lines:

WARNING: Line is 91 characters long (recommended limit is 79)
#64 FILE: .github/workflows/build-and-test.yml:131:
      if:   matrix.dpdk != '' || matrix.dpdk_shared != '' ||
matrix.dpdk_experimental != ''

WARNING: Line is 91 characters long (recommended limit is 79)
#71 FILE: .github/workflows/build-and-test.yml:141:
      if:   matrix.dpdk != '' || matrix.dpdk_shared != '' ||
matrix.dpdk_experimental != ''

WARNING: Line is 93 characters long (recommended limit is 79)
#75 FILE: .github/workflows/build-and-test.yml:144:
        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 7e87360256..7f4d5d99a3 100644
> --- a/.travis.yml
> +++ b/.travis.yml
> @@ -39,6 +39,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"
>
Stokes, Ian May 12, 2021, 10:43 a.m. UTC | #2
> On 06/05/2021 16:25, David Marchand wrote:
> > Add Travis 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 <david.marchand@redhat.com>
> > Signed-off-by: Ian Stokes <ian.stokes@intel.com>
> > ---
> >  .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 977449350b..c8621201ab 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
> > +
> >  function install_kernel()
> >  {
> >      if [[ "$1" =~ ^5.* ]]; then
> > @@ -199,7 +202,7 @@ if [ "$KERNEL" ]; then
> >      install_kernel $KERNEL
> >  fi
> >
> > -if [ "$DPDK" ] || [ "$DPDK_SHARED" ]; then
> > +if [ "$DPDK" ]; then
> >      if [ -z "$DPDK_VER" ]; then
> >          DPDK_VER="20.11"
> >      fi
> > @@ -208,6 +211,9 @@ if [ "$DPDK" ] || [ "$DPDK_SHARED" ]; then
> >          # Disregard cast alignment errors until DPDK is fixed
> >          CFLAGS_FOR_OVS="${CFLAGS_FOR_OVS} -Wno-cast-align"
> >      fi
> > +    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 ce98a9f98f..649b1405d2 100644
> > --- a/.github/workflows/build-and-test.yml
> > +++ b/.github/workflows/build-and-test.yml
> > @@ -17,6 +17,7 @@ jobs:
> >        DEB_PACKAGE: ${{ matrix.deb_package }}
> >        DPDK:        ${{ matrix.dpdk }}
> >        DPDK_SHARED: ${{ matrix.dpdk_shared }}
> > +      DPDK_EXPERIMENTAL: ${{ matrix.dpdk_experimental }}
> >        KERNEL:      ${{ matrix.kernel }}
> >        KERNEL_LIST: ${{ matrix.kernel_list }}
> >        LIBS:        ${{ matrix.libs }}
> > @@ -102,6 +103,9 @@ jobs:
> >              dpdk_shared:  dpdk-shared
> >              opts:         --enable-shared
> >
> > +          - compiler:     gcc
> > +            dpdk_shared:  dpdk-experimental
> > +
> >            - compiler:     gcc
> >              m32:          m32
> >              opts:         --disable-ssl
> > @@ -124,7 +128,7 @@ jobs:
> >          python-version: '3.x'
> >
> >      - 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
> > @@ -134,10 +138,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}}
> 
> minor, but fyi checkpatch is complaining about these long lines:
> 
> WARNING: Line is 91 characters long (recommended limit is 79)
> #64 FILE: .github/workflows/build-and-test.yml:131:
>       if:   matrix.dpdk != '' || matrix.dpdk_shared != '' ||
> matrix.dpdk_experimental != ''
> 
> WARNING: Line is 91 characters long (recommended limit is 79)
> #71 FILE: .github/workflows/build-and-test.yml:141:
>       if:   matrix.dpdk != '' || matrix.dpdk_shared != '' ||
> matrix.dpdk_experimental != ''
> 
> WARNING: Line is 93 characters long (recommended limit is 79)
> #75 FILE: .github/workflows/build-and-test.yml:144:
>         matrix_key: ${{ matrix.dpdk }}${{ matrix.dpdk_shared }}${{
> matrix.dpdk_experimental}}
> 

I spotted this as well, however I'm torn, for readability is it easier to keep the same line? I wouldn't be an expert on yml, is there an easy and nice looking way to split these?

IMO, as this is just for dpdk-latest its acceptable as is above.

BR
Ian
> 
> >          ci_key:     ${{ hashFiles('dpdk-ci-signature') }}
> >        with:
> >          path: dpdk-dir
> > diff --git a/.travis.yml b/.travis.yml
> > index 7e87360256..7f4d5d99a3 100644
> > --- a/.travis.yml
> > +++ b/.travis.yml
> > @@ -39,6 +39,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"
> >
diff mbox series

Patch

diff --git a/.ci/linux-build.sh b/.ci/linux-build.sh
index 977449350b..c8621201ab 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
+
 function install_kernel()
 {
     if [[ "$1" =~ ^5.* ]]; then
@@ -199,7 +202,7 @@  if [ "$KERNEL" ]; then
     install_kernel $KERNEL
 fi
 
-if [ "$DPDK" ] || [ "$DPDK_SHARED" ]; then
+if [ "$DPDK" ]; then
     if [ -z "$DPDK_VER" ]; then
         DPDK_VER="20.11"
     fi
@@ -208,6 +211,9 @@  if [ "$DPDK" ] || [ "$DPDK_SHARED" ]; then
         # Disregard cast alignment errors until DPDK is fixed
         CFLAGS_FOR_OVS="${CFLAGS_FOR_OVS} -Wno-cast-align"
     fi
+    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 ce98a9f98f..649b1405d2 100644
--- a/.github/workflows/build-and-test.yml
+++ b/.github/workflows/build-and-test.yml
@@ -17,6 +17,7 @@  jobs:
       DEB_PACKAGE: ${{ matrix.deb_package }}
       DPDK:        ${{ matrix.dpdk }}
       DPDK_SHARED: ${{ matrix.dpdk_shared }}
+      DPDK_EXPERIMENTAL: ${{ matrix.dpdk_experimental }}
       KERNEL:      ${{ matrix.kernel }}
       KERNEL_LIST: ${{ matrix.kernel_list }}
       LIBS:        ${{ matrix.libs }}
@@ -102,6 +103,9 @@  jobs:
             dpdk_shared:  dpdk-shared
             opts:         --enable-shared
 
+          - compiler:     gcc
+            dpdk_shared:  dpdk-experimental
+
           - compiler:     gcc
             m32:          m32
             opts:         --disable-ssl
@@ -124,7 +128,7 @@  jobs:
         python-version: '3.x'
 
     - 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
@@ -134,10 +138,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 7e87360256..7f4d5d99a3 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -39,6 +39,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"