[Tarantool-patches] [PATCH luajit 2/3] ci: introduce workflow for exotic builds

Maxim Kokryashkin m.kokryashkin at tarantool.org
Tue Jan 24 17:20:20 MSK 2023


Hi, Sergey!
Thanks for the patch!
LGTM
--
Best regards,
Maxim Kokryashkin
 
 
> 
>>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 at 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
> 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.tarantool.org/pipermail/tarantool-patches/attachments/20230124/c53e9139/attachment.htm>


More information about the Tarantool-patches mailing list