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>,
	Sergey Bronnikov <sergeyb@tarantool.org>
Cc: tarantool-patches@dev.tarantool.org
Subject: [Tarantool-patches] [PATCH luajit 7/8] ci: merge x86_64 and ARM64 workflows
Date: Thu, 11 Aug 2022 14:17:46 +0300	[thread overview]
Message-ID: <c8167fe3cfc6e42ed673298db3d04ac4582d5f9c.1660216002.git.imun@tarantool.org> (raw)
In-Reply-To: <cover.1660216002.git.imun@tarantool.org>

As a result of the previous commit, there is no difference left between
x86_64 and ARM64 workflows except the runner where workflow is run.
Hence there is no reason to have a separate workflow file for each
hardware architecture.

Signed-off-by: Igor Munkin <imun@tarantool.org>
---
 .github/workflows/linux-aarch64.yml           | 83 -----------------
 .../workflows/{linux-x86_64.yml => linux.yml} | 52 ++++++++---
 .github/workflows/macos-m1.yml                | 92 -------------------
 .../workflows/{macos-x86_64.yml => macos.yml} | 52 ++++++++---
 4 files changed, 82 insertions(+), 197 deletions(-)
 delete mode 100644 .github/workflows/linux-aarch64.yml
 rename .github/workflows/{linux-x86_64.yml => linux.yml} (69%)
 delete mode 100644 .github/workflows/macos-m1.yml
 rename .github/workflows/{macos-x86_64.yml => macos.yml} (73%)

diff --git a/.github/workflows/linux-aarch64.yml b/.github/workflows/linux-aarch64.yml
deleted file mode 100644
index 21d86764..00000000
--- a/.github/workflows/linux-aarch64.yml
+++ /dev/null
@@ -1,83 +0,0 @@
-name: "Linux/aarch64 test workflow"
-
-on:
-  push:
-    branches-ignore:
-      - '**-notest'
-      - 'upstream-**'
-    tags-ignore:
-      - '**'
-
-concurrency:
-  # An update of a developer branch cancels the previously
-  # scheduled workflow run for this branch. However, the default
-  # branch, and long-term branch (tarantool-1.10, tarantool-2.8,
-  # etc.) workflow runs are never canceled.
-  #
-  # We use a trick here: define the concurrency group as 'workflow
-  # run ID' + # 'workflow run attempt' because it is a unique
-  # combination for any run. So it effectively discards grouping.
-  #
-  # XXX: we cannot use `github.sha` as a unique identifier because
-  # pushing a tag may cancel a run that works on a branch push
-  # event.
-  group: ${{ (
-    github.ref == 'refs/heads/tarantool' ||
-    startsWith(github.ref, 'refs/heads/tarantool-')) &&
-    format('{0}-{1}', github.run_id, github.run_attempt) ||
-    format('{0}-{1}', github.workflow, github.ref) }}
-  cancel-in-progress: true
-
-jobs:
-  test-luajit:
-    runs-on: graviton
-    strategy:
-      fail-fast: false
-      matrix:
-        BUILDTYPE: [Debug, Release]
-        include:
-          - BUILDTYPE: Debug
-            CMAKEFLAGS: -DCMAKE_BUILD_TYPE=Debug -DLUA_USE_ASSERT=ON -DLUA_USE_APICHECK=ON
-          - BUILDTYPE: Release
-            CMAKEFLAGS: -DCMAKE_BUILD_TYPE=RelWithDebInfo
-    name: LuaJIT ${{ matrix.BUILDTYPE }} GC64:ON
-    steps:
-      - uses: actions/checkout@v2.3.4
-        with:
-          fetch-depth: 0
-          submodules: recursive
-      - name: environment
-        uses: ./.github/actions/environment
-      - name: setup
-        run: |
-          sudo apt -y update
-          sudo apt -y install cmake gcc make perl
-      - name: configure
-        run: >
-          cmake -S . -B ${{ env.BUILDDIR }}
-          ${{ matrix.CMAKEFLAGS }}
-      - name: build
-        run: cmake --build . --parallel
-        working-directory: ${{ env.BUILDDIR }}
-      - name: test
-        run: cmake --build . --parallel --target test
-        working-directory: ${{ env.BUILDDIR }}
-
-  test-tarantool-debug-w-GC64:
-    name: Tarantool Debug GC64:ON
-    needs: test-luajit
-    uses: tarantool/tarantool/.github/workflows/luajit-integration.yml@master
-    with:
-      GC64: ON
-      buildtype: Debug
-      host: graviton
-      revision: ${{ github.sha }}
-  test-tarantool-release-w-GC64:
-    name: Tarantool Release GC64:ON
-    needs: test-luajit
-    uses: tarantool/tarantool/.github/workflows/luajit-integration.yml@master
-    with:
-      GC64: ON
-      buildtype: RelWithDebInfo
-      host: graviton
-      revision: ${{ github.sha }}
diff --git a/.github/workflows/linux-x86_64.yml b/.github/workflows/linux.yml
similarity index 69%
rename from .github/workflows/linux-x86_64.yml
rename to .github/workflows/linux.yml
index 4c3ad4c7..125c8708 100644
--- a/.github/workflows/linux-x86_64.yml
+++ b/.github/workflows/linux.yml
@@ -1,4 +1,4 @@
-name: "Linux/x86_64 test workflow"
+name: "Linux test workflow"
 
 on:
   push:
