[Tarantool-patches] [v2][PATCH 5/5] ci: add job with build using Ninja on linux-x86_64
Sergey Bronnikov
sergeyb at tarantool.org
Wed Jun 15 17:09:32 MSK 2022
Hi, Sergey
thanks for review!
On 15.06.2022 12:27, Sergey Kaplun wrote:
> Hi, Sergey!
>
> Thanks for the patch!
>
> LGTM, after fixes mentioned by Igor below and my 2 cents below.
>
> On 15.06.22, Igor Munkin via Tarantool-patches wrote:
>> Sergey,
>>
>> Thanks for the patch! LGTM as trivial, but please consider nits below.
>>
>> On 06.06.22, Sergey Bronnikov wrote:
>>> ---
>>> .github/workflows/linux-x86_64-ninja.yml | 51 ++++++++++++++++++++++++
>>> 1 file changed, 51 insertions(+)
>>> create mode 100644 .github/workflows/linux-x86_64-ninja.yml
>>>
>>> diff --git a/.github/workflows/linux-x86_64-ninja.yml b/.github/workflows/linux-x86_64-ninja.yml
>>> new file mode 100644
>>> index 00000000..833d36d9
>>> --- /dev/null
>>> +++ b/.github/workflows/linux-x86_64-ninja.yml
>>> @@ -0,0 +1,51 @@
>>> +name: "LuaJIT test workflow with Ninja (Linux/x86_64)"
>>> +
>>> +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-linux-x86_64:
> Nit: May be `test-linux-ninja-x86_64` is better?
> To be different from the same name for make target building?
Agree, fixed:
--- a/.github/workflows/linux-x86_64-ninja.yml
+++ b/.github/workflows/linux-x86_64-ninja.yml
@@ -29,10 +29,8 @@ concurrency:
cancel-in-progress: true
jobs:
- test-linux-x86_64:
+ test-linux-ninja-x86_64:
runs-on: ubuntu-20.04-self-hosted
>
>>> + runs-on: ubuntu-20.04-self-hosted
>>> + strategy:
>>> + fail-fast: false
> Nit: As far as there is no testing matrix we can omit strategy for it.
Seems so [1].
Fixed with patch below:
--- a/.github/workflows/linux-x86_64-ninja.yml
+++ b/.github/workflows/linux-x86_64-ninja.yml
@@ -31,8 +31,6 @@ concurrency:
jobs:
test-linux-x86_64:
runs-on: ubuntu-20.04-self-hosted
- strategy:
- fail-fast: false
name: Linux/x86_64 ${{ matrix.BUILDTYPE }}
steps:
- uses: actions/checkout at v2.3.4
1.
https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstrategyfail-fast
>
>>> + name: Linux/x86_64 ${{ matrix.BUILDTYPE }}
>> There is no testing matrix, so you can just name the workflow kinda
>> "Linux/x86_64 Ninja".
Fixed too.
>>
>>> + steps:
>>> + - uses: actions/checkout at v2.3.4
>>> + with:
>>> + fetch-depth: 0
>>> + submodules: recursive
>>> + - name: setup
>>> + run: |
>>> + sudo apt -y update
>>> + sudo apt -y install cmake ninja-build gcc perl
>>> + - name: configure
>>> + run: cmake . -DCMAKE_BUILD_TYPE=RelWithDebInfo -G Ninja
>>> + - name: build
>>> + run: cmake --build . -j $(nproc)
>>> + - name: test
>>> + run: cmake --build . -j $(nproc) -t test
>> Please, use long options, as we discussed here[1].
Fixed:
--- a/.github/workflows/linux-x86_64-ninja.yml
+++ b/.github/workflows/linux-x86_64-ninja.yml
@@ -44,6 +44,6 @@ jobs:
- name: configure
run: cmake . -DCMAKE_BUILD_TYPE=RelWithDebInfo -G Ninja
- name: build
- run: cmake --build . -j $(nproc)
+ run: cmake --build . --parallel $(($(nproc) + 1))
- name: test
- run: cmake --build . -j $(nproc) -t test
+ run: cmake --build . --parallel $(($(nproc) + 1)) --target test
>>
>>> --
>>> 2.25.1
>>>
>> [1]: https://lists.tarantool.org/tarantool-patches/YpjeijSClWO0v82Y@tarantool.org/
>>
>> --
>> Best regards,
>> IM
More information about the Tarantool-patches
mailing list