<HTML><BODY><div class="cl-se0civs9p4"><div>Hi, Sergey!</div><div>Fixed your suggestions. The branch is force pushed.</div> <div class="mail-quote-collapse"><blockquote style="border-left:1px solid #0857A6;margin:10px;padding:0 0 0 10px"><span>From: Sergey Kaplun <<a href="mailto:skaplun@tarantool.org">skaplun@tarantool.org</a>><br>To: Evgeniy Temirgaleev <<a href="mailto:e.temirgaleev@tarantool.org">e.temirgaleev@tarantool.org</a>><br>Cc: Sergey Bronnikov <<a href="mailto:sergeyb@tarantool.org">sergeyb@tarantool.org</a>>,<a href="mailto:tarantool-patches@dev.tarantool.org">tarantool-patches@dev.tarantool.org</a><br>Date: Wednesday, August 19, 2026 10:31 AM +03:00</span><br> <div><div id=""><div class="cl-1is19kl3rf"><div class="js-helper_mr_css_attr js-readmsg-msg_mr_css_attr"><div id="style_17871246870017536159_mr_css_attr"><div id="style_17871246870017536159_BODY_mr_css_attr">Hi, Evgeniy!<br>Thanks for the answers!<br>LGTM, with minor suggestion below.<br><br>On 18.08.26, Evgeniy Temirgaleev wrote:<br>> Hi, Sergey! Thanks for review!<br>><br>> ><br>> > From: Sergey Kaplun <<a href="mailto:skaplun@tarantool.org">skaplun@tarantool.org</a>><br><br><snipped><br><br>> > b/.github/actions/setup-sanitizers-linux/action.yml<br>> > > similarity index 76%<br>> > > rename from .github/actions/setup-sanitizers/action.yml<br>> > > rename to .github/actions/setup-sanitizers-linux/action.yml<br>> > > index 8642d553..18f5a75d 100644<br>> > > --- a/.github/actions/setup-sanitizers/action.yml<br>> > > +++ b/.github/actions/setup-sanitizers-linux/action.yml<br>> > > @@ -20,13 +20,17 @@ runs:<br>> > > - name: Install build and test dependencies<br>> > > run: |<br>> > > apt -y update<br>> > > + echo Available compilers:<br>> > > + export CC_FAMILY=`echo ${CC_NAME} | sed 's/-.*$//'`<br>> > > + apt list | grep -Pe "^${CC_FAMILY}-[0-9]+/"<br>> > > + # Try to install<br>> > > apt -y install ${CC_NAME} libstdc++-10-dev cmake ninja-build make perl<br>> > > shell: bash<br>> > > env:<br>> > > CC_NAME: ${{ inputs.cc_name }}<br>> > > - - name: Set specific C compiler as a default toolchain<br>> > > + - name: Set specific C compiler as a default toolchain for cmake<br>> > > run: |<br>> > > - echo CC=${CC_NAME} | tee -a $GITHUB_ENV<br>> > > + echo CMAKE_C_COMPILER=${CC_NAME} | tee -a $GITHUB_ENV<br>> > > shell: bash<br>> > > env:<br>> > > CC_NAME: ${{ inputs.cc_name }}<br>> ><br>> > These changes look like debugging of the workflow. Are they necessary?<br>> ><br>><br>> I think it’s a useful information: Which compiler we can select just now with the current runner? For example, it used to answer your question below.<br>> I added it advisedly, as it done for macOS action.<br><br>Got it. Please add the comment and the note about it in the commit<br>message to avoid confusion.</div></div></div></div></div></div></blockquote></div></div><div>Added the note to commit message and extended corresponding jobs title with ‘<span><span style="overflow:hidden;text-overflow:ellipsis;white-space:nowrap">List available compilers.</span></span>’.</div><div class="cl-se0civs9p4"><div class="mail-quote-collapse"><blockquote style="border-left:1px solid #0857A6;margin:10px;padding:0 0 0 10px"><div><div><div class="cl-1is19kl3rf"><div class="js-helper_mr_css_attr js-readmsg-msg_mr_css_attr"><div><div><br>><br>> ><br>> ><br>> > > diff --git a/.github/actions/setup-sanitizers-macos/README.md<br>> > b/.github/actions/setup-sanitizers-macos/README.md<br>> > > new file mode 100644<br>> > > index 00000000..9ac5eb38<br>> > > --- /dev/null<br>> > > +++ b/.github/actions/setup-sanitizers-macos/README.md<br>> ><br>> > <snipped><br>> ><br>> > > diff --git a/.github/actions/setup-sanitizers-macos/action.yml<br>> > b/.github/actions/setup-sanitizers-macos/action.yml<br>> > > new file mode 100644<br>> > > index 00000000..9836ea03<br>> > > --- /dev/null<br>> > > +++ b/.github/actions/setup-sanitizers-macos/action.yml<br>> > > @@ -0,0 +1,73 @@<br>> ><br>> > <snipped><br>> ><br>> > > + - name: Set CMAKE_BUILD_PARALLEL_LEVEL<br>> > > + shell: bash<br>> > > + run: |<br>> > > + # Set CMAKE_BUILD_PARALLEL_LEVEL environment variable to<br>> > > + # limit the number of parallel jobs for build/test step.<br>> > > + NPROC=$(sysctl -n hw.logicalcpu 2>/dev/null)<br>> > > + echo CMAKE_BUILD_PARALLEL_LEVEL=$(($NPROC + 1)) | tee -a $GITHUB_ENV<br>> > > + - name: Set MACOSX_DEPLOYMENT_TARGERT<br>> > > + shell: bash<br>> > > + run: |<br>> > > + # Set required MACOSX_DEPLOYMENT_TARGERT environment<br>> > > + # variable for Makefile.original build.<br>> > > + # See <a href="https://github.com/LuaJIT/LuaJIT/issues/484">https://github.com/LuaJIT/LuaJIT/issues/484</a>,<br>> > > + # <a href="https://github.com/LuaJIT/LuaJIT/issues/653">https://github.com/LuaJIT/LuaJIT/issues/653</a>.<br>> > > + echo MACOSX_DEPLOYMENT_TARGET=$(sw_vers -productVersion) | tee -a<br>> > $GITHUB_ENV<br>> > > + - name: Install build and test dependencies<br>> > > + shell: bash<br>> > > + run: |<br>> > > + # Install brew using the command from Homebrew repository<br>> > > + # instructions: <a href="https://github.com/Homebrew/install">https://github.com/Homebrew/install</a>.<br>> > > + # XXX: 'echo' command below is required since brew<br>> > > + # installation script obliges the one to enter a newline<br>> > > + # for confirming the installation via Ruby script.<br>> > > + brew update ||<br>> > > + echo | /usr/bin/ruby -e "$(curl -fsSL <a href="https://raw.githubusercontent.com/Homebrew/install/master/install">https://raw.githubusercontent.com/Homebrew/install/master/install</a><br>> > )"<br>> > > + # Try to install the packages either upgrade it to avoid<br>> > > + # of fails if the package already exists with the previous<br>> > > + # version.<br>> > > + brew install --force ${CC_FORMULA} cmake make ninja perl ||<br>> > > + brew upgrade ${CC_FORMULA} cmake make ninja perl<br>> ><br>> > Can we reuse setup-macos action instead these 3 steps?<br>> ><br>><br>> Yes, we can do it on top of the «ci: unused gcc removed from macOS setup» patch.<br>> So, we need to merge it first.<br><br>Do we? Don't understand why it is required. The gcc instalation and<br>upgrade looks harmless, IINM.</div></div></div></div></div></div></blockquote></div></div><div>I meant what we can’t get the same behavior: just install the expected version of the compiler. But you is right, it’s not important, we can reinstall gcc or ignore it also.</div><div> </div><div>Rewrited with «setup macos» action.</div><div> </div><div>Thanks! The code was very reduced.</div><div class="cl-se0civs9p4"><div class="mail-quote-collapse"><blockquote style="border-left:1px solid #0857A6;margin:10px;padding:0 0 0 10px"><div><div><div class="cl-1is19kl3rf"><div class="js-helper_mr_css_attr js-readmsg-msg_mr_css_attr"><div><div><br>>  And then I shall update this patch.<br>> Thanks for the notice.<br>><br>> ><br>> ></div></div></div></div></div></div></blockquote></div></div><div><snipped></div><div class="cl-se0civs9p4"><div class="mail-quote-collapse"><blockquote style="border-left:1px solid #0857A6;margin:10px;padding:0 0 0 10px"><div><div><div class="cl-1is19kl3rf"><div class="js-helper_mr_css_attr js-readmsg-msg_mr_css_attr"><div><div>--<br>Best regards,<br>Sergey Kaplun</div></div></div></div></div></div></blockquote></div></div><div><br>P.S. There is clang-22 is available with brew on macOS. But it fails with three tests on x86_64 (ARM64 tests were passed all). So, I set clang-21 for use as it good with all tests on both architectures.<br>---<br> </div><div>Full commit message and diff are below:</div><div>---</div><div><div><div>    ci: enabled sanitizer tests for macOS</div><div> </div><div>    The arm64 and x86_64 architectures with clang/gcc compiler were added</div><div>    to the matrix.</div><div> </div><div>    Also, the 'setup-sanitizers-macos' action supplied with</div><div>    the 'list available compilers' commands in one of it's job.</div><div>    It helps to get the answer to the question:</div><div>    'Which compiler we can select just now with our current environment?'</div><div> </div><div>    The 'setup-sanitizers-linux' build job extended with such commands also.</div><div> </div><div>diff --git a/.github/actions/setup-sanitizers-linux/action.yml b/.github/actions/setup-sanitizers-linux/action.yml</div><div>index 18f5a75d..9744e5dd 100644</div><div>--- a/.github/actions/setup-sanitizers-linux/action.yml</div><div>+++ b/.github/actions/setup-sanitizers-linux/action.yml</div><div>@@ -17,7 +17,7 @@ runs:</div><div>         NPROC=$(nproc)</div><div>         echo CMAKE_BUILD_PARALLEL_LEVEL=$(($NPROC + 1)) | tee -a $GITHUB_ENV</div><div>       shell: bash</div><div>-    - name: Install build and test dependencies</div><div>+    - name: Install build and test dependencies. List available compilers.</div><div>       run: |</div><div>         apt -y update</div><div>         echo Available compilers:</div><div>diff --git a/.github/actions/setup-sanitizers-macos/action.yml b/.github/actions/setup-sanitizers-macos/action.yml</div><div>index 9836ea03..d2160faa 100644</div><div>--- a/.github/actions/setup-sanitizers-macos/action.yml</div><div>+++ b/.github/actions/setup-sanitizers-macos/action.yml</div><div>@@ -8,13 +8,15 @@ inputs:</div><div> runs:</div><div>   using: composite</div><div>   steps:</div><div>+    - name: Setup CI environment on macOS</div><div>+      uses: ./.github/actions/setup-macos</div><div>     - name: Get compiler version from cc_name</div><div>       shell: bash</div><div>       env:</div><div>         CC_NAME: ${{ inputs.cc_name }}</div><div>       run: |</div><div>         echo CC_VERSION=`echo ${CC_NAME} | sed 's/.*-//'` | tee -a $GITHUB_ENV</div><div>-    - name: Get brew formula from cc_name</div><div>+    - name: Get brew formula from cc_name. List available compilers.</div><div>       shell: bash</div><div>       env:</div><div>         CC_FORMULA_NAME: |-</div><div>@@ -26,38 +28,13 @@ runs:</div><div>       run: |</div><div>         echo CC_FORMULA=${CC_FORMULA_NAME}@${CC_VERSION} | tee -a $GITHUB_ENV</div><div>         echo Available formulas: `brew search ${CC_FORMULA_NAME}`</div><div>-    - name: Setup CI environment</div><div>-      uses: ./.github/actions/setup</div><div>-    - name: Set CMAKE_BUILD_PARALLEL_LEVEL</div><div>+    - name: Install specified compiler</div><div>       shell: bash</div><div>       run: |</div><div>-        # Set CMAKE_BUILD_PARALLEL_LEVEL environment variable to</div><div>-        # limit the number of parallel jobs for build/test step.</div><div>-        NPROC=$(sysctl -n hw.logicalcpu 2>/dev/null)</div><div>-        echo CMAKE_BUILD_PARALLEL_LEVEL=$(($NPROC + 1)) | tee -a $GITHUB_ENV</div><div>-    - name: Set MACOSX_DEPLOYMENT_TARGERT</div><div>-      shell: bash</div><div>-      run: |</div><div>-        # Set required MACOSX_DEPLOYMENT_TARGERT environment</div><div>-        # variable for Makefile.original build.</div><div>-        # See https://github.com/LuaJIT/LuaJIT/issues/484,</div><div>-        # https://github.com/LuaJIT/LuaJIT/issues/653.</div><div>-        echo MACOSX_DEPLOYMENT_TARGET=$(sw_vers -productVersion) | tee -a $GITHUB_ENV</div><div>-    - name: Install build and test dependencies</div><div>-      shell: bash</div><div>-      run: |</div><div>-        # Install brew using the command from Homebrew repository</div><div>-        # instructions: https://github.com/Homebrew/install.</div><div>-        # XXX: 'echo' command below is required since brew</div><div>-        # installation script obliges the one to enter a newline</div><div>-        # for confirming the installation via Ruby script.</div><div>-        brew update ||</div><div>-          echo | /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install</div><div>)"</div><div>         # Try to install the packages either upgrade it to avoid</div><div>         # of fails if the package already exists with the previous</div><div>         # version.</div><div>-        brew install --force ${CC_FORMULA} cmake make ninja perl ||</div><div>-          brew upgrade ${CC_FORMULA} cmake make ninja perl</div><div>+        brew install --force ${CC_FORMULA} || brew upgrade ${CC_FORMULA}</div><div>     - name: Set specific C compiler as a default toolchain for cmake</div><div>       shell: bash</div><div>       env:</div><div> </div><div><div><br>Best regards,</div><div>Evgeniy Temirgaleev</div></div></div></div></BODY></HTML>