diff mbox series

[ovs-dev,v2,2/9] ci: Add make check-kernel to GitHub actions ci.

Message ID 170108872583.394857.15164004074503358207.stgit@ebuild
State Changes Requested
Headers show
Series ci: Add remaining check tests to GitHub actions. | expand

Checks

Context Check Description
ovsrobot/apply-robot success apply and check: success
ovsrobot/github-robot-_Build_and_Test fail github build: failed
ovsrobot/intel-ovs-compilation success test: success

Commit Message

Eelco Chaudron Nov. 27, 2023, 12:38 p.m. UTC
Signed-off-by: Eelco Chaudron <echaudro@redhat.com>
---
 .ci/linux-build.sh                   |    8 ++++++--
 .github/workflows/build-and-test.yml |   15 ++++++++++++---
 python/test_requirements.txt         |    4 +++-
 3 files changed, 21 insertions(+), 6 deletions(-)

Comments

Ilya Maximets Nov. 27, 2023, 6:03 p.m. UTC | #1
On 11/27/23 13:38, Eelco Chaudron wrote:

Some minimal commit message would be nice, since this patch
contains several design decisions that may use justification,
e.g. split of the testsuite in two parts, base image upgrade
and new dependencies.

> Signed-off-by: Eelco Chaudron <echaudro@redhat.com>
> ---
>  .ci/linux-build.sh                   |    8 ++++++--
>  .github/workflows/build-and-test.yml |   15 ++++++++++++---
>  python/test_requirements.txt         |    4 +++-
>  3 files changed, 21 insertions(+), 6 deletions(-)
> 
> diff --git a/.ci/linux-build.sh b/.ci/linux-build.sh
> index e9e1e24b5..4f2e36610 100755
> --- a/.ci/linux-build.sh
> +++ b/.ci/linux-build.sh
> @@ -129,13 +129,17 @@ else
>      build_ovs
>      for testsuite in $TESTSUITE; do
>          run_as_root=
> +        if [ "$testsuite" != "check" ] && \
> +           [ "$testsuite" != "check-ovsdb-cluster" ] ; then
> +            run_as_root="sudo -E PATH=$PATH"
> +        fi

:)
I made a comment in the previous patch about this.
Should be part of the previous patch?

>          if [ "${testsuite##*dpdk}" != "$testsuite" ]; then
>              sudo sh -c 'echo 1024 > /proc/sys/vm/nr_hugepages' || true
>              [ "$(cat /proc/sys/vm/nr_hugepages)" = '1024' ]
>              export DPDK_EAL_OPTIONS="--lcores 0@1,1@1,2@1"
> -            run_as_root="sudo -E PATH=$PATH"
>          fi
> -        $run_as_root make $testsuite TESTSUITEFLAGS=$JOBS RECHECK=yes
> +        $run_as_root make $testsuite TESTSUITEFLAGS="$JOBS $TEST_RANGE" \
> +                                     RECHECK=yes
>      done
>  fi
>  
> diff --git a/.github/workflows/build-and-test.yml b/.github/workflows/build-and-test.yml
> index 5d441157c..0b881ca91 100644
> --- a/.github/workflows/build-and-test.yml
> +++ b/.github/workflows/build-and-test.yml
> @@ -12,7 +12,7 @@ jobs:
>      name: dpdk gcc
>      outputs:
>        dpdk_key: ${{ steps.gen_dpdk_key.outputs.key }}
> -    runs-on: ubuntu-20.04
> +    runs-on: ubuntu-22.04

I think, it makes sense to move the base image update to a separate
patch.  We'll need to backport that to older branches as well at some
point as 20.04 will go EOL next year.

>      timeout-minutes: 30
>  
>      steps:
> @@ -76,7 +76,8 @@ jobs:
>      env:
>        dependencies: |
>          automake libtool gcc bc libjemalloc2 libjemalloc-dev libssl-dev \
> -        llvm-dev libnuma-dev libpcap-dev selinux-policy-dev libbpf-dev
> +        llvm-dev libnuma-dev libpcap-dev selinux-policy-dev libbpf-dev \
> +        lftp libreswan
>        ASAN:        ${{ matrix.asan }}
>        UBSAN:       ${{ matrix.ubsan }}
>        CC:          ${{ matrix.compiler }}
> @@ -87,9 +88,10 @@ jobs:
>        OPTS:        ${{ matrix.opts }}
>        STD:         ${{ matrix.std }}
>        TESTSUITE:   ${{ matrix.testsuite }}
> +      TEST_RANGE:  ${{ matrix.test_range }}
>  
>      name: linux ${{ join(matrix.*, ' ') }}
> -    runs-on: ubuntu-20.04
> +    runs-on: ubuntu-22.04
>      timeout-minutes: 30
>  
>      strategy:
> @@ -167,6 +169,13 @@ jobs:
>            - compiler:     gcc
>              testsuite:    check-ovsdb-cluster
>  
> +          - compiler:     gcc
> +            testsuite:    check-kernel
> +            test_range:   "-100"
> +          - compiler:     gcc
> +            testsuite:    check-kernel
> +            test_range:   "100-"
> +
>      steps:
>      - name: checkout
>        uses: actions/checkout@v3
> diff --git a/python/test_requirements.txt b/python/test_requirements.txt
> index 6aaee13e3..c85ce41ad 100644
> --- a/python/test_requirements.txt
> +++ b/python/test_requirements.txt
> @@ -1,3 +1,5 @@
> -pytest
>  netaddr
> +pyftpdlib
>  pyparsing
> +pytest
> +tftpy
> 
> _______________________________________________
> dev mailing list
> dev@openvswitch.org
> https://mail.openvswitch.org/mailman/listinfo/ovs-dev
>
Eelco Chaudron Nov. 28, 2023, 7:41 a.m. UTC | #2
On 27 Nov 2023, at 19:03, Ilya Maximets wrote:

