Tarantool development patches archive
 help / color / mirror / Atom feed
From: Igor Munkin via Tarantool-patches <tarantool-patches@dev.tarantool.org>
To: Sergey Kaplun <skaplun@tarantool.org>,
	Maxim Kokryashkin <m.kokryashkin@tarantool.org>
Cc: tarantool-patches@dev.tarantool.org
Subject: [Tarantool-patches] [PATCH luajit 2/2] ci: use strategy matrix for integration workflow
Date: Thu, 12 Jan 2023 17:51:37 +0300	[thread overview]
Message-ID: <43adedc2ff4d7894000c986e7469b92a32cf69ba.1673534407.git.imun@tarantool.org> (raw)
In-Reply-To: <cover.1673534407.git.imun@tarantool.org>

Considering the changes made in scope of the previous commit, it has
been decided to dispatch LuaJIT integration testing to the runner the
similar way (i.e. by using the pair of <matrix.ARCH> + <matrix.OS>
values). As a result a new job with quite similar strategy matrix[1] is
added as a successor for <test-luajit> job. The new job uses the new
version (with <inputs.arch> and <inputs.os> parameters introduced and
optional <inputs.host> obsolete parameter) of LuaJIT integration
workflow from tarantool/tarantool repo.

[1]: https://docs.github.com/en/actions/using-workflows/reusing-workflows#using-a-matrix-strategy-with-a-reusable-workflow

Signed-off-by: Igor Munkin <imun@tarantool.org>
---
 .github/workflows/testing.yml | 190 ++++++----------------------------
 1 file changed, 30 insertions(+), 160 deletions(-)

diff --git a/.github/workflows/testing.yml b/.github/workflows/testing.yml
index 5558e3ea..d707ce83 100644
--- a/.github/workflows/testing.yml
+++ b/.github/workflows/testing.yml
@@ -77,173 +77,43 @@ jobs:
         run: cmake --build . --parallel --target test
         working-directory: ${{ env.BUILDDIR }}
 
