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
