diff mbox series

[ovs-dev] CI-Actions: define matrix as a list

Message ID 20220803135436.1947027-1-mheib@redhat.com
State Accepted
Headers show
Series [ovs-dev] CI-Actions: define matrix as a list | expand

Checks

Context Check Description
ovsrobot/apply-robot success apply and check: success
ovsrobot/github-robot-_Build_and_Test success github build: passed
ovsrobot/github-robot-_ovn-kubernetes success github build: passed

Commit Message

Mohammad Heib Aug. 3, 2022, 1:54 p.m. UTC
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 <mheib@redhat.com>
---
 .github/workflows/test.yml | 55 ++++++++++++++------------------------
 1 file changed, 20 insertions(+), 35 deletions(-)

Comments

Numan Siddique Aug. 3, 2022, 9:14 p.m. UTC | #1
On Wed, Aug 3, 2022 at 9:55 AM Mohammad Heib <mheib@redhat.com> wrote:
>
> 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 <mheib@redhat.com>

Thanks.  Applied to the main branch.

Numan

> ---
>  .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
> dev@openvswitch.org
> https://mail.openvswitch.org/mailman/listinfo/ovs-dev
>
diff mbox series

Patch

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: