From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <tarantool-patches-bounces@dev.tarantool.org>
Received: from [87.239.111.99] (localhost [127.0.0.1])
	by dev.tarantool.org (Postfix) with ESMTP id 6A80FA653D6;
	Tue, 26 Mar 2024 11:34:53 +0300 (MSK)
DKIM-Filter: OpenDKIM Filter v2.11.0 dev.tarantool.org 6A80FA653D6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=tarantool.org; s=dev;
	t=1711442093; bh=0gPS6NYJBPK9K4VWyHrJ4tO+oTTQ+//HEu25/HAEtx8=;
	h=To:Date:In-Reply-To:References:Subject:List-Id:List-Unsubscribe:
	 List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:
	 From;
	b=wL8mSAWgIRgsmvBttZntdv1hPFvpQUEMivbbVHW4NoTF/bTR+GmR8vQUXpSsjpi9o
	 bGTUX6rx2wsWCQk/vZvOr2Jzp8Je0ewXr/vZUYXLuc8zx0PU0DjaVJ9/WYI2QuABbg
	 DrMaRwfCkcSjQzDE0BzJmPcEq43deQ/u3yNN7wOQ=
Received: from mail-lf1-f49.google.com (mail-lf1-f49.google.com
 [209.85.167.49])
 (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 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 E4219A653D1
 for <tarantool-patches@dev.tarantool.org>;
 Tue, 26 Mar 2024 11:34:25 +0300 (MSK)
DKIM-Filter: OpenDKIM Filter v2.11.0 dev.tarantool.org E4219A653D1
Received: by mail-lf1-f49.google.com with SMTP id
 2adb3069b0e04-515a81928faso2546902e87.1
 for <tarantool-patches@dev.tarantool.org>;
 Tue, 26 Mar 2024 01:34:25 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1711442065; x=1712046865;
 h=content-transfer-encoding:mime-version:references:in-reply-to
 :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
 :subject:date:message-id:reply-to;
 bh=6y7RIy4+jU11ztEq9mT6IL1v3FlR2nsLkX52cKT0N0A=;
 b=tLOWyzuX2+4ykT72ey2/2/CpMZ5xu+geQfqWzNwP+i8nYRFlKkuO2vyQtM9D05+hjl
 yNRTY+TZ/ZHUZV+NNcvFjFLmzI2xopdWdgzUAfIxVT6C/8tTaS7mJoc6QL4CMKDcMtPf
 kSMkK1VQGIyVjJ7WdTYMdeX2TJQcBv0P4mgR0UHALC6WCtglNLDsadVEMO4uNAPgCOR/
 8Yrlfd8frHwCTYaEN8qZX9NAas9iHKe0gq9pnoGlsdFj+eYoAh/S2NfEkvYrhPVEHYSX
 eeJBMUuXwJxBY1nhtpoFjcl3PsKOLSk28bWekoQ/X2TZotrjkRNPFySgx3felscDr0Ro
 whDA==
X-Gm-Message-State: AOJu0YysQNh6IOHAkfARsRucoXXR+57/z62cGkoqUBXEog4NBSMuQhJo
 NHddR8iyH+BeD+BIcubZ4lW1rbEKwHQ9zCpRSP9BonqZS6yayBsDLxboDYz3gBc=
X-Google-Smtp-Source: AGHT+IF77G09GAnmA+gZtZhKRbcRvbSPHXKkkMLWLwepojyxH4o46H/5J9tNqM2tqTy75YaQLh/mPA==
X-Received: by 2002:a05:6512:11d2:b0:513:5eea:2942 with SMTP id
 h18-20020a05651211d200b005135eea2942mr396235lfr.37.1711442064566; 
 Tue, 26 Mar 2024 01:34:24 -0700 (PDT)
Received: from pony.. ([5.181.62.126]) by smtp.gmail.com with ESMTPSA id
 y11-20020a056512044b00b005159c7939basm1434099lfk.185.2024.03.26.01.34.23
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 26 Mar 2024 01:34:24 -0700 (PDT)
To: tarantool-patches@dev.tarantool.org, Sergey Kaplun <skaplun@tarantool.org>,
 Maxim Kokryashkin <m.kokryashkin@tarantool.org>
Date: Tue, 26 Mar 2024 11:33:27 +0300
Message-Id: <e9ec0f2f5aad000c999df938a4f1ee3cc4e93108.1711441864.git.sergeyb@tarantool.org>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1711441864.git.sergeyb@tarantool.org>
References: <cover.1711441864.git.sergeyb@tarantool.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Subject: [Tarantool-patches] [PATCH luajit 1/6] ci: execute LuaJIT tests
 with GCC 10 and ASAN
X-BeenThere: tarantool-patches@dev.tarantool.org
X-Mailman-Version: 2.1.34
Precedence: list
List-Id: Tarantool development patches <tarantool-patches.dev.tarantool.org>
List-Unsubscribe: <https://lists.tarantool.org/mailman/options/tarantool-patches>, 
 <mailto:tarantool-patches-request@dev.tarantool.org?subject=unsubscribe>
List-Archive: <https://lists.tarantool.org/pipermail/tarantool-patches/>
List-Post: <mailto:tarantool-patches@dev.tarantool.org>
List-Help: <mailto:tarantool-patches-request@dev.tarantool.org?subject=help>
List-Subscribe: <https://lists.tarantool.org/mailman/listinfo/tarantool-patches>, 
 <mailto:tarantool-patches-request@dev.tarantool.org?subject=subscribe>
From: Sergey Bronnikov via Tarantool-patches
 <tarantool-patches@dev.tarantool.org>
Reply-To: Sergey Bronnikov <estetus@gmail.com>
Errors-To: tarantool-patches-bounces@dev.tarantool.org
Sender: "Tarantool-patches" <tarantool-patches-bounces@dev.tarantool.org>

From: Sergey Bronnikov <sergeyb@tarantool.org>

The commit fa8e9e9a721e ("test: enable <catch_wrap.lua> LuaJIT test")
brings a workaround to CMake for running tests with LuaJIT built by GCC
with enabled AddressSanitizer. However, we have no such configuration in
CI, which means that sooner or later it will be broken.

The patch adds a job to GH Actions that builds LuaJIT with GCC 10 with
enabled AddressSanitizer and runs LuaJIT tests. Linux builds are built
by runners on Ubuntu Focal, where GCC 10 is the latest version [1]
available in packages.

Library libstdc++ is needed by the test <catch_wrap.lua> for a
workaround with AddressSanitizer.

1. https://packages.ubuntu.com/focal/gcc-10

Follows up tarantool/tarantool#9398
Relates to tarantool/tarantool#9656
---
 .github/actions/setup-sanitizers/action.yml | 15 ++++++++++++---
 .github/workflows/sanitizers-testing.yml    |  4 ++++
 2 files changed, 16 insertions(+), 3 deletions(-)

diff --git a/.github/actions/setup-sanitizers/action.yml b/.github/actions/setup-sanitizers/action.yml
index 4b74f39d..8642d553 100644
--- a/.github/actions/setup-sanitizers/action.yml
+++ b/.github/actions/setup-sanitizers/action.yml
@@ -1,5 +1,10 @@
 name: Setup CI environment for testing with sanitizers on Linux
 description: Common part to tweak Linux CI runner environment for sanitizers
+inputs:
+  cc_name:
+    description: C compiler name (for example, gcc-12)
+    required: false
+    default: clang-11
 runs:
   using: composite
   steps:
@@ -15,9 +20,13 @@ runs:
     - name: Install build and test dependencies
       run: |
         apt -y update
-        apt -y install clang-11 cmake ninja-build make perl
+        apt -y install ${CC_NAME} libstdc++-10-dev cmake ninja-build make perl
       shell: bash
-    - name: Set Clang as a default toolchain
+      env:
+        CC_NAME: ${{ inputs.cc_name }}
+    - name: Set specific C compiler as a default toolchain
       run: |
-        echo CC=clang-11 | tee -a $GITHUB_ENV
+        echo CC=${CC_NAME} | tee -a $GITHUB_ENV
       shell: bash
+      env:
+        CC_NAME: ${{ inputs.cc_name }}
diff --git a/.github/workflows/sanitizers-testing.yml b/.github/workflows/sanitizers-testing.yml
index 4bccfcef..a06398ea 100644
--- a/.github/workflows/sanitizers-testing.yml
+++ b/.github/workflows/sanitizers-testing.yml
@@ -33,6 +33,7 @@ jobs:
       matrix:
         # XXX: Let's start with only Linux/x86_64
         BUILDTYPE: [Debug, Release]
+        CC: [gcc-10, clang-11]
         include:
           - BUILDTYPE: Debug
             CMAKEFLAGS: -DCMAKE_BUILD_TYPE=Debug -DLUA_USE_ASSERT=ON -DLUA_USE_APICHECK=ON
@@ -42,6 +43,7 @@ jobs:
     name: >
       LuaJIT with ASan (Linux/x86_64)
       ${{ matrix.BUILDTYPE }}
+      CC:${{ matrix.CC }}
       GC64:ON SYSMALLOC:ON
     steps:
       - uses: actions/checkout@v3
@@ -50,6 +52,8 @@ jobs:
           submodules: recursive
       - name: setup Linux for sanitizers
         uses: ./.github/actions/setup-sanitizers
+        with:
+          cc_name: ${{ matrix.CC }}
       - name: configure
         # XXX: LuaJIT configuration requires a couple of tweaks:
         # LUAJIT_USE_SYSMALLOC=ON: Unfortunately, internal LuaJIT
-- 
2.34.1