-  test-tarantool-linux-x86_64-debug-wo-GC64:
-    name: Tarantool (Linux/x86_64) Debug GC64:OFF
-    needs: test-luajit
-    uses: tarantool/tarantool/.github/workflows/luajit-integration.yml@master
-    with:
-      CMAKE_EXTRA_PARAMS: >
-        -G Ninja
-        -DCMAKE_BUILD_TYPE=Debug
-        -DLUAJIT_ENABLE_GC64=OFF
-      # FIXME: This parameter is obsolete, drop it when
-      # CMAKE_EXTRA_PARAMS is activated.
-      GC64: OFF
-      # FIXME: This parameter is obsolete, drop it when
-      # CMAKE_EXTRA_PARAMS is activated.
-      buildtype: Debug
-      host: ubuntu-20.04-self-hosted
-      revision: ${{ github.sha }}
-  test-tarantool-linux-x86_64-debug-w-GC64:
-    name: Tarantool (Linux/x86_64) Debug GC64:ON
-    needs: test-luajit
-    uses: tarantool/tarantool/.github/workflows/luajit-integration.yml@master
-    with:
-      CMAKE_EXTRA_PARAMS: >
-        -G Ninja
-        -DCMAKE_BUILD_TYPE=Debug
-        -DLUAJIT_ENABLE_GC64=ON
-      # FIXME: This parameter is obsolete, drop it when
-      # CMAKE_EXTRA_PARAMS is activated.
-      GC64: ON
-      # FIXME: This parameter is obsolete, drop it when
-      # CMAKE_EXTRA_PARAMS is activated.
-      buildtype: Debug
-      host: ubuntu-20.04-self-hosted
-      revision: ${{ github.sha }}
-  test-tarantool-linux-x86_64-release-wo-GC64:
-    name: Tarantool (Linux/x86_64) Release GC64:OFF
-    needs: test-luajit
-    uses: tarantool/tarantool/.github/workflows/luajit-integration.yml@master
-    with:
-      CMAKE_EXTRA_PARAMS: >
-        -G Ninja
-        -DCMAKE_BUILD_TYPE=RelWithDebInfo
-        -DLUAJIT_ENABLE_GC64=OFF
-      # FIXME: This parameter is obsolete, drop it when
-      # CMAKE_EXTRA_PARAMS is activated.
-      GC64: OFF
-      # FIXME: This parameter is obsolete, drop it when
-      # CMAKE_EXTRA_PARAMS is activated.
-      buildtype: RelWithDebInfo
-      host: ubuntu-20.04-self-hosted
-      revision: ${{ github.sha }}
-  test-tarantool-linux-x86_64-release-w-GC64:
-    name: Tarantool (Linux/x86_64) Release GC64:ON
-    needs: test-luajit
-    uses: tarantool/tarantool/.github/workflows/luajit-integration.yml@master
-    with:
-      CMAKE_EXTRA_PARAMS: >
-        -G Ninja
-        -DCMAKE_BUILD_TYPE=RelWithDebInfo
-        -DLUAJIT_ENABLE_GC64=ON
-      # FIXME: This parameter is obsolete, drop it when
-      # CMAKE_EXTRA_PARAMS is activated.
-      GC64: ON
-      # FIXME: This parameter is obsolete, drop it when
-      # CMAKE_EXTRA_PARAMS is activated.
-      buildtype: RelWithDebInfo
-      host: ubuntu-20.04-self-hosted
-      revision: ${{ github.sha }}
-  test-tarantool-linux-aarch64-debug-w-GC64:
-    name: Tarantool (Linux/aarch64) Debug GC64:ON
-    needs: test-luajit
-    uses: tarantool/tarantool/.github/workflows/luajit-integration.yml@master
-    with:
-      CMAKE_EXTRA_PARAMS: >
-        -G Ninja
-        -DCMAKE_BUILD_TYPE=Debug
-        -DLUAJIT_ENABLE_GC64=ON
-      # FIXME: This parameter is obsolete, drop it when
-      # CMAKE_EXTRA_PARAMS is activated.
-      GC64: ON
-      # FIXME: This parameter is obsolete, drop it when
-      # CMAKE_EXTRA_PARAMS is activated.
-      buildtype: Debug
-      host: graviton
-      revision: ${{ github.sha }}
-  test-tarantool-linux-aarch64-release-w-GC64:
-    name: Tarantool (Linux/aarch64) Release GC64:ON
-    needs: test-luajit
-    uses: tarantool/tarantool/.github/workflows/luajit-integration.yml@master
-    with:
-      CMAKE_EXTRA_PARAMS: >
-        -G Ninja
-        -DCMAKE_BUILD_TYPE=RelWithDebInfo
-        -DLUAJIT_ENABLE_GC64=ON
-      # FIXME: This parameter is obsolete, drop it when
-      # CMAKE_EXTRA_PARAMS is activated.
-      GC64: ON
-      # FIXME: This parameter is obsolete, drop it when
-      # CMAKE_EXTRA_PARAMS is activated.
-      buildtype: RelWithDebInfo
-      host: graviton
-      revision: ${{ github.sha }}
-  test-tarantool-macos-x86_64-debug-w-GC64:
-    name: Tarantool (macOS/x86_64) Debug GC64:ON
-    needs: test-luajit
-    uses: tarantool/tarantool/.github/workflows/luajit-integration.yml@master
-    with:
-      CMAKE_EXTRA_PARAMS: >
-        -G Ninja
-        -DCMAKE_BUILD_TYPE=Debug
-        -DLUAJIT_ENABLE_GC64=ON
-      # FIXME: This parameter is obsolete, drop it when
-      # CMAKE_EXTRA_PARAMS is activated.
-      GC64: ON
-      # FIXME: This parameter is obsolete, drop it when
-      # CMAKE_EXTRA_PARAMS is activated.
-      buildtype: Debug
-      host: macos-11
-      revision: ${{ github.sha }}
-  test-tarantool-macos-x86_64-release-w-GC64:
-    name: Tarantool (macOS/x86_64) Release GC64:ON
-    needs: test-luajit
-    uses: tarantool/tarantool/.github/workflows/luajit-integration.yml@master
-    with:
-      CMAKE_EXTRA_PARAMS: >
-        -G Ninja
-        -DCMAKE_BUILD_TYPE=RelWithDebInfo
-        -DLUAJIT_ENABLE_GC64=ON
-      # FIXME: This parameter is obsolete, drop it when
-      # CMAKE_EXTRA_PARAMS is activated.
-      GC64: ON
-      # FIXME: This parameter is obsolete, drop it when
-      # CMAKE_EXTRA_PARAMS is activated.
-      buildtype: RelWithDebInfo
-      host: macos-11
-      revision: ${{ github.sha }}
-  test-tarantool-macos-m1-debug-w-GC64:
-    name: Tarantool (macOS/M1) Debug GC64:ON
-    needs: test-luajit
-    uses: tarantool/tarantool/.github/workflows/luajit-integration.yml@master
-    with:
-      CMAKE_EXTRA_PARAMS: >
-        -G Ninja
-        -DCMAKE_BUILD_TYPE=Debug
-        -DLUAJIT_ENABLE_GC64=ON
-      # FIXME: This parameter is obsolete, drop it when
-      # CMAKE_EXTRA_PARAMS is activated.
-      GC64: ON
-      # FIXME: This parameter is obsolete, drop it when
-      # CMAKE_EXTRA_PARAMS is activated.
-      buildtype: Debug
-      host: macos-11-m1
-      revision: ${{ github.sha }}
-  test-tarantool-macos-m1-release-w-GC64:
-    name: Tarantool (macOS/M1) Release GC64:ON
+
+  test-tarantool:
+    strategy:
+      fail-fast: false
+      matrix:
+        ARCH: [ARM64, x86_64]
+        BUILDTYPE: [Debug, Release]
+        GC64: [ON, OFF]
+        OS: [Linux, macOS]
+        include:
+          - BUILDTYPE: Debug
+            CMAKEFLAGS: -DCMAKE_BUILD_TYPE=Debug
+          - BUILDTYPE: Release
+            CMAKEFLAGS: -DCMAKE_BUILD_TYPE=RelWithDebInfo
+        exclude:
+          - ARCH: ARM64
+            GC64: OFF
+          - OS: macOS
+            GC64: OFF
+    name: >
+      Tarantool
+      (${{ matrix.OS }}/${{ matrix.ARCH }})
+      ${{ matrix.BUILDTYPE }}
+      GC64:${{ matrix.GC64 }}
     needs: test-luajit
     uses: tarantool/tarantool/.github/workflows/luajit-integration.yml@master
     with:
       CMAKE_EXTRA_PARAMS: >
         -G Ninja
