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 764306ECCD; Mon, 30 Jan 2023 12:55:07 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 dev.tarantool.org 764306ECCD DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=tarantool.org; s=dev; t=1675072507; bh=50zj0HzNaeSW9BUItR3S8u1Jn9kwEc7HOc/TzvjDmwE=; h=Date:To:References:In-Reply-To:Subject:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc: From; b=ab/mn4fTH7/CurW3y4jA3l+v4X7LzirNUf/eni7qKysryEgyK220748QTNgAvRx6z 08O3lGF497gNPVXF/lvJz8XaeeOC1KS8YMJ2fJUz08vb+C3+TBv4K0C4s9e/Hyu2KH 7QKg4xRY8jTgJRoffove2EirCgDSnMGvXy5m3QYk= Received: from smtpng3.i.mail.ru (smtpng3.i.mail.ru [94.100.177.149]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dev.tarantool.org (Postfix) with ESMTPS id 9CCF36ECCD for ; Mon, 30 Jan 2023 12:55:06 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 dev.tarantool.org 9CCF36ECCD Received: by smtpng3.m.smailru.net with esmtpa (envelope-from ) id 1pMQsT-00030C-JS; Mon, 30 Jan 2023 12:55:06 +0300 Date: Mon, 30 Jan 2023 12:51:38 +0300 To: sergos Message-ID: References: <344EA858-7445-4DD9-8A4F-625F940614D7@tarantool.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <344EA858-7445-4DD9-8A4F-625F940614D7@tarantool.org> X-Mailru-Src: smtp X-4EC0790: 10 X-7564579A: 646B95376F6C166E X-77F55803: 4F1203BC0FB41BD939F4CB9F411D0C0472CE2DC3ADD5D4C35919768B1C782977182A05F538085040A6E5DE66CF5B0F6533ED5CD30927DB5BBF37150CDE9B1FCF0D9FC14D6E10B22C X-7FA49CB5: FF5795518A3D127A4AD6D5ED66289B5278DA827A17800CE7F6EE1C40B2E8BE15EA1F7E6F0F101C67BD4B6F7A4D31EC0BCC500DACC3FED6E28638F802B75D45FF8AA50765F79006379347C0682FC030B08638F802B75D45FF36EB9D2243A4F8B5A6FCA7DBDB1FC311F39EFFDF887939037866D6147AF826D8750C29DA197E42A9BDAD82C88CAE2BB0117882F4460429724CE54428C33FAD305F5C1EE8F4F765FCF1175FABE1C0F9B6A471835C12D1D9774AD6D5ED66289B52BA9C0B312567BB23117882F44604297287769387670735200AC5B80A05675ACD618001F51B5FD3F9D2E47CDBA5A96583BA9C0B312567BB231DD303D21008E29813377AFFFEAFD269A417C69337E82CC2E827F84554CEF50127C277FBC8AE2E8BA83251EDC214901ED5E8D9A59859A8B65D56369A3576CBA5089D37D7C0E48F6C5571747095F342E88FB05168BE4CE3AF X-C8649E89: 4E36BF7865823D7055A7F0CF078B5EC49A30900B95165D346F8291983715AC66B36C9C7BA3D458C17239B65552007C0D15E1868E13B5EADD220FA77E6D643E391D7E09C32AA3244CBCBF2038CE53A34EE7020A30524F2D8FFE8DA44ABE2443F7927AC6DF5659F194 X-D57D3AED: 3ZO7eAau8CL7WIMRKs4sN3D3tLDjz0dLbV79QFUyzQ2Ujvy7cMT6pYYqY16iZVKkSc3dCLJ7zSJH7+u4VD18S7Vl4ZUrpaVfd2+vE6kuoey4m4VkSEu530nj6fImhcD4MUrOEAnl0W826KZ9Q+tr5ycPtXkTV4k65bRjmOUUP8cvGozZ33TWg5HZplvhhXbhDGzqmQDTd6OAevLeAnq3Ra9uf7zvY2zzsIhlcp/Y7m53TZgf2aB4JOg4gkr2biojWYY/8C2LS7WfxjMBIf1Xow== X-DA7885C5: 34D9583BAA958D3779AC438BEC1071200146532DEBC212CB145B183E998A80BC262E2D401490A4A0DB037EFA58388B346E8BC1A9835FDE71 X-Mailru-Sender: 689FA8AB762F73933AF1F914F131DBF5597CCE724E333F0BBF3D5D489A56A8D40FBE9A32752B8C9C2AA642CC12EC09F1FB559BB5D741EB962F61BD320559CF1EFD657A8799238ED55FEEDEB644C299C0ED14614B50AE0675 X-Mras: Ok Subject: Re: [Tarantool-patches] [PATCH luajit 2/3] ci: introduce workflow for exotic builds 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" Hi, Sergos! Thanks for the review! On 27.01.23, sergos wrote: > Hi! > > Thanks for the patch! > > Some question on build options. > > Sergos > > > On 18 Jan 2023, at 23:16, Sergey Kaplun wrote: > > > > This workflow is well-suited for test specific builds like dual-number > > mode on x86_x64, build with disabled JIT or FFI, etc. > > > > For now, just the dual-number mode is added, due to the need to test > > future commits. If there is need to add a new build type `FLAVOR` column > ^ ^--------- > a then(?) the > > > of CI matrix should be exposed. Also, just Linux x86_64 is tested, > extended? xxxxx ^ only > Thanks, fixed! The new commit message is the following: | ci: introduce workflow for exotic builds | | This workflow is well-suited for test specific builds like dual-number | mode on x86_x64, build with disabled JIT or FFI, etc. | | For now, just the dual-number mode is added, due to the need to test | future commits. If there is a need to add a new build type, then the | `FLAVOR` column of CI matrix should be extended. Also, only Linux x86_64 | is tested, because we want to decrease resource usage in CI. > > because we want to decrease resource usage in CI. > > --- > > .github/workflows/exotic-builds-testing.yml | 71 +++++++++++++++++++++ > > 1 file changed, 71 insertions(+) > > create mode 100644 .github/workflows/exotic-builds-testing.yml > > > > diff --git a/.github/workflows/exotic-builds-testing.yml b/.github/workflows/exotic-builds-testing.yml > > new file mode 100644 > > index 00000000..cd0c14d7 > > --- /dev/null > > +++ b/.github/workflows/exotic-builds-testing.yml > > @@ -0,0 +1,71 @@ > > +name: "Exotic builds testing" > > + > > +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-1.10, tarantool-2.8, > > + # 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: ${{ ( > > + github.ref == 'refs/heads/tarantool' || > > + 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-x86_64-exotic: > > + strategy: > > + fail-fast: false > > + matrix: > > + BUILDTYPE: [Debug, Release] > > + GC64: [ON, OFF] > > + FLAVOR: [dualnum] > > + include: > > + - BUILDTYPE: Debug > > + CMAKEFLAGS: -DCMAKE_BUILD_TYPE=Debug -DLUA_USE_ASSERT=ON -DLUA_USE_APICHECK=ON > > + - BUILDTYPE: Release > > + CMAKEFLAGS: -DCMAKE_BUILD_TYPE=RelWithDebInfo > > Shall we add the -DLUAJIT_ENABLE_CHECKHOOK and -DLUAJIT_SMART_STRINGS=1 since they are in Tarantool by default? -DLUAJIT_SMART_STRINGS=1 is set by default, so it's OK not to set it mannually. OTOH, -DLUAJIT_ENABLE_CHECKHOOK is not set by default. I prefer not to set it for this particular workflow, because I plan to use it for very specific builds (even impossible for Tarantool) for example with -DLUAJIT_DISABLE_JIT=ON, -DLUAJIT_DISABLE_FFI=ON flags. Also, this flag is not set for default LuaJIT testing, so I tried to make those workflows look similar. But if we want to add this flag for default build or testing we should add it for this workflow too. CC-ed Igor to hear his opinion. > > > + - FLAVOR: dualnum > > + FLAVORFLAGS: -DLUAJIT_NUMMODE=2 > > + runs-on: [self-hosted, regular, Linux, x86_64] > > + name: > > > + LuaJIT ${{ matrix.FLAVOR }} > > + (Linux/x86_64) > > + ${{ matrix.BUILDTYPE }} > > + GC64:${{ matrix.GC64 }} > > + steps: > > + - uses: actions/checkout@v2.3.4 > > + with: > > + fetch-depth: 0 > > + submodules: recursive > > + - name: setup Linux > > + uses: ./.github/actions/setup-linux > > + - name: configure > > + run: > > > + cmake -S . -B ${{ env.BUILDDIR }} > > + -G Ninja > > + ${{ matrix.CMAKEFLAGS }} > > + ${{ matrix.FLAVORFLAGS }} > > + -DLUAJIT_ENABLE_GC64=${{ matrix.GC64 }} > > + - name: build > > + run: cmake --build . --parallel > > + working-directory: ${{ env.BUILDDIR }} > > + - name: test > > + run: cmake --build . --parallel --target test > > + working-directory: ${{ env.BUILDDIR }} > > -- > > 2.34.1 > > > -- Best regards, Sergey Kaplun