@@ -30,18 +30,30 @@ concurrency:
 
 jobs:
   test-luajit:
-    runs-on: ubuntu-20.04-self-hosted
     strategy:
       fail-fast: false
       matrix:
+        ARCH: [aarch64, x86_64]
         BUILDTYPE: [Debug, Release]
         GC64: [ON, OFF]
         include:
+          - ARCH: aarch64
+            RUNNER: graviton
+          - ARCH: x86_64
+            RUNNER: ubuntu-20.04-self-hosted
           - BUILDTYPE: Debug
             CMAKEFLAGS: -DCMAKE_BUILD_TYPE=Debug -DLUA_USE_ASSERT=ON -DLUA_USE_APICHECK=ON
           - BUILDTYPE: Release
             CMAKEFLAGS: -DCMAKE_BUILD_TYPE=RelWithDebInfo
-    name: LuaJIT ${{ matrix.BUILDTYPE }} GC64:${{ matrix.GC64 }}
+        exclude:
+          - ARCH: aarch64
+            GC64: OFF
+    runs-on: ${{ matrix.RUNNER }}
+    name: >
+      LuaJIT
+      ${{ matrix.ARCH }}
+      ${{ matrix.BUILDTYPE }}
+      GC64:${{ matrix.GC64 }}
     steps:
       - uses: actions/checkout@v2.3.4
         with:
@@ -65,8 +77,8 @@ jobs:
         run: cmake --build . --parallel --target test
         working-directory: ${{ env.BUILDDIR }}
 
-  test-tarantool-debug-wo-GC64:
-    name: Tarantool Debug GC64:OFF
+  test-tarantool-x86_64-debug-wo-GC64:
+    name: Tarantool x86_64 Debug GC64:OFF
     needs: test-luajit
     uses: tarantool/tarantool/.github/workflows/luajit-integration.yml@master
     with:
@@ -74,8 +86,8 @@ jobs:
       buildtype: Debug
       host: ubuntu-20.04-self-hosted
       revision: ${{ github.sha }}
-  test-tarantool-debug-w-GC64:
-    name: Tarantool Debug GC64:ON
+  test-tarantool-x86_64-debug-w-GC64:
+    name: Tarantool x86_64 Debug GC64:ON
     needs: test-luajit
     uses: tarantool/tarantool/.github/workflows/luajit-integration.yml@master
     with:
@@ -83,8 +95,8 @@ jobs:
       buildtype: Debug
       host: ubuntu-20.04-self-hosted
       revision: ${{ github.sha }}
-  test-tarantool-release-wo-GC64:
-    name: Tarantool Release GC64:OFF
+  test-tarantool-x86_64-release-wo-GC64:
+    name: Tarantool x86_64 Release GC64:OFF
     needs: test-luajit
     uses: tarantool/tarantool/.github/workflows/luajit-integration.yml@master
     with:
@@ -92,8 +104,8 @@ jobs:
       buildtype: RelWithDebInfo
       host: ubuntu-20.04-self-hosted
       revision: ${{ github.sha }}
-  test-tarantool-release-w-GC64:
-    name: Tarantool Release GC64:ON
+  test-tarantool-x86_64-release-w-GC64:
+    name: Tarantool x86_64 Release GC64:ON
     needs: test-luajit
     uses: tarantool/tarantool/.github/workflows/luajit-integration.yml@master
     with:
@@ -101,3 +113,21 @@ jobs:
       buildtype: RelWithDebInfo
       host: ubuntu-20.04-self-hosted
       revision: ${{ github.sha }}
