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 C0EB6A54C29; Thu, 21 Mar 2024 17:02:56 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 dev.tarantool.org C0EB6A54C29 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=tarantool.org; s=dev; t=1711029776; bh=+EQ82ffJsr4mze20H+L6FBjO1wn1fHv+WvCMq8wSg/c=; 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=erl2PvXkXE7lWmXtslWliWCa89gn+O5rli5G5k60u8EF6h6ZhscJ0H99kbaNreS52 BWSI0iVcCcj5q9h3RMopoKAm9NCgDoCXQZkPCTTUD0UIhAUTwOpdQHFsiVlkxaYNjL /48c8FIacYZqkbLv2e1p5pk5wDWpYMuG3TbNt1PY= Received: from mail-lf1-f53.google.com (mail-lf1-f53.google.com [209.85.167.53]) (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 90BCAA54C26 for ; Thu, 21 Mar 2024 17:02:30 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 dev.tarantool.org 90BCAA54C26 Received: by mail-lf1-f53.google.com with SMTP id 2adb3069b0e04-513e14b2bd9so1251261e87.2 for ; Thu, 21 Mar 2024 07:02:30 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1711029750; x=1711634550; 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=ofbADtCjEuQ3AkIMZbrk0N9/2Qlha3OwAr9ec4GmwOk=; b=lWmUl8kgWT2tQaEONGS2IPVVbw0WVK8dPVKSHlb7SvV/VvX43o0dAOUgh7ySf2Wejz 4XH73xX6Jrf6NTvOJAHXMSzuUr69fhjhMbUl3GuT9yG4VT3bdnckztuKL1q/DT14wjUy 3pIqjdY3OgNfBUajQJMoD/jvywypisUAhuUmWmvK09CfaEUqeUPDl0M8C39gFVAgpXa8 fEgpKpAdSRSavB0bNNgyP3oU+Uc71ns3X+MLROHcOLhtz/ISHAbzmIzufI4FKdJWUkus CiCHM2u7I1Pmy9SjkqK0bbhKiRbP2kHysAI4oTdqpM8jkpiEByYH2Loe959RXLLZFZm7 c55A== X-Gm-Message-State: AOJu0YyDy4oEGPdPPzQc+fE77F6pgDPmnDO3gH57myDaLX8QFnevFJ66 bBT6DptxScIhwt9sPj5rQB+9YE38NGwg/uL5UgY4a/7s4dE5pyOQzlTuLgN2 X-Google-Smtp-Source: AGHT+IHluF27pUKKppYtdHkpxJXRwPyAsj88XmFVuNaducNgaEtQQTSVtd6hxJmhppPgwXTNK5X6dQ== X-Received: by 2002:ac2:4c19:0:b0:513:a73f:c0ed with SMTP id t25-20020ac24c19000000b00513a73fc0edmr14691168lfq.51.1711029749399; Thu, 21 Mar 2024 07:02:29 -0700 (PDT) Received: from pony.. ([5.181.62.126]) by smtp.gmail.com with ESMTPSA id m30-20020a19435e000000b0051327d2f5e5sm2633561lfj.119.2024.03.21.07.02.28 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 21 Mar 2024 07:02:29 -0700 (PDT) To: tarantool-patches@dev.tarantool.org, Sergey Kaplun , Maxim Kokryashkin Date: Thu, 21 Mar 2024 17:01:58 +0300 Message-Id: X-Mailer: git-send-email 2.34.1 In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: [Tarantool-patches] [PATCH luajit 1/3][v4] 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 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" From: Sergey Bronnikov The commit fa8e9e9a721e ("test: enable LuaJIT test") bring a workaround to CMake for running tests with LuaJIT built by GCC with enabled AddressSanitizer. However, we have no such configuration in CI, it 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 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 --- .github/actions/setup-sanitizers/action.yml | 15 ++++++++++++--- .github/workflows/sanitizers-testing.yml | 11 +++++++++++ 2 files changed, 23 insertions(+), 3 deletions(-) diff --git a/.github/actions/setup-sanitizers/action.yml b/.github/actions/setup-sanitizers/action.yml index 4b74f39d..bab40d2b 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 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..5a24d4ca 100644 --- a/.github/workflows/sanitizers-testing.yml +++ b/.github/workflows/sanitizers-testing.yml @@ -33,15 +33,24 @@ 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 + CC: gcc-10 + - BUILDTYPE: Debug + CMAKEFLAGS: -DCMAKE_BUILD_TYPE=Debug -DLUA_USE_ASSERT=ON -DLUA_USE_APICHECK=ON + CC: clang-11 - BUILDTYPE: Release CMAKEFLAGS: -DCMAKE_BUILD_TYPE=RelWithDebInfo + exclude: + - BUILDTYPE: Release + CC: gcc-10 runs-on: [self-hosted, regular, Linux, x86_64] name: > LuaJIT with ASan (Linux/x86_64) ${{ matrix.BUILDTYPE }} + CC:${{ matrix.CC }} GC64:ON SYSMALLOC:ON steps: - uses: actions/checkout@v3 @@ -50,6 +59,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