[Tarantool-patches] [PATCH luajit 3/3] ci: add Tarantool integration testing

Sergey Kaplun skaplun at tarantool.org
Thu Jun 23 11:45:26 MSK 2022


Hi, Igor!

Thanks for the patch!
Nice to see our CI improving!

Please consider my comments below.

On 22.06.22, Igor Munkin wrote:
> This patch introduces additional steps with Tarantool integration
> testing to all existing LuaJIT workflows. All steps invoke reusable
> workflow[1] from Tarantool repository for each matrix entry being set
> for particular LuaJIT workflow.

AFAICS, there are no workflows for different OS like Fedora, FreeBSD,
etc.. Same for integration testing workflow for Tarantool itself, plus
workflows with different compilers (gcc/clang).

Should developer still bump LuaJIT in Tarantool repo and create PR to
test full Tarantool CI?

> 
> [1]: https://github.com/tarantool/tarantool/blob/master/.github/workflows/luajit-integration.yml
> 
> Signed-off-by: Igor Munkin <imun at tarantool.org>
> ---
>  .github/workflows/linux-aarch64.yml | 25 +++++++++++++++--
>  .github/workflows/linux-x86_64.yml  | 43 +++++++++++++++++++++++++++--
>  .github/workflows/macos-m1.yml      | 25 +++++++++++++++--
>  .github/workflows/macos-x86_64.yml  | 43 +++++++++++++++++++++++++++--
>  4 files changed, 124 insertions(+), 12 deletions(-)
> 
> diff --git a/.github/workflows/linux-aarch64.yml b/.github/workflows/linux-aarch64.yml
> index de360b12..293b572e 100644
> --- a/.github/workflows/linux-aarch64.yml
> +++ b/.github/workflows/linux-aarch64.yml
> @@ -1,4 +1,4 @@
> -name: "LuaJIT test workflow (Linux/aarch64)"
> +name: "Linux/aarch64 test workflow"
>  
>  on:
>    push:
> @@ -29,7 +29,7 @@ concurrency:
>    cancel-in-progress: true
>  
>  jobs:
> -  test-linux-aarch64:
> +  test-luajit:
>      runs-on: graviton
>      strategy:
>        fail-fast: false
> @@ -40,7 +40,7 @@ jobs:
>              CMAKEFLAGS: -DCMAKE_BUILD_TYPE=Debug -DLUA_USE_ASSERT=ON -DLUA_USE_APICHECK=ON
>            - BUILDTYPE: Release
>              CMAKEFLAGS: -DCMAKE_BUILD_TYPE=RelWithDebInfo
> -    name: Linux/aarch64 ${{ matrix.BUILDTYPE }} GC64:ON
> +    name: LuaJIT ${{ matrix.BUILDTYPE }} GC64:ON
>      steps:
>        - uses: actions/checkout at v2.3.4
>          with:
> @@ -56,3 +56,22 @@ jobs:
>          run: cmake --build . --parallel $(($(nproc) + 1))
>        - name: test
>          run: cmake --build . --parallel $(($(nproc) + 1)) --target test
> +
> +  test-tarantool-debug-w-GC64:
> +    name: Tarantool Debug GC64:ON
> +    needs: test-luajit
> +    uses: tarantool/tarantool/.github/workflows/luajit-integration.yml at master

I suggest to set one variable for this to reduce copy-paste.
Also, why do you prefer copy workflows instead matrix usage?
The only thing changes here -- buildtype.

> +    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-x86_64.yml
> index d6434afe..3eaf436d 100644
> --- a/.github/workflows/linux-x86_64.yml
> +++ b/.github/workflows/linux-x86_64.yml
> @@ -1,4 +1,4 @@
> -name: "LuaJIT test workflow (Linux/x86_64)"
> +name: "Linux/x86_64 test workflow"
>  
>  on:
>    push:
> @@ -29,7 +29,7 @@ concurrency:
>    cancel-in-progress: true
>  
>  jobs:
> -  test-linux-x86_64:
> +  test-luajit:
>      runs-on: ubuntu-20.04-self-hosted
>      strategy:
>        fail-fast: false
> @@ -41,7 +41,7 @@ jobs:
>              CMAKEFLAGS: -DCMAKE_BUILD_TYPE=Debug -DLUA_USE_ASSERT=ON -DLUA_USE_APICHECK=ON
>            - BUILDTYPE: Release
>              CMAKEFLAGS: -DCMAKE_BUILD_TYPE=RelWithDebInfo
> -    name: Linux/x86_64 ${{ matrix.BUILDTYPE }} GC64:${{ matrix.GC64 }}
> +    name: LuaJIT ${{ matrix.BUILDTYPE }} GC64:${{ matrix.GC64 }}
>      steps:
>        - uses: actions/checkout at v2.3.4
>          with:
> @@ -57,3 +57,40 @@ jobs:
>          run: cmake --build . --parallel $(($(nproc) + 1))
>        - name: test
>          run: cmake --build . --parallel $(($(nproc) + 1)) --target test
> +
> +  test-tarantool-debug-wo-GC64:
> +    name: Tarantool Debug GC64:OFF
> +    needs: test-luajit
> +    uses: tarantool/tarantool/.github/workflows/luajit-integration.yml at master
> +    with:
> +      GC64: OFF

Same question here, but also with GC64 mode.

> +      buildtype: Debug
> +      host: ubuntu-20.04-self-hosted
> +      revision: ${{ github.sha }}
> +  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: ubuntu-20.04-self-hosted
> +      revision: ${{ github.sha }}
> +  test-tarantool-release-wo-GC64:
> +    name: Tarantool Release GC64:OFF
> +    needs: test-luajit
> +    uses: tarantool/tarantool/.github/workflows/luajit-integration.yml at master
> +    with:
> +      GC64: OFF
> +      buildtype: RelWithDebInfo
> +      host: ubuntu-20.04-self-hosted
> +      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: ubuntu-20.04-self-hosted
> +      revision: ${{ github.sha }}
> diff --git a/.github/workflows/macos-m1.yml b/.github/workflows/macos-m1.yml
> index a38f70f7..d305e609 100644
> --- a/.github/workflows/macos-m1.yml
> +++ b/.github/workflows/macos-m1.yml

<snipped> as far as it is kinda the same.

> diff --git a/.github/workflows/macos-x86_64.yml b/.github/workflows/macos-x86_64.yml
> index a7c2f4e3..fc28c683 100644
> --- a/.github/workflows/macos-x86_64.yml
> +++ b/.github/workflows/macos-x86_64.yml

<snipped> as far as it is kinda the same.

> -- 
> 2.34.0
> 

-- 
Best regards,
Sergey Kaplun


More information about the Tarantool-patches mailing list