From: Sergey Bronnikov via Tarantool-patches <tarantool-patches@dev.tarantool.org>
To: Igor Munkin <imun@tarantool.org>, Sergey Kaplun <skaplun@tarantool.org>
Cc: tarantool-patches@dev.tarantool.org
Subject: Re: [Tarantool-patches] [PATCH luajit 7/8] ci: merge x86_64 and ARM64 workflows
Date: Mon, 15 Aug 2022 15:22:09 +0300 [thread overview]
Message-ID: <7112b28b-e92f-c9c0-5d5a-2a879fa4ffde@tarantool.org> (raw)
In-Reply-To: <c8167fe3cfc6e42ed673298db3d04ac4582d5f9c.1660216002.git.imun@tarantool.org>
Looks good, LGTM
On 11.08.2022 14:17, Igor Munkin wrote:
> 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 }}
next prev parent reply other threads:[~2022-08-15 12:22 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 ` [Tarantool-patches] [PATCH luajit 7/8] ci: merge x86_64 and ARM64 workflows Igor Munkin via Tarantool-patches
2022-08-15 12:22 ` Sergey Bronnikov via Tarantool-patches [this message]
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=7112b28b-e92f-c9c0-5d5a-2a879fa4ffde@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