-        -DCMAKE_BUILD_TYPE=RelWithDebInfo
-        -DLUAJIT_ENABLE_GC64=ON
+        ${{ matrix.CMAKEFLAGS }}
+        -DLUAJIT_ENABLE_GC64=${{ matrix.GC64 }}
       # FIXME: This parameter is obsolete, drop it when
       # CMAKE_EXTRA_PARAMS is activated.
-      GC64: ON
+      GC64: ${{ matrix.GC64 }}
+      arch: ${{ matrix.ARCH }}
+      os: ${{ matrix.OS }}
       # FIXME: This parameter is obsolete, drop it when
       # CMAKE_EXTRA_PARAMS is activated.
-      buildtype: RelWithDebInfo
-      host: macos-11-m1
+      buildtype: ${{ matrix.BUILDTYPE }}
       revision: ${{ github.sha }}
-- 
2.34.0


  parent reply	other threads:[~2023-01-12 15:07 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-01-12 14:51 [Tarantool-patches] [PATCH luajit 0/2] More enhancements in LuaJIT CI Igor Munkin via Tarantool-patches
2023-01-12 14:51 ` [Tarantool-patches] [PATCH luajit 1/2] ci: change runner dispatch for LuaJIT testing Igor Munkin via Tarantool-patches
2023-01-12 23:23   ` Maxim Kokryashkin via Tarantool-patches
2023-01-13  7:10     ` Sergey Kaplun via Tarantool-patches
2023-01-16  7:55       ` Igor Munkin via Tarantool-patches
2023-01-16 12:34         ` Maxim Kokryashkin via Tarantool-patches
2023-01-16  7:53     ` Igor Munkin via Tarantool-patches
2023-01-12 14:51 ` Igor Munkin via Tarantool-patches [this message]
2023-01-12 23:27   ` [Tarantool-patches] [PATCH luajit 2/2] ci: use strategy matrix for integration workflow Maxim Kokryashkin via Tarantool-patches
2023-01-13  7:16     ` Sergey Kaplun via Tarantool-patches
2023-01-16  8:00       ` Igor Munkin via Tarantool-patches
2023-01-16 12:35         ` Maxim Kokryashkin via Tarantool-patches
2023-01-16  7:58     ` Igor Munkin via Tarantool-patches
2023-01-18  9:24 ` [Tarantool-patches] [PATCH luajit 0/2] More enhancements in LuaJIT CI Igor Munkin via Tarantool-patches

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=43adedc2ff4d7894000c986e7469b92a32cf69ba.1673534407.git.imun@tarantool.org \
    --to=tarantool-patches@dev.tarantool.org \
    --cc=imun@tarantool.org \
    --cc=m.kokryashkin@tarantool.org \
    --cc=skaplun@tarantool.org \
    --subject='Re: [Tarantool-patches] [PATCH luajit 2/2] ci: use strategy matrix for integration workflow' \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox