To prevent some jobs not running after CI scripts updates
use numbers instead of the test flags. This still allows us
to use parallelization, but without worrying about skipping
some tests by mistake.

For "test" suites use 3 parts, with 1500 tests in mind.
That should give as additional space for future tests.
Currently, there is ~1200 tests. For sanitizers use 5 parts
instead, as they are slower in general.

For "system-test" use 3 parts, with 300 tests in mind.
Currently, there is ~200 tests.

In the end this patch reduces the number of jobs by 8 to 20,
which is ok as there is a limit of 20 running in parallel [0].

[0] 
https://docs.github.com/en/actions/learn-github-actions/usage-limits-billing-and-administration#usage-limits
Signed-off-by: Ales Musil <[email protected]>
---
 .ci/linux-build.sh         |  9 ++------
 .github/workflows/test.yml | 44 ++++++++++++++++----------------------
 2 files changed, 20 insertions(+), 33 deletions(-)

diff --git a/.ci/linux-build.sh b/.ci/linux-build.sh
index 2b0782aea..dc1ca5240 100755
--- a/.ci/linux-build.sh
+++ b/.ci/linux-build.sh
@@ -47,15 +47,10 @@ else
 fi
 
 if [ "$TESTSUITE" ]; then
-    TESTSUITEFLAGS=""
-    if [[ ! -z $TESTSUITE_KW ]]; then
-        TESTSUITEFLAGS="-k $TESTSUITE_KW"
-    fi
-
     if [ "$TESTSUITE" = "system-test" ]; then
         configure_ovn $OPTS
         make -j4 || { cat config.log; exit 1; }
-        if ! sudo make -j4 check-kernel TESTSUITEFLAGS="$TESTSUITEFLAGS" 
RECHECK=yes; then
+        if ! sudo make -j4 check-kernel TESTSUITEFLAGS="$TEST_RANGE" 
RECHECK=yes; then
             # system-kmod-testsuite.log is necessary for debugging.
             cat tests/system-kmod-testsuite.log
             exit 1
@@ -67,7 +62,7 @@ if [ "$TESTSUITE" ]; then
 
         export DISTCHECK_CONFIGURE_FLAGS="$OPTS"
         if ! make distcheck CFLAGS="${COMMON_CFLAGS} ${OVN_CFLAGS}" -j4 \
-            TESTSUITEFLAGS="$TESTSUITEFLAGS -j4" RECHECK=yes
+            TESTSUITEFLAGS="-j4 $TEST_RANGE" RECHECK=yes
         then
             # testsuite.log is necessary for debugging.
             cat */_build/sub/tests/testsuite.log
diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml
index 7a59cd478..88c48dd2c 100644
--- a/.github/workflows/test.yml
+++ b/.github/workflows/test.yml
@@ -24,7 +24,7 @@ jobs:
       M32:         ${{ matrix.cfg.m32 }}
       OPTS:        ${{ matrix.cfg.opts }}
       TESTSUITE:   ${{ matrix.cfg.testsuite }}
-      TESTSUITE_KW:   ${{ matrix.cfg.testsuite_kw }}
+      TEST_RANGE:  ${{ matrix.cfg.test_range }}
       SANITIZERS:  ${{ matrix.cfg.sanitizers }}
 
     name: linux ${{ join(matrix.cfg.*, ' ') }}
@@ -36,31 +36,23 @@ jobs:
         cfg:
         - { compiler: gcc, opts: --disable-ssl }
         - { compiler: clang, opts: --disable-ssl }
