From 4c40db0f8c6336ad5ddbce9cd627d0354eb53453 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 1af3e365c44..9d5697469af 100644 --- a/.github/workflows/build-and-test.yml +++ b/.github/workflows/build-and-test.yml @@ -141,6 +141,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 }} @@ -218,6 +219,9 @@ jobs: dpdk_shared: dpdk-shared opts: --enable-shared + - compiler: gcc + dpdk_experimental: dpdk-experimental + - compiler: gcc m32: m32 opts: --disable-ssl @@ -280,7 +284,7 @@ jobs: python-version: ${{ env.python_default }} - name: DPDK cache - if: matrix.dpdk != '' || matrix.dpdk_shared != '' + if: matrix.dpdk != '' || matrix.dpdk_shared != '' || matrix.dpdk_experimental != '' uses: actions/cache@v4 with: path: dpdk-dir