> On 11/27/23 13:38, Eelco Chaudron wrote:
>
> Some minimal commit message would be nice, since this patch
> contains several design decisions that may use justification,
> e.g. split of the testsuite in two parts, base image upgrade
> and new dependencies.

ACK, will add it.

>> Signed-off-by: Eelco Chaudron <echaudro@redhat.com>
>> ---
>>  .ci/linux-build.sh                   |    8 ++++++--
>>  .github/workflows/build-and-test.yml |   15 ++++++++++++---
>>  python/test_requirements.txt         |    4 +++-
>>  3 files changed, 21 insertions(+), 6 deletions(-)
>>
>> diff --git a/.ci/linux-build.sh b/.ci/linux-build.sh
>> index e9e1e24b5..4f2e36610 100755
>> --- a/.ci/linux-build.sh
>> +++ b/.ci/linux-build.sh
>> @@ -129,13 +129,17 @@ else
>>      build_ovs
>>      for testsuite in $TESTSUITE; do
>>          run_as_root=
>> +        if [ "$testsuite" != "check" ] && \
>> +           [ "$testsuite" != "check-ovsdb-cluster" ] ; then
>> +            run_as_root="sudo -E PATH=$PATH"
>> +        fi
>
> :)
> I made a comment in the previous patch about this.
> Should be part of the previous patch?

ACK will move it to the previous patch.

>>          if [ "${testsuite##*dpdk}" != "$testsuite" ]; then
>>              sudo sh -c 'echo 1024 > /proc/sys/vm/nr_hugepages' || true
>>              [ "$(cat /proc/sys/vm/nr_hugepages)" = '1024' ]
>>              export DPDK_EAL_OPTIONS="--lcores 0@1,1@1,2@1"
>> -            run_as_root="sudo -E PATH=$PATH"
>>          fi
>> -        $run_as_root make $testsuite TESTSUITEFLAGS=$JOBS RECHECK=yes
>> +        $run_as_root make $testsuite TESTSUITEFLAGS="$JOBS $TEST_RANGE" \
>> +                                     RECHECK=yes
>>      done
>>  fi
>>
>> diff --git a/.github/workflows/build-and-test.yml b/.github/workflows/build-and-test.yml
>> index 5d441157c..0b881ca91 100644
>> --- a/.github/workflows/build-and-test.yml
>> +++ b/.github/workflows/build-and-test.yml
>> @@ -12,7 +12,7 @@ jobs:
>>      name: dpdk gcc
>>      outputs:
>>        dpdk_key: ${{ steps.gen_dpdk_key.outputs.key }}
>> -    runs-on: ubuntu-20.04
>> +    runs-on: ubuntu-22.04
>
> I think, it makes sense to move the base image update to a separate
> patch.  We'll need to backport that to older branches as well at some
> point as 20.04 will go EOL next year.

ACK will add it as a seperate one.

