<HTML><BODY><div>Hi, Sergey!</div><div>Thanks for the patch!</div><div>LGTM</div><div data-signature-widget="container"><div data-signature-widget="content"><div>--<br>Best regards,</div><div>Maxim Kokryashkin</div></div></div><div> </div><div> </div><blockquote style="border-left:1px solid #0857A6; margin:10px; padding:0 0 0 10px;"><div> <blockquote style="border-left:1px solid #0857A6; margin:10px; padding:0 0 0 10px;"><div id=""><div class="js-helper js-readmsg-msg"><div><div id="style_16740732230929875056_BODY">This workflow is well-suited for test specific builds like dual-number<br>mode on x86_x64, build with disabled JIT or FFI, etc.<br><br>For now, just the dual-number mode is added, due to the need to test<br>future commits. If there is need to add a new build type `FLAVOR` column<br>of CI matrix should be exposed. Also, just Linux x86_64 is tested,<br>because we want to decrease resource usage in CI.<br>---<br> .github/workflows/exotic-builds-testing.yml | 71 +++++++++++++++++++++<br> 1 file changed, 71 insertions(+)<br> create mode 100644 .github/workflows/exotic-builds-testing.yml<br><br>diff --git a/.github/workflows/exotic-builds-testing.yml b/.github/workflows/exotic-builds-testing.yml<br>new file mode 100644<br>index 00000000..cd0c14d7<br>--- /dev/null<br>+++ b/.github/workflows/exotic-builds-testing.yml<br>@@ -0,0 +1,71 @@<br>+name: "Exotic builds testing"<br>+<br>+on:<br>+ push:<br>+ branches-ignore:<br>+ - '**-notest'<br>+ - 'upstream-**'<br>+ tags-ignore:<br>+ - '**'<br>+<br>+concurrency:<br>+ # An update of a developer branch cancels the previously<br>+ # scheduled workflow run for this branch. However, the default<br>+ # branch, and long-term branch (tarantool-1.10, tarantool-2.8,<br>+ # etc.) workflow runs are never canceled.<br>+ #<br>+ # We use a trick here: define the concurrency group as 'workflow<br>+ # run ID' + # 'workflow run attempt' because it is a unique<br>+ # combination for any run. So it effectively discards grouping.<br>+ #<br>+ # XXX: we cannot use `github.sha` as a unique identifier because<br>+ # pushing a tag may cancel a run that works on a branch push<br>+ # event.<br>+ group: ${{ (<br>+ github.ref == 'refs/heads/tarantool' ||<br>+ startsWith(github.ref, 'refs/heads/tarantool-')) &&<br>+ format('{0}-{1}', github.run_id, github.run_attempt) ||<br>+ format('{0}-{1}', github.workflow, github.ref) }}<br>+ cancel-in-progress: true<br>+<br>+jobs:<br>+ test-x86_64-exotic:<br>+ strategy:<br>+ fail-fast: false<br>+ matrix:<br>+ BUILDTYPE: [Debug, Release]<br>+ GC64: [ON, OFF]<br>+ FLAVOR: [dualnum]<br>+ include:<br>+ - BUILDTYPE: Debug<br>+ CMAKEFLAGS: -DCMAKE_BUILD_TYPE=Debug -DLUA_USE_ASSERT=ON -DLUA_USE_APICHECK=ON<br>+ - BUILDTYPE: Release<br>+ CMAKEFLAGS: -DCMAKE_BUILD_TYPE=RelWithDebInfo<br>+ - FLAVOR: dualnum<br>+ FLAVORFLAGS: -DLUAJIT_NUMMODE=2<br>+ runs-on: [self-hosted, regular, Linux, x86_64]<br>+ name: ><br>+ LuaJIT ${{ matrix.FLAVOR }}<br>+ (Linux/x86_64)<br>+ ${{ matrix.BUILDTYPE }}<br>+ GC64:${{ matrix.GC64 }}<br>+ steps:<br>+ - uses: actions/checkout@v2.3.4<br>+ with:<br>+ fetch-depth: 0<br>+ submodules: recursive<br>+ - name: setup Linux<br>+ uses: ./.github/actions/setup-linux<br>+ - name: configure<br>+ run: ><br>+ cmake -S . -B ${{ env.BUILDDIR }}<br>+ -G Ninja<br>+ ${{ matrix.CMAKEFLAGS }}<br>+ ${{ matrix.FLAVORFLAGS }}<br>+ -DLUAJIT_ENABLE_GC64=${{ matrix.GC64 }}<br>+ - name: build<br>+ run: cmake --build . --parallel<br>+ working-directory: ${{ env.BUILDDIR }}<br>+ - name: test<br>+ run: cmake --build . --parallel --target test<br>+ working-directory: ${{ env.BUILDDIR }}<br>--<br>2.34.1</div></div></div></div></blockquote><div> </div></div></blockquote></BODY></HTML>