+  test-tarantool-aarch64-debug-w-GC64:
+    name: Tarantool aarch64 Debug GC64:ON
+    needs: test-luajit
+    uses: tarantool/tarantool/.github/workflows/luajit-integration.yml@master
+    with:
+      GC64: ON
+      buildtype: Debug
+      host: graviton
+      revision: ${{ github.sha }}
+  test-tarantool-aarch64-release-w-GC64:
+    name: Tarantool aarch64 Release GC64:ON
+    needs: test-luajit
+    uses: tarantool/tarantool/.github/workflows/luajit-integration.yml@master
+    with:
+      GC64: ON
+      buildtype: RelWithDebInfo
+      host: graviton
+      revision: ${{ github.sha }}
diff --git a/.github/workflows/macos-m1.yml b/.github/workflows/macos-m1.yml
deleted file mode 100644
index 4e1275f7..00000000
--- a/.github/workflows/macos-m1.yml
+++ /dev/null
@@ -1,92 +0,0 @@
-name: "macOS/m1 test workflow"
-
-on:
-  push:
-    branches-ignore:
-      - '**-notest'
-      - 'upstream-**'
-    tags-ignore:
-      - '**'
-
-concurrency:
-  # An update of a developer branch cancels the previously
-  # scheduled workflow run for this branch. However, the default
-  # branch, and long-term branch (tarantool-1.10, tarantool-2.8,
-  # etc.) workflow runs are never canceled.
-  #
-  # We use a trick here: define the concurrency group as 'workflow
-  # run ID' + # 'workflow run attempt' because it is a unique
-  # combination for any run. So it effectively discards grouping.
-  #
-  # XXX: we cannot use `github.sha` as a unique identifier because
-  # pushing a tag may cancel a run that works on a branch push
-  # event.
-  group: ${{ (
-    github.ref == 'refs/heads/tarantool' ||
-    startsWith(github.ref, 'refs/heads/tarantool-')) &&
-    format('{0}-{1}', github.run_id, github.run_attempt) ||
-    format('{0}-{1}', github.workflow, github.ref) }}
-  cancel-in-progress: true
-
-jobs:
-  test-luajit:
-    runs-on: macos-11-m1
-    strategy:
-      fail-fast: false
-      matrix:
-        BUILDTYPE: [Debug, Release]
-        include:
-          - BUILDTYPE: Debug
-            CMAKEFLAGS: -DCMAKE_BUILD_TYPE=Debug -DLUA_USE_ASSERT=ON -DLUA_USE_APICHECK=ON
-          - BUILDTYPE: Release
-            CMAKEFLAGS: -DCMAKE_BUILD_TYPE=RelWithDebInfo
-    name: LuaJIT ${{ matrix.BUILDTYPE }} GC64:ON
-    steps:
-      - uses: actions/checkout@v2.3.4
-        with:
-          fetch-depth: 0
-          submodules: recursive
-      - name: environment
-        uses: ./.github/actions/environment
-      - name: setup
-        run: |
-          # Install brew using the command from Homebrew repository
-          # instructions: https://github.com/Homebrew/install.
-          # XXX: 'echo' command below is required since brew installation
-          # script obliges the one to enter a newline for confirming the
-          # installation via Ruby script.
-          brew update ||
-            echo | /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
-          # Try to install the packages either upgrade it to avoid of fails
-          # if the package already exists with the previous version.
-          brew install --force cmake gcc make perl ||
-            brew upgrade cmake gcc make perl
-      - name: configure
-        run: >
-          cmake -S . -B ${{ env.BUILDDIR }}
-          ${{ matrix.CMAKEFLAGS }}
-      - name: build
-        run: cmake --build . --parallel
-        working-directory: ${{ env.BUILDDIR }}
-      - name: test
-        run: cmake --build . --parallel --target test
-        working-directory: ${{ env.BUILDDIR }}
-
-  test-tarantool-debug-w-GC64:
-    name: Tarantool Debug GC64:ON
-    needs: test-luajit
-    uses: tarantool/tarantool/.github/workflows/luajit-integration.yml@master
-    with:
-      GC64: ON
-      buildtype: Debug
-      host: macos-11-m1
-      revision: ${{ github.sha }}
-  test-tarantool-release-w-GC64:
-    name: Tarantool Release GC64:ON
-    needs: test-luajit
-    uses: tarantool/tarantool/.github/workflows/luajit-integration.yml@master
-    with:
-      GC64: ON
-      buildtype: RelWithDebInfo
-      host: macos-11-m1
-      revision: ${{ github.sha }}
diff --git a/.github/workflows/macos-x86_64.yml b/.github/workflows/macos.yml
similarity index 73%
rename from .github/workflows/macos-x86_64.yml
rename to .github/workflows/macos.yml
index 3d2cf581..2fa97f1e 100644
--- a/.github/workflows/macos-x86_64.yml
+++ b/.github/workflows/macos.yml
@@ -1,4 +1,4 @@
-name: "macOS/x86_64 test workflow"
+name: "macOS test workflow"
 
 on:
   push:
