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 AAA3A26D88F; Wed, 18 Jan 2023 23:21:23 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 dev.tarantool.org AAA3A26D88F DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=tarantool.org; s=dev; t=1674073283; bh=NeD7+aLgSbWtBjq8a8nkxxRtPyFablhn0YqSc1P7UjU=; h=To:Date:In-Reply-To:References:Subject:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc: From; b=XbtDm6KPu3knE9ASP7SebVUW1iv9nAwKwE8Zr5VKqUPGZkogHmMdBAP19VZQuyJ8S egsccRXAY0L9+8GnVNCh9pucXsrW2sOS1J1ZFhhM3SoEWpaiSZieu8YLJ3UQCbLA1n CYJaBv7AcKvoXHHjK9OkVtS1zQ6t+V/fMoYDwm+s= Received: from smtp33.i.mail.ru (smtp33.i.mail.ru [95.163.41.74]) (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 832C326D890 for ; Wed, 18 Jan 2023 23:20:23 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 dev.tarantool.org 832C326D890 Received: by smtp33.i.mail.ru with esmtpa (envelope-from ) id 1pIEv0-00820q-IC; Wed, 18 Jan 2023 23:20:23 +0300 To: Sergey Ostanevich , Maxim Kokryashkin Date: Wed, 18 Jan 2023 23:16:55 +0300 Message-Id: X-Mailer: git-send-email 2.34.1 In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Mailru-Src: smtp X-4EC0790: 10 X-7564579A: 646B95376F6C166E X-77F55803: 4F1203BC0FB41BD90D1502B3BE350FE40E23D653D29D0E60387BEEA10ED19E0300894C459B0CD1B9C0AB5A171F3C43E751B020D589265BE93A1AEED0763AC6E0B6BD4AB1FA1FD2A3 X-7FA49CB5: FF5795518A3D127A4AD6D5ED66289B5278DA827A17800CE7AD2F2D6F6013FF7FC2099A533E45F2D0395957E7521B51C2CFCAF695D4D8E9FCEA1F7E6F0F101C6778DA827A17800CE74C265300876DF1838F08D7030A58E5AD1A62830130A00468AEEEE3FBA3A834EE7353EFBB553375665A3559B9C99BCECAB963D11B9A6C1FEE27920D1B9228804FA471835C12D1D9774AD6D5ED66289B5278DA827A17800CE71AE4D56B06699BBC9FA2833FD35BB23D2EF20D2F80756B5F868A13BD56FB6657A471835C12D1D977725E5C173C3A84C379B43926E2880B3CCC7F00164DA146DA6F5DAA56C3B73B237318B6A418E8EAB8D32BA5DBAC0009BE9E8FC8737B5C22495C55B3CE9220558776E601842F6C81A12EF20D2F80756B5F7E9C4E3C761E06A776E601842F6C81A127C277FBC8AE2E8B9FC99A4BA45EE8B4D81D268191BDAD3D3666184CF4C3C14F3FC91FA280E0CE3D1A620F70A64A45A98AA50765F79006372E808ACE2090B5E1725E5C173C3A84C3C5EA940A35A165FF2DBA43225CD8A89FB26E97DCB74E6252156CCFE7AF13BCA4B5C8C57E37DE458BEDA766A37F9254B7 X-C1DE0DAB: 0D63561A33F958A54438E4C6FB94ED322F64DE6B9B3D3DB15E9C614FDA63AB0B4EAF44D9B582CE87C8A4C02DF684249CC203C45FEA855C8F X-C8649E89: 4E36BF7865823D7055A7F0CF078B5EC49A30900B95165D34E420FF71F2F0FE03935E981319CB7B5E1C08C8B0392238BA96D4214F0F99D05CD910E2AE8D2E81AC1D7E09C32AA3244CC7B44309A9041FFA1718F47F279BC4CD95A9E0DC41E9A4CF927AC6DF5659F194 X-D57D3AED: 3ZO7eAau8CL7WIMRKs4sN3D3tLDjz0dLbV79QFUyzQ2Ujvy7cMT6pYYqY16iZVKkSc3dCLJ7zSJH7+u4VD18S7Vl4ZUrpaVfd2+vE6kuoey4m4VkSEu530nj6fImhcD4MUrOEAnl0W826KZ9Q+tr5ycPtXkTV4k65bRjmOUUP8cvGozZ33TWg5HZplvhhXbhDGzqmQDTd6OAevLeAnq3Ra9uf7zvY2zzsIhlcp/Y7m53TZgf2aB4JOg4gkr2biojrgi5U++pMSND8dGgLT6xdQ== X-Mailru-Sender: F16D9CAFEEA6770E7B6EAD4ADB3BCAF03F86C7A6B66549A3EF7B82B556437F322EFB46E87CE71F93F2400F607609286E924004A7DEC283833C7120B22964430C52B393F8C72A41A84198E0F3ECE9B5443453F38A29522196 X-Mras: Ok Subject: [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" 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 of CI matrix should be exposed. Also, just Linux x86_64 is tested, 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 + - 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