Skip to content

Commit 366330a

Browse files
committed
ci: add pure cmake . && make build flow
The new CI rule ensures that a usual developer build flow is working. It also improves testing by using the `Debug` build type, which adds the `-Werror` compiler option. Compiler warnings are interpreted as errors in this case. It is inspired by #24, where the `Debug` build fails, but `RelWithDebInfo` is fine. This commit follows a spirit of [1], where it was declared that we should verify as developer's flow as well as user's flow. We missed developer's flow in CI of this module and now it is here. [1]: tarantool/tarantool#6056
1 parent 946466d commit 366330a

File tree

1 file changed

+27
-2
lines changed

1 file changed

+27
-2
lines changed

.github/workflows/fast_testing.yml

Lines changed: 27 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,9 @@ jobs:
2424
- '2.6'
2525
- '2.7'
2626
- '2.8'
27+
build_flow:
28+
- 'cmake_and_make'
29+
- 'luarocks'
2730

2831
runs-on: ubuntu-latest
2932
steps:
@@ -35,5 +38,27 @@ jobs:
3538
- name: Clone the module
3639
uses: actions/checkout@v2
3740

38-
- run: tarantoolctl rocks make
39-
- run: make -C build.luarocks/ ARGS=-VV test
41+
# A developer of the module usually calls `cmake . && make`
42+
# or something similar. Here we ensure that this build flow
43+
# is fine.
44+
#
45+
# Debug is a default build type, so compiler warnings are
46+
# interpreted as errors here.
47+
- run: >
48+
cmake .
49+
make
50+
make ARGS=-VV test
51+
if: matrix.build_flow == 'cmake_and_make'
52+
53+
# A user usually calls `tarantoolctl rocks install
54+
# <module_name> [<version>]`. Here we imitate this build
55+
# flow using `tarantoolctl rocks make`, which is like the
56+
# former, but uses a locally cloned repository.
57+
#
58+
# RelWithDebInfo build type is used under the hood, so
59+
# compiler warnings are just warnings: they do not fail the
60+
# build.
61+
- run: >
62+
tarantoolctl rocks make
63+
make -C build.luarocks/ ARGS=-VV test
64+
if: matrix.build_flow == 'luarocks'

0 commit comments

Comments
 (0)