@@ -30,18 +30,30 @@ concurrency:
 
 jobs:
   test-luajit:
-    runs-on: macos-11
     strategy:
       fail-fast: false
       matrix:
+        ARCH: [M1, x86_64]
         BUILDTYPE: [Debug, Release]
         GC64: [ON, OFF]
         include:
+          - ARCH: M1
+            RUNNER: macos-11-m1
+          - ARCH: x86_64
+            RUNNER: macos-11
           - BUILDTYPE: Debug
             CMAKEFLAGS: -DCMAKE_BUILD_TYPE=Debug -DLUA_USE_ASSERT=ON -DLUA_USE_APICHECK=ON
           - BUILDTYPE: Release
             CMAKEFLAGS: -DCMAKE_BUILD_TYPE=RelWithDebInfo
-    name: LuaJIT ${{ matrix.BUILDTYPE }} GC64:${{ matrix.GC64 }}
+        exclude:
+          - ARCH: M1
+            GC64: OFF
+    runs-on: ${{ matrix.RUNNER }}
+    name: >
+      LuaJIT
+      ${{ matrix.ARCH }}
+      ${{ matrix.BUILDTYPE }}
+      GC64:${{ matrix.GC64 }}
     steps:
       - uses: actions/checkout@v2.3.4
         with:
@@ -74,8 +86,8 @@ jobs:
         run: cmake --build . --parallel --target test
         working-directory: ${{ env.BUILDDIR }}
 
-  test-tarantool-debug-wo-GC64:
-    name: Tarantool Debug GC64:OFF
+  test-tarantool-x86_64-debug-wo-GC64:
+    name: Tarantool x86_64 Debug GC64:OFF
     needs: test-luajit
     uses: tarantool/tarantool/.github/workflows/luajit-integration.yml@master
     with:
@@ -83,8 +95,8 @@ jobs:
       buildtype: Debug
       host: macos-11
       revision: ${{ github.sha }}
-  test-tarantool-debug-w-GC64:
-    name: Tarantool Debug GC64:ON
+  test-tarantool-x86_64-debug-w-GC64:
+    name: Tarantool x86_64 Debug GC64:ON
     needs: test-luajit
     uses: tarantool/tarantool/.github/workflows/luajit-integration.yml@master
     with:
@@ -92,8 +104,8 @@ jobs:
       buildtype: Debug
       host: macos-11
       revision: ${{ github.sha }}
-  test-tarantool-release-wo-GC64:
-    name: Tarantool Release GC64:OFF
+  test-tarantool-x86_64-release-wo-GC64:
+    name: Tarantool x86_64 Release GC64:OFF
     needs: test-luajit
     uses: tarantool/tarantool/.github/workflows/luajit-integration.yml@master
     with:
@@ -101,8 +113,8 @@ jobs:
       buildtype: RelWithDebInfo
       host: macos-11
       revision: ${{ github.sha }}
-  test-tarantool-release-w-GC64:
-    name: Tarantool Release GC64:ON
+  test-tarantool-x86_64-release-w-GC64:
+    name: Tarantool x86_64 Release GC64:ON
     needs: test-luajit
     uses: tarantool/tarantool/.github/workflows/luajit-integration.yml@master
     with:
@@ -110,3 +122,21 @@ jobs:
       buildtype: RelWithDebInfo
       host: macos-11
       revision: ${{ github.sha }}