-        - { compiler: gcc, testsuite: test, testsuite_kw: 
"parallelization=yes,ovn_monitor_all=yes" }
-        - { compiler: gcc, testsuite: test, testsuite_kw: 
"parallelization=yes,ovn_monitor_all=no" }
-        - { compiler: gcc, testsuite: test, testsuite_kw: 
"parallelization=no,ovn_monitor_all=yes" }
-        - { compiler: gcc, testsuite: test, testsuite_kw: 
"parallelization=no,ovn_monitor_all=no" }
-        - { compiler: gcc, testsuite: test, testsuite_kw: "!ovn-northd" }
-        - { compiler: clang, testsuite: test, sanitizers: sanitizers, 
testsuite_kw: "parallelization=yes,ovn_monitor_all=yes" }
-        - { compiler: clang, testsuite: test, sanitizers: sanitizers, 
testsuite_kw: "parallelization=yes,ovn_monitor_all=no" }
-        - { compiler: clang, testsuite: test, sanitizers: sanitizers, 
testsuite_kw: "parallelization=no,ovn_monitor_all=yes" }
-        - { compiler: clang, testsuite: test, sanitizers: sanitizers, 
testsuite_kw: "parallelization=no,ovn_monitor_all=no" }
-        - { compiler: clang, testsuite: test, sanitizers: sanitizers, 
testsuite_kw: "!ovn-northd" }
-        - { compiler: gcc, testsuite: test, libs: -ljemalloc, testsuite_kw: 
"parallelization=yes,ovn_monitor_all=yes" }
-        - { compiler: gcc, testsuite: test, libs: -ljemalloc, testsuite_kw: 
"parallelization=yes,ovn_monitor_all=no" }
-        - { compiler: gcc, testsuite: test, libs: -ljemalloc, testsuite_kw: 
"parallelization=no,ovn_monitor_all=yes" }
-        - { compiler: gcc, testsuite: test, libs: -ljemalloc, testsuite_kw: 
"parallelization=no,ovn_monitor_all=no" }
-        - { compiler: gcc, testsuite: test, libs: -ljemalloc, testsuite_kw: 
"!ovn-northd" }
-        - { compiler: clang, testsuite: test, libs: -ljemalloc, testsuite_kw: 
"parallelization=yes,ovn_monitor_all=yes" }
-        - { compiler: clang, testsuite: test, libs: -ljemalloc, testsuite_kw: 
"parallelization=yes,ovn_monitor_all=no" }
-        - { compiler: clang, testsuite: test, libs: -ljemalloc, testsuite_kw: 
"parallelization=no,ovn_monitor_all=yes" }
-        - { compiler: clang, testsuite: test, libs: -ljemalloc, testsuite_kw: 
"parallelization=no,ovn_monitor_all=no" }
-        - { compiler: clang, testsuite: test, libs: -ljemalloc, testsuite_kw: 
"!ovn-northd" }
-        - { compiler: gcc, testsuite: system-test, testsuite_kw: 
"parallelization=yes,ovn_monitor_all=yes" }
-        - { compiler: gcc, testsuite: system-test, testsuite_kw: 
"parallelization=yes,ovn_monitor_all=no" }
-        - { compiler: gcc, testsuite: system-test, testsuite_kw: 
"parallelization=no,ovn_monitor_all=yes" }
-        - { compiler: gcc, testsuite: system-test, testsuite_kw: 
"parallelization=no,ovn_monitor_all=no" }
-        - { compiler: gcc, testsuite: system-test, testsuite_kw: "!ovn-northd" 
}
+        - { compiler: gcc, testsuite: test, test_range: "-500" }
+        - { compiler: gcc, testsuite: test, test_range: "501-1000" }
+        - { compiler: gcc, testsuite: test, test_range: "1001-" }
+        - { compiler: clang, testsuite: test, sanitizers: sanitizers, 
test_range: "-300" }
+        - { compiler: clang, testsuite: test, sanitizers: sanitizers, 
test_range: "301-600" }
+        - { compiler: clang, testsuite: test, sanitizers: sanitizers, 
test_range: "601-900" }
+        - { compiler: clang, testsuite: test, sanitizers: sanitizers, 
test_range: "901-1200" }
+        - { compiler: clang, testsuite: test, sanitizers: sanitizers, 
test_range: "1201-" }
+        - { compiler: gcc, testsuite: test, libs: -ljemalloc, test_range: 
"-500" }
+        - { compiler: gcc, testsuite: test, libs: -ljemalloc, test_range: 
"501-1000" }
+        - { compiler: gcc, testsuite: test, libs: -ljemalloc, test_range: 
"1001-" }
+        - { compiler: clang, testsuite: test, libs: -ljemalloc, test_range: 
"-500" }
+        - { compiler: clang, testsuite: test, libs: -ljemalloc, test_range: 
"501-1000" }
+        - { compiler: clang, testsuite: test, libs: -ljemalloc, test_range: 
"1001-" }
+        - { compiler: gcc, testsuite: system-test, test_range: "-100" }
+        - { compiler: gcc, testsuite: system-test, test_range: "101-200" }
+        - { compiler: gcc, testsuite: system-test, test_range: "201-" }
         - { compiler: gcc,  m32: m32, opts: --disable-ssl}
 
     steps:
-- 
2.37.3

_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to