[Tarantool-patches] [PATCH luajit 7/8] ci: merge x86_64 and ARM64 workflows
Igor Munkin
imun at tarantool.org
Thu Aug 11 14:17:46 MSK 2022
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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at master
+ with:
+ GC64: ON
+ buildtype: RelWithDebInfo
+ host: macos-11-m1
+ revision: ${{ github.sha }}
--
2.34.0
More information about the Tarantool-patches
mailing list