+  test-tarantool-m1-debug-w-GC64:
+    name: Tarantool M1 Debug GC64:ON
+    needs: test-luajit
+    uses: tarantool/tarantool/.github/workflows/luajit-integration.yml@master
+    with:
+      GC64: ON
+      buildtype: Debug
+      host: macos-11-m1
+      revision: ${{ github.sha }}
+  test-tarantool-m1-release-w-GC64:
+    name: Tarantool M1 Release GC64:ON
+    needs: test-luajit
+    uses: tarantool/tarantool/.github/workflows/luajit-integration.yml@master
+    with:
+      GC64: ON
+      buildtype: RelWithDebInfo
+      host: macos-11-m1
+      revision: ${{ github.sha }}
-- 
2.34.0


  parent reply	other threads:[~2022-08-11 11:31 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-08-11 11:17 [Tarantool-patches] [PATCH luajit 0/8] LuaJIT tests and CI enhancements Igor Munkin via Tarantool-patches
2022-08-11 11:17 ` [Tarantool-patches] [PATCH luajit 1/8] test: introduce LUAJIT_TEST_VARDIR variable Igor Munkin via Tarantool-patches
2022-08-15 12:08   ` Sergey Bronnikov via Tarantool-patches
2022-08-18  8:27     ` Sergey Kaplun via Tarantool-patches
2022-08-31 14:53     ` Igor Munkin via Tarantool-patches
2022-09-02 12:06       ` Sergey Bronnikov via Tarantool-patches
2022-10-05 19:51         ` Igor Munkin via Tarantool-patches
2022-08-11 11:17 ` [Tarantool-patches] [PATCH luajit 2/8] test: introduce MakeLuaPath.cmake helper Igor Munkin via Tarantool-patches
2022-08-15 12:08   ` Sergey Bronnikov via Tarantool-patches
2022-08-31 15:07     ` Igor Munkin via Tarantool-patches
2022-09-02 12:09       ` Sergey Bronnikov via Tarantool-patches
2022-08-18  9:37   ` Sergey Kaplun via Tarantool-patches
2022-08-31 15:19     ` Igor Munkin via Tarantool-patches
2022-09-01 10:16       ` Sergey Kaplun via Tarantool-patches
2022-08-11 11:17 ` [Tarantool-patches] [PATCH luajit 3/8] test: fix tarantool suite for out of source build Igor Munkin via Tarantool-patches
2022-08-15 12:10   ` Sergey Bronnikov via Tarantool-patches
2022-08-18  9:49   ` Sergey Kaplun via Tarantool-patches
2022-08-31 17:20     ` Igor Munkin via Tarantool-patches
2022-08-11 11:17 ` [Tarantool-patches] [PATCH luajit 4/8] ci: use out of source build in GitHub Actions Igor Munkin via Tarantool-patches
2022-08-15 12:13   ` Sergey Bronnikov via Tarantool-patches
2022-08-18  9:58     ` Sergey Kaplun via Tarantool-patches
2022-08-31 15:34       ` Igor Munkin via Tarantool-patches
2022-08-31 15:33     ` Igor Munkin via Tarantool-patches
2022-09-02 12:09       ` Sergey Bronnikov via Tarantool-patches
2022-08-11 11:17 ` [Tarantool-patches] [PATCH luajit 5/8] ci: remove excess parallel level setup Igor Munkin via Tarantool-patches
2022-08-15 12:14   ` Sergey Bronnikov via Tarantool-patches
2022-08-18 10:09   ` Sergey Kaplun via Tarantool-patches
2022-08-11 11:17 ` [Tarantool-patches] [PATCH luajit 6/8] ci: remove arch prefix for macOS M1 workflow Igor Munkin via Tarantool-patches
2022-08-15 12:17   ` Sergey Bronnikov via Tarantool-patches
2022-08-18 10:14   ` Sergey Kaplun via Tarantool-patches
2022-08-31 15:55     ` Igor Munkin via Tarantool-patches
2022-08-11 11:17 ` Igor Munkin via Tarantool-patches [this message]
2022-08-15 12:22   ` [Tarantool-patches] [PATCH luajit 7/8] ci: merge x86_64 and ARM64 workflows Sergey Bronnikov via Tarantool-patches
2022-08-18 10:21   ` Sergey Kaplun via Tarantool-patches
2022-08-31 16:02     ` Igor Munkin via Tarantool-patches
2022-08-11 11:17 ` [Tarantool-patches] [PATCH luajit 8/8] ci: merge Linux and macOS workflows Igor Munkin via Tarantool-patches
2022-08-15 12:27   ` Sergey Bronnikov via Tarantool-patches
2022-08-18 10:32   ` Sergey Kaplun via Tarantool-patches
2022-11-11  8:56 ` [Tarantool-patches] [PATCH luajit 0/8] LuaJIT tests and CI enhancements 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=c8167fe3cfc6e42ed673298db3d04ac4582d5f9c.1660216002.git.imun@tarantool.org \
    --to=tarantool-patches@dev.tarantool.org \
    --cc=imun@tarantool.org \
    --cc=sergeyb@tarantool.org \
    --cc=skaplun@tarantool.org \
    --subject='Re: [Tarantool-patches] [PATCH luajit 7/8] ci: merge x86_64 and ARM64 workflows' \
    /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