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 EFB96111A003; Tue, 19 May 2026 15:43:02 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 dev.tarantool.org EFB96111A003 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=tarantool.org; s=dev; t=1779194583; bh=5Op2nQrkgK0MzPCI4cxHm/Voxl/wMqwBQnuPveaatiI=; h=To:Date:In-Reply-To:References:Subject:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc: From; b=XxUXsExYUhb280VUCvcmTrW/uuDfujnkl0NjtT9g/d/yA80W8nBX7j9VV5zr8P7rU 3I1bPAz6v6QqCf5rBMEcdZqT8Hor5347Dw2OtRfIhmRv8Z+jZff//paTG6vMDxmXB+ K6wLR7EzVoIWdYLgkBognU0NGSRGH38Gdt3DOSfA= Received: from send152.i.mail.ru (send152.i.mail.ru [89.221.237.247]) (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 EE271111A003 for ; Tue, 19 May 2026 15:40:05 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 dev.tarantool.org EE271111A003 Received: by exim-smtp-8466d5ddfc-zbcjt with esmtpa (envelope-from ) id 1wPJjw-00000000Fgc-3cmM; Tue, 19 May 2026 15:40:05 +0300 To: Mikhail Elhimov , Sergey Bronnikov , Evgeniy Temirgaleev Date: Tue, 19 May 2026 15:39:13 +0300 Message-ID: <20260519123913.178775-7-skaplun@tarantool.org> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260519123913.178775-1-skaplun@tarantool.org> References: <20260519123913.178775-1-skaplun@tarantool.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Mailru-Src: smtp X-618D5548: 0FF7ADFE5FA52F56411046492FDDF806299D51DDB57964DC9D98F6840A4EFB788B09FBE1E59F8B94 X-7564579A: EEAE043A70213CC8 X-77F55803: 4F1203BC0FB41BD9EA22463D89EA19FF447E8491BE86F94E396E87B1119F5716182A05F5380850404C228DA9ACA6FE2772BB37EA9BAE38223DE06ABAFEAF67052B3711B4B95B89EFCC9602AF168FB20A0617A7DEC1BA40D2 X-7FA49CB5: FF5795518A3D127A4AD6D5ED66289B5278DA827A17800CE7B9FBA884A7C9B8BAEA1F7E6F0F101C67BD4B6F7A4D31EC0BCC500DACC3FED6E28638F802B75D45FF8AA50765F7900637AC83A81C8FD4AD23D82A6BABE6F325AC2E85FA5F3EDFCBAA7353EFBB55337566BAD382DE51689651D2E1265E74359030E6297AC5CE0D9CFD37C7C5D8792EB069389733CBF5DBD5E913377AFFFEAFD269176DF2183F8FC7C05A64D9A1E9CA65708941B15DA834481FCF19DD082D7633A0EF3E4896CB9E6436389733CBF5DBD5E9D5E8D9A59859A8B6E5E764EB5D94DBD4CC7F00164DA146DA6F5DAA56C3B73B237318B6A418E8EAB86D1867E19FE14079C09775C1D3CA48CF3D321E7403792E342EB15956EA79C166A417C69337E82CC275ECD9A6C639B01B78DA827A17800CE71FE705C1FB16C834731C566533BA786AA5CC5B56E945C8DA X-87b9d050: 1 X-C1DE0DAB: 0D63561A33F958A53F982473F475E7095002B1117B3ED696DA63BE8255B116A31BDDAE3D1EA49BEA3610D81D389A125CDE35189EBF2DEA28FEA14CD2CD220BB99C5DF10A05D560A9880EC71AF561E0AAD9143641EC25BB39DF6628A63E502A7AF36E2E0160E5C55395B8A2A0B6518DF68C46860778A80D548E8926FB43031F38 X-C8649E89: 1C3962B70DF3F0ADB58128AB1E6D661A716CD42B3DD1D34C77DD89D51EBB774225B6776AC983F447FC0B9F89525902EE6F57B2FD27647F25E66C117BDB76D65985E00875A8C4F5BB9F415D4E6DF5130E3744B6361C7617D06E1E191DF6B4C42993D994AB5F662C1BB8341EE9D5BE9A0AA8E69FEAC77280194B43B2A6B51D093C07AE772CC69D82DB9350E1BD188BD56E4C41F94D744909CECFA6C6B0C050A61A8CAF69B82BA93681CD72808BE417F3B9E0E7457915DAA85F X-D57D3AED: 3ZO7eAau8CL7WIMRKs4sN3D3tLDjz0dLbV79QFUyzQ2Ujvy7cMT6pYYqY16iZVKkSc3dCLJ7zSJH7+u4VD18S7Vl4ZUrpaVfd2+vE6kuoey4m4VkSEu53w8ahmwBjZKM/YPHZyZHvz5uv+WouB9+ObcCpyrx6l7KImUglyhkEat/+ysWwi0gdhEs0JGjl6ggRWTy1haxBpVdbIX1nthFXMZebaIdHP2ghjoIc/363UZI6Kf1ptIMVax5M0mESuWm8/yElkNAPkQ= X-DA7885C5: 0BDB8CB84EC1E46FF255D290C0D534F92016B135040A102F73BF11F5161893BA2802CE21DAAB1CE25B1A4C17EAA7BC4BEF2421ABFA55128DAF83EF9164C44C7E X-Mailru-Sender: 689FA8AB762F7393520AF17B8A65FDE2D8C8317CEFDD69CB228D337503C33EE59B5D993640ED6C16E49D44BB4BD9522A059A1ED8796F048DB274557F927329BE89D5A3BC2B10C37545BD1C3CC395C826B4A721A3011E896F X-Mras: Ok Subject: [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 Kaplun via Tarantool-patches Reply-To: Sergey Kaplun Cc: tarantool-patches@dev.tarantool.org Errors-To: tarantool-patches-bounces@dev.tarantool.org Sender: "Tarantool-patches" 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 + 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 }} -- 2.53.0