From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from [87.239.111.99] (localhost [127.0.0.1]) by dev.tarantool.org (Postfix) with ESMTP id 0C7C36ECD0; Wed, 20 May 2026 16:52:35 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 dev.tarantool.org 0C7C36ECD0 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=tarantool.org; s=dev; t=1779285155; bh=HXWKj4qVahGGmkOTYQQcJdAQcmy4BOmfCpH0DbQQ3fY=; h=Date:To:Cc:References:In-Reply-To:Subject:List-Id: List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe: From:Reply-To:From; b=wTak7XSCadz83VU/69hw9TrAC/Co7jWaq8JyKhPWp5/C6q2f+jfvxVdUyOKvTsTW8 6AyYirV1Vagkzq8oZgYMGUcouCWZ15DCoPYn42f91P50Mz/mJJoCdt+JV2mf8zdKvV 3UfSnTNocyW310DHyd1Lhfgj+2FeGh1ZhiEbRi+Y= Received: from send106.i.mail.ru (send106.i.mail.ru [89.221.237.201]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by dev.tarantool.org (Postfix) with ESMTPS id D85E96ECD0 for ; Wed, 20 May 2026 16:52:33 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 dev.tarantool.org D85E96ECD0 Received: by exim-smtp-8466d5ddfc-7ctmk with esmtpa (envelope-from ) id 1wPhLb-00000000Btb-3iCs; Wed, 20 May 2026 16:52:32 +0300 Content-Type: multipart/alternative; boundary="------------X0LoIZB45svR267i9LUgxYjz" Message-ID: Date: Wed, 20 May 2026 16:52:30 +0300 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Content-Language: en-US To: Sergey Kaplun , Mikhail Elhimov , Evgeniy Temirgaleev Cc: tarantool-patches@dev.tarantool.org References: <20260519123913.178775-1-skaplun@tarantool.org> <20260519123913.178775-7-skaplun@tarantool.org> In-Reply-To: <20260519123913.178775-7-skaplun@tarantool.org> X-Mailru-Src: smtp X-4EC0790: 10 X-618D5548: 1ACB56F8E65826F933594132A326AF8B0C006520E185EFA017038169AC9860AB86BD6713D99AAA70 X-7564579A: B8F34718100C35BD X-77F55803: 4F1203BC0FB41BD98DC58EE55F2C5C37F5C704BCBA22D24156A531DDE0456E3200894C459B0CD1B91ACB56F8E65826F933594132A326AF8BBBDDFD85F7BD171C17038169AC9860AB74CA12CB93F4C0D9 X-7FA49CB5: FF5795518A3D127A4AD6D5ED66289B5278DA827A17800CE75DF2B1F23425CAE5EA1F7E6F0F101C67BD4B6F7A4D31EC0BCC500DACC3FED6E28638F802B75D45FF8AA50765F7900637AC83A81C8FD4AD23D82A6BABE6F325AC2E85FA5F3EDFCBAA7353EFBB55337566BAD382DE51689651CFACA09C74BE936E6170B5210358F0F6E4CDF8E9C36BACD0389733CBF5DBD5E913377AFFFEAFD269176DF2183F8FC7C0A29E2F051442AF778941B15DA834481FCF19DD082D7633A0EF3E4896CB9E6436389733CBF5DBD5E9D5E8D9A59859A8B652D31B9D28593E51CC7F00164DA146DA6F5DAA56C3B73B237318B6A418E8EAB86D1867E19FE14079C09775C1D3CA48CF3D321E7403792E342EB15956EA79C166A417C69337E82CC275ECD9A6C639B01B78DA827A17800CE702706FBA10211704731C566533BA786AA5CC5B56E945C8DA X-C1DE0DAB: 0D63561A33F958A571293EF6001B36CA5002B1117B3ED69670DC7E1E65DAD117B91D2EB2DEE3878C823CB91A9FED034534781492E4B8EEAD3C056C6FCE5AFF8EBDAD6C7F3747799A X-C8649E89: 1C3962B70DF3F0ADB58128AB1E6D661A716CD42B3DD1D34CAB70F9BE574AE9C625B6776AC983F447FC0B9F89525902EE6F57B2FD27647F25E66C117BDB76D6590195FC1A1AA25F5499C92D39C70C2FBB25EEA4EC6904C7BD0028E32053C57544FF555B3592CBED0CB8341EE9D5BE9A0A21B96FCA22EFA16A9EE239FA0BD0EE20A07AA6B32B4FC2E8C7CEAA0681F5848F4C41F94D744909CE2512F26BEC029E55448553D2254B8D95CD72808BE417F3B9E0E7457915DAA85F X-D57D3AED: 3ZO7eAau8CL7WIMRKs4sN3D3tLDjz0dLbV79QFUyzQ2Ujvy7cMT6pYYqY16iZVKkSc3dCLJ7zSJH7+u4VD18S7Vl4ZUrpaVfd2+vE6kuoey4m4VkSEu53w8ahmwBjZKM/YPHZyZHvz5uv+WouB9+ObcCpyrx6l7KImUglyhkEat/+ysWwi0gdhEs0JGjl6ggRWTy1haxBpVdbIX1nthFXMZebaIdHP2ghjoIc/363UZI6Kf1ptIMVax5M0mESuWmGHwzInJ90fs= X-DA7885C5: C99959B2DE9ABFB4F255D290C0D534F987C6E193892A53B9E75ABA8A8A704FB10597F37FB3AEB4815B1A4C17EAA7BC4BEF2421ABFA55128DAF83EF9164C44C7E X-Mailru-Sender: 689FA8AB762F7393520AF17B8A65FDE28A23DE0B7F8EC471CD50B0443947EBB9A8750AEB790A1037EF86D5F70DA33880E41E8EF7A07863ECB274557F927329BE2DDF8182D28ACDB545BD1C3CC395C826B4A721A3011E896F X-Mras: Ok Subject: Re: [Tarantool-patches] [PATCH v2 luajit 6/6] ci: introduce workflow to test debugger extension X-BeenThere: tarantool-patches@dev.tarantool.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Tarantool development patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , From: Sergey Bronnikov via Tarantool-patches Reply-To: Sergey Bronnikov Errors-To: tarantool-patches-bounces@dev.tarantool.org Sender: "Tarantool-patches" This is a multi-part message in MIME format. --------------X0LoIZB45svR267i9LUgxYjz Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Hi, Sergey, thanks for the patch! See my comments. Sergey On 5/19/26 15:39, Sergey Kaplun wrote: > The debugger extension test is run for both LLDB and GDB for GC64 and > non-GC64 builds for arm64 and x86_64. > --- > .github/actions/setup-debuggers/README.md | 13 +++++ > .github/actions/setup-debuggers/action.yml | 12 +++++ > .github/workflows/debuggers.yml | 61 ++++++++++++++++++++++ > 3 files changed, 86 insertions(+) > create mode 100644 .github/actions/setup-debuggers/README.md > create mode 100644 .github/actions/setup-debuggers/action.yml > create mode 100644 .github/workflows/debuggers.yml > > diff --git a/.github/actions/setup-debuggers/README.md b/.github/actions/setup-debuggers/README.md > new file mode 100644 > index 00000000..7c542ddb > --- /dev/null > +++ b/.github/actions/setup-debuggers/README.md > @@ -0,0 +1,13 @@ > +# Setup environment for testing debugger extension on Linux > + > +Action setups the environment on Linux runners (install requirements, setup the > +workflow environment, etc.) for testing the python debugger extension for > +various debuggers. > + > +## How to use Github Action from Github workflow > + > +Add the following code to the running steps before LuaJIT configuration: > +``` > +- uses: ./.github/actions/setup-debuggers > + if: ${{ matrix.OS == 'Linux' }} > +``` > diff --git a/.github/actions/setup-debuggers/action.yml b/.github/actions/setup-debuggers/action.yml > new file mode 100644 > index 00000000..c34d4502 > --- /dev/null > +++ b/.github/actions/setup-debuggers/action.yml > @@ -0,0 +1,12 @@ > +name: Setup CI environment for testing the debugger extension > +description: The Linux machine setup for tests of the debugger extension > +runs: > + using: composite > + steps: > + - name: Setup CI environment (Linux) > + uses: ./.github/actions/setup-linux > + - name: Install dependencies for the tests > + run: | > + apt -y update > + apt install -y python3 gdb lldb Why Python 3 only? AFAIR we discussed that Python 2 should be supported as well, it means we should test with Python 2 too. Also, should we test with the latest versions of GDB/LLDB? > + shell: bash > diff --git a/.github/workflows/debuggers.yml b/.github/workflows/debuggers.yml > new file mode 100644 > index 00000000..489c2bed > --- /dev/null > +++ b/.github/workflows/debuggers.yml > @@ -0,0 +1,61 @@ > +name: Debuggers > + > +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/release/2.11, > + # tarantool/release/2.10, 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: ${{ 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-debuggers: > + strategy: > + fail-fast: false > + matrix: > + ARCH: [ARM64, x86_64] > + GC64: [ON, OFF] > + exclude: > + - ARCH: ARM64 > + GC64: OFF > + runs-on: [self-hosted, regular, Linux, '${{ matrix.ARCH }}'] > + name: > > + LuaJIT > + (${{ matrix.ARCH }}) > +GC64:${{ matrix.GC64 }} > + steps: > + - uses: actions/checkout@v4 > + with: > + fetch-depth: 0 > + submodules: recursive > + - name: setup debuggers > + uses: ./.github/actions/setup-debuggers > + - name: configure > + run: > > + cmake -S . -B ${{ env.BUILDDIR }} > + -DCMAKE_BUILD_TYPE=Debug > + -DLUAJIT_ENABLE_GC64=${{ matrix.GC64 }} > + - name: build > + run: cmake --build . --parallel > + working-directory: ${{ env.BUILDDIR }} > + - name: test > + run: cmake --build . --parallel --target tarantool-debugger-tests > + working-directory: ${{ env.BUILDDIR }} --------------X0LoIZB45svR267i9LUgxYjz Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: 7bit

Hi, Sergey,

thanks for the patch! See my comments.

Sergey

On 5/19/26 15:39, Sergey Kaplun wrote:
The debugger extension test is run for both LLDB and GDB for GC64 and
non-GC64 builds for arm64 and x86_64.
---
 .github/actions/setup-debuggers/README.md  | 13 +++++
 .github/actions/setup-debuggers/action.yml | 12 +++++
 .github/workflows/debuggers.yml            | 61 ++++++++++++++++++++++
 3 files changed, 86 insertions(+)
 create mode 100644 .github/actions/setup-debuggers/README.md
 create mode 100644 .github/actions/setup-debuggers/action.yml
 create mode 100644 .github/workflows/debuggers.yml

diff --git a/.github/actions/setup-debuggers/README.md b/.github/actions/setup-debuggers/README.md
new file mode 100644
index 00000000..7c542ddb
--- /dev/null
+++ b/.github/actions/setup-debuggers/README.md
@@ -0,0 +1,13 @@
+# Setup environment for testing debugger extension on Linux
+
+Action setups the environment on Linux runners (install requirements, setup the
+workflow environment, etc.) for testing the python debugger extension for
+various debuggers.
+
+## How to use Github Action from Github workflow
+
+Add the following code to the running steps before LuaJIT configuration:
+```
+- uses: ./.github/actions/setup-debuggers
+  if: ${{ matrix.OS == 'Linux' }}
+```
diff --git a/.github/actions/setup-debuggers/action.yml b/.github/actions/setup-debuggers/action.yml
new file mode 100644
index 00000000..c34d4502
--- /dev/null
+++ b/.github/actions/setup-debuggers/action.yml
@@ -0,0 +1,12 @@
+name: Setup CI environment for testing the debugger extension
+description: The Linux machine setup for tests of the debugger extension
+runs:
+  using: composite
+  steps:
+    - name: Setup CI environment (Linux)
+      uses: ./.github/actions/setup-linux
+    - name: Install dependencies for the tests
+      run: |
+        apt -y update
+        apt install -y python3 gdb lldb

Why Python 3 only? AFAIR we discussed that Python 2 should be supported as well,

it means we should test with Python 2 too.

Also, should we test with the latest versions of GDB/LLDB?

+      shell: bash
diff --git a/.github/workflows/debuggers.yml b/.github/workflows/debuggers.yml
new file mode 100644
index 00000000..489c2bed
--- /dev/null
+++ b/.github/workflows/debuggers.yml
@@ -0,0 +1,61 @@
+name: Debuggers
+
+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/release/2.11,
+  # tarantool/release/2.10, 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: ${{ 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-debuggers:
+    strategy:
+      fail-fast: false
+      matrix:
+        ARCH: [ARM64, x86_64]
+        GC64: [ON, OFF]
+        exclude:
+          - ARCH: ARM64
+            GC64: OFF
+    runs-on: [self-hosted, regular, Linux, '${{ matrix.ARCH }}']
+    name: >
+      LuaJIT
+      (${{ matrix.ARCH }})
+      GC64:${{ matrix.GC64 }}
+    steps:
+      - uses: actions/checkout@v4
+        with:
+          fetch-depth: 0
+          submodules: recursive
+      - name: setup debuggers
+        uses: ./.github/actions/setup-debuggers
+      - name: configure
+        run: >
+          cmake -S . -B ${{ env.BUILDDIR }}
+          -DCMAKE_BUILD_TYPE=Debug
+          -DLUAJIT_ENABLE_GC64=${{ matrix.GC64 }}
+      - name: build
+        run: cmake --build . --parallel
+        working-directory: ${{ env.BUILDDIR }}
+      - name: test
+        run: cmake --build . --parallel --target tarantool-debugger-tests
+        working-directory: ${{ env.BUILDDIR }}
--------------X0LoIZB45svR267i9LUgxYjz--