Defining the matrix as a list will make it more readable
and easy to extend also users can exclude and add new cases
without using include, exclude just add  a new combination
to the list.

Signed-off-by: Mohammad Heib <[email protected]>
---
 .github/workflows/test.yml | 55 ++++++++++++++------------------------
 1 file changed, 20 insertions(+), 35 deletions(-)

diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml
index 49c20f589..3b7283229 100644
--- a/.github/workflows/test.yml
+++ b/.github/workflows/test.yml
@@ -19,43 +19,28 @@ jobs:
         libssl-dev llvm-dev libelf-dev libnuma-dev libpcap-dev  \
         selinux-policy-dev ncat python3-scapy isc-dhcp-server
       m32_dependecies: gcc-multilib
-      CC:          ${{ matrix.compiler }}
-      LIBS:        ${{ matrix.libs }}
-      M32:         ${{ matrix.m32 }}
-      OPTS:        ${{ matrix.opts }}
-      TESTSUITE:   ${{ matrix.testsuite }}
-      SANITIZERS:  ${{ matrix.sanitizers }}
-
-    name: linux ${{ join(matrix.*, ' ') }}
+      CC:          ${{ matrix.cfg.compiler }}
+      LIBS:        ${{ matrix.cfg.libs }}
+      M32:         ${{ matrix.cfg.m32 }}
+      OPTS:        ${{ matrix.cfg.opts }}
+      TESTSUITE:   ${{ matrix.cfg.testsuite }}
+      SANITIZERS:  ${{ matrix.cfg.sanitizers }}
+
+    name: linux ${{ join(matrix.cfg.*, ' ') }}
     runs-on: ubuntu-20.04
 
     strategy:
       fail-fast: false
       matrix:
-        include:
-          - compiler:     gcc
-            opts:         --disable-ssl
-          - compiler:     clang
-            opts:         --disable-ssl
-
-          - compiler:     gcc
-            testsuite:    test
-          - compiler:     gcc
-            testsuite:    system-test
-          - compiler:     clang
-            testsuite:    test
-            sanitizers:   sanitizers
-
-          - compiler:     gcc
-            testsuite:    test
-            libs:         -ljemalloc
-          - compiler:     clang
-            testsuite:    test
-            libs:         -ljemalloc
-
-          - compiler:     gcc
-            m32:          m32
-            opts:         --disable-ssl
+        cfg:
+        - { compiler: gcc, opts: --disable-ssl }
+        - { compiler: clang, opts: --disable-ssl }
+        - { compiler: gcc, testsuite: test }
+        - { compiler: gcc, testsuite: system-test }
+        - { compiler: clang, testsuite: test, sanitizers: sanitizers }
+        - { compiler: gcc, testsuite: test, libs: -ljemalloc }
+        - { compiler: clang, testsuite: test, libs: -ljemalloc }
+        - { compiler: gcc,  m32: m32, opts: --disable-ssl}
 
     steps:
     - name: checkout
@@ -89,11 +74,11 @@ jobs:
       run:  sudo apt install -y ${{ env.dependencies }}
 
     - name: install libunbound libunwind
-      if:   matrix.m32 == ''
+      if:   matrix.cfg.m32 == ''
       run:  sudo apt install -y libunbound-dev libunwind-dev
 
     - name: install 32-bit dependencies
-      if:   matrix.m32 != ''
+      if:   matrix.cfg.m32 != ''
       run:  sudo apt install -y ${{ env.m32_dependecies }}
 
     - name: update PATH
@@ -131,7 +116,7 @@ jobs:
       if: failure() || cancelled()
       uses: actions/upload-artifact@v2
       with:
-        name: logs-linux-${{ join(matrix.*, '-') }}
+        name: logs-linux-${{ join(matrix.cfg.*, '-') }}
         path: logs.tgz
 
   build-osx:
-- 
2.34.1

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

Reply via email to