>>      timeout-minutes: 30
>>
>>      steps:
>> @@ -76,7 +76,8 @@ jobs:
>>      env:
>>        dependencies: |
>>          automake libtool gcc bc libjemalloc2 libjemalloc-dev libssl-dev \
>> -        llvm-dev libnuma-dev libpcap-dev selinux-policy-dev libbpf-dev
>> +        llvm-dev libnuma-dev libpcap-dev selinux-policy-dev libbpf-dev \
>> +        lftp libreswan
>>        ASAN:        ${{ matrix.asan }}
>>        UBSAN:       ${{ matrix.ubsan }}
>>        CC:          ${{ matrix.compiler }}
>> @@ -87,9 +88,10 @@ jobs:
>>        OPTS:        ${{ matrix.opts }}
>>        STD:         ${{ matrix.std }}
>>        TESTSUITE:   ${{ matrix.testsuite }}
>> +      TEST_RANGE:  ${{ matrix.test_range }}
>>
>>      name: linux ${{ join(matrix.*, ' ') }}
>> -    runs-on: ubuntu-20.04
>> +    runs-on: ubuntu-22.04
>>      timeout-minutes: 30
>>
>>      strategy:
>> @@ -167,6 +169,13 @@ jobs:
>>            - compiler:     gcc
>>              testsuite:    check-ovsdb-cluster
>>
>> +          - compiler:     gcc
>> +            testsuite:    check-kernel
>> +            test_range:   "-100"
>> +          - compiler:     gcc
>> +            testsuite:    check-kernel
>> +            test_range:   "100-"
>> +
>>      steps:
>>      - name: checkout
>>        uses: actions/checkout@v3
>> diff --git a/python/test_requirements.txt b/python/test_requirements.txt
>> index 6aaee13e3..c85ce41ad 100644
>> --- a/python/test_requirements.txt
>> +++ b/python/test_requirements.txt
>> @@ -1,3 +1,5 @@
>> -pytest
>>  netaddr
>> +pyftpdlib
>>  pyparsing
>> +pytest
>> +tftpy
>>
>> _______________________________________________
>> dev mailing list
>> dev@openvswitch.org
>> https://mail.openvswitch.org/mailman/listinfo/ovs-dev
>>
diff mbox series

Patch

diff --git a/.ci/linux-build.sh b/.ci/linux-build.sh
index e9e1e24b5..4f2e36610 100755
--- a/.ci/linux-build.sh
+++ b/.ci/linux-build.sh
@@ -129,13 +129,17 @@  else
     build_ovs
     for testsuite in $TESTSUITE; do
         run_as_root=
+        if [ "$testsuite" != "check" ] && \
+           [ "$testsuite" != "check-ovsdb-cluster" ] ; then
+            run_as_root="sudo -E PATH=$PATH"
+        fi
         if [ "${testsuite##*dpdk}" != "$testsuite" ]; then
             sudo sh -c 'echo 1024 > /proc/sys/vm/nr_hugepages' || true
             [ "$(cat /proc/sys/vm/nr_hugepages)" = '1024' ]
             export DPDK_EAL_OPTIONS="--lcores 0@1,1@1,2@1"
-            run_as_root="sudo -E PATH=$PATH"
         fi
-        $run_as_root make $testsuite TESTSUITEFLAGS=$JOBS RECHECK=yes
+        $run_as_root make $testsuite TESTSUITEFLAGS="$JOBS $TEST_RANGE" \
+                                     RECHECK=yes
     done
 fi
 
diff --git a/.github/workflows/build-and-test.yml b/.github/workflows/build-and-test.yml
index 5d441157c..0b881ca91 100644
--- a/.github/workflows/build-and-test.yml
+++ b/.github/workflows/build-and-test.yml
@@ -12,7 +12,7 @@  jobs:
     name: dpdk gcc
     outputs:
       dpdk_key: ${{ steps.gen_dpdk_key.outputs.key }}
-    runs-on: ubuntu-20.04
+    runs-on: ubuntu-22.04
     timeout-minutes: 30
 
     steps:
@@ -76,7 +76,8 @@  jobs:
     env:
       dependencies: |
         automake libtool gcc bc libjemalloc2 libjemalloc-dev libssl-dev \
-        llvm-dev libnuma-dev libpcap-dev selinux-policy-dev libbpf-dev
+        llvm-dev libnuma-dev libpcap-dev selinux-policy-dev libbpf-dev \
+        lftp libreswan
       ASAN:        ${{ matrix.asan }}
       UBSAN:       ${{ matrix.ubsan }}
       CC:          ${{ matrix.compiler }}
@@ -87,9 +88,10 @@  jobs:
       OPTS:        ${{ matrix.opts }}
       STD:         ${{ matrix.std }}
       TESTSUITE:   ${{ matrix.testsuite }}
+      TEST_RANGE:  ${{ matrix.test_range }}
 
     name: linux ${{ join(matrix.*, ' ') }}
-    runs-on: ubuntu-20.04
+    runs-on: ubuntu-22.04
     timeout-minutes: 30
 
     strategy:
@@ -167,6 +169,13 @@  jobs:
           - compiler:     gcc
             testsuite:    check-ovsdb-cluster
 
+          - compiler:     gcc
+            testsuite:    check-kernel
+            test_range:   "-100"
+          - compiler:     gcc
+            testsuite:    check-kernel
+            test_range:   "100-"
+
     steps:
     - name: checkout
       uses: actions/checkout@v3
diff --git a/python/test_requirements.txt b/python/test_requirements.txt
index 6aaee13e3..c85ce41ad 100644
--- a/python/test_requirements.txt
+++ b/python/test_requirements.txt
@@ -1,3 +1,5 @@ 
-pytest
 netaddr
+pyftpdlib
 pyparsing
+pytest
+tftpy