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>
Cc: tarantool-patches@dev.tarantool.org
Subject: Re: [Tarantool-patches] [PATCH luajit 3/3] ci: add Tarantool integration testing
Date: Thu, 30 Jun 2022 01:17:45 +0300	[thread overview]
Message-ID: <YrzPiTa7FyNFKbbW@tarantool.org> (raw)
In-Reply-To: <YrQoJgIZfgHYv6qY@root>

Sergey,

Thanks for your review!

On 23.06.22, Sergey Kaplun wrote:
> Hi, Igor!
> 
> Thanks for the patch!
> Nice to see our CI improving!

Glad this makes somebody a little happier :)

> 
> 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?

Well, I'm trying my best to make tarantool/luajit CI as close to the one
in tarantool/tarantool as it's possible. However, I'm afraid we will
face two challenges soon:
1. As far as we're going to add some custom LuaJIT configurations
   testing and instrumenting testing to LuaJIT CI, it will expand
   already extensive Tarantool testing.
2. tarantool/tarantool is the main repository and we share runners with
   it, so we should not forget about already overloaded infrastructure.

All in all we need to create the sufficient set of workflows that will
alleviate LuaJIT developer suffering without dropping patches quality.

If you're asking about this particular patch, then yes, you still need
to create a draft PR in tarantool/tarantool to check if everything is
fine. By the way, I hear many opinions whether developers should use
'full-ci' tag for PRs or not. If you don't use it, you can just run all
pipelines in tarantool/luajit and leave everything else to a mainainer.
Otherwise, there is no other option than draft PR (I believe you can
create a single PR in tarantool/tarantool for a bunch of your patches,
but I'm not a big fan of it).

Anyway, here is the list for the upcoming enhancements:
* FreeBSD workflow
* Various compilers matrix (GCC, Clang)
* JIT enabled/disabled matrix * Valgrind testing
* luarocks v3 world testing

> 
> > 
> > [1]: https://github.com/tarantool/tarantool/blob/master/.github/workflows/luajit-integration.yml
> > 
> > Signed-off-by: Igor Munkin <imun@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@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@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.

Unfortunately, reusable workflow can't use test matrices, so we have no
other option than copy-paste this several times. I might be doing
something wrong, but I've failed with this exercise. You can try by
yourself, but now you're warned.

> 
> > +    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-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@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@master
> > +    with:
> > +      GC64: OFF
> 
> Same question here, but also with GC64 mode.

Ditto.

> 
> > +      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@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@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@master
> > +    with:
> > +      GC64: ON
> > +      buildtype: RelWithDebInfo
> > +      host: ubuntu-20.04-self-hosted
> > +      revision: ${{ github.sha }}

<snipped>

> > -- 
> > 2.34.0
> > 
> 
> -- 
> Best regards,
> Sergey Kaplun

-- 
Best regards,
IM

  reply	other threads:[~2022-06-29 22:25 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-06-22 15:33 [Tarantool-patches] [PATCH luajit 0/3] Integration testing and tiny fixes in CI Igor Munkin via Tarantool-patches
2022-06-22 15:33 ` [Tarantool-patches] [PATCH luajit 1/3] ci: fix --parallel argument for MacOS runners Igor Munkin via Tarantool-patches
2022-06-23  8:19   ` Sergey Kaplun via Tarantool-patches
2022-06-29 22:17     ` Igor Munkin via Tarantool-patches
2022-07-01 13:12   ` Sergey Bronnikov via Tarantool-patches
2022-07-04  7:05     ` Igor Munkin via Tarantool-patches
2022-07-05 17:20   ` Sergey Bronnikov via Tarantool-patches
2022-07-05 21:25     ` Igor Munkin via Tarantool-patches
2022-06-22 15:33 ` [Tarantool-patches] [PATCH luajit 2/3] ci: remove GC64 matrix entries for ARM64 workflows Igor Munkin via Tarantool-patches
2022-06-23  8:29   ` Sergey Kaplun via Tarantool-patches
2022-06-29 22:17     ` Igor Munkin via Tarantool-patches
2022-07-01 13:21   ` Sergey Bronnikov via Tarantool-patches
2022-07-04  7:05     ` Igor Munkin via Tarantool-patches
2022-06-22 15:33 ` [Tarantool-patches] [PATCH luajit 3/3] ci: add Tarantool integration testing Igor Munkin via Tarantool-patches
2022-06-23  8:45   ` Sergey Kaplun via Tarantool-patches
2022-06-29 22:17     ` Igor Munkin via Tarantool-patches [this message]
2022-07-04 10:24       ` Sergey Kaplun via Tarantool-patches
2022-07-01 13:39   ` Sergey Bronnikov via Tarantool-patches
2022-07-04  7:07     ` Igor Munkin via Tarantool-patches
2022-07-04 10:09       ` Sergey Bronnikov via Tarantool-patches
2022-07-13 10:09 ` [Tarantool-patches] [PATCH luajit 0/3] Integration testing and tiny fixes in 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=YrzPiTa7FyNFKbbW@tarantool.org \
    --to=tarantool-patches@dev.tarantool.org \
    --cc=imun@tarantool.org \
    --cc=skaplun@tarantool.org \
    --subject='Re: [Tarantool-patches] [PATCH luajit 3/3] ci: add Tarantool integration testing' \
    /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