From 645df77176f49090af2cbd85b90b25da3d6f8f52 Mon Sep 17 00:00:00 2001 From: David Marchand Date: Fri, 2 Sep 2022 10:36:58 +0200 Subject: [PATCH] ci: Check compilation with DPDK experimental API. 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 Signed-off-by: Ian Stokes Signed-off-by: Ilya Maximets --- .ci/linux-build.sh | 8 +++++++- .github/workflows/build-and-test.yml | 6 +++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/.ci/linux-build.sh b/.ci/linux-build.sh index 702feeb3bb3..8cdccef2797 100755 --- a/.ci/linux-build.sh +++ b/.ci/linux-build.sh @@ -8,6 +8,9 @@ SPARSE_FLAGS="" EXTRA_OPTS="--enable-Werror" JOBS=${JOBS:-"-j4"} +[ -z "$DPDK_EXPERIMENTAL" ] || DPDK=1 +[ -z "$DPDK_SHARED" ] || DPDK=1 + function install_dpdk() { local DPDK_INSTALL_DIR="$(pwd)/dpdk-dir" @@ -108,8 +111,11 @@ assert ovs.json.from_string('{\"a\": 42}') == {'a': 42}" exit 0 fi -if [ "$DPDK" ] || [ "$DPDK_SHARED" ]; then +if [ "$DPDK" ]; then install_dpdk + if [ -n "$DPDK_EXPERIMENTAL" ]; then + CFLAGS_FOR_OVS="${CFLAGS_FOR_OVS} -DALLOW_EXPERIMENTAL_API" + fi fi if [ "$STD" ]; then diff --git a/.github/workflows/build-and-test.yml b/.github/workflows/build-and-test.yml index f793754160c..c21b1981275 100644 --- a/.github/workflows/build-and-test.yml +++ b/.github/workflows/build-and-test.yml @@ -84,6 +84,7 @@ jobs: CC: ${{ matrix.compiler }} DPDK: ${{ matrix.dpdk }} DPDK_SHARED: ${{ matrix.dpdk_shared }} + DPDK_EXPERIMENTAL: ${{ matrix.dpdk_experimental }} LIBS: ${{ matrix.libs }} M32: ${{ matrix.m32 }} OPTS: ${{ matrix.opts }} @@ -161,6 +162,9 @@ jobs: dpdk_shared: dpdk-shared opts: --enable-shared + - compiler: gcc + dpdk_experimental: dpdk-experimental + - compiler: gcc m32: m32 opts: --disable-ssl @@ -223,7 +227,7 @@ jobs: python-version: ${{ env.python_default }} - name: cache - if: matrix.dpdk != '' || matrix.dpdk_shared != '' + if: matrix.dpdk != '' || matrix.dpdk_shared != '' || matrix.dpdk_experimental != '' uses: actions/cache@v4 with: path: dpdk-dir