From 8c2f51fcff2fd6d2373237dae19fcacd991f2f7a Mon Sep 17 00:00:00 2001 From: Peter Hutterer Date: Mon, 6 Mar 2023 16:00:22 +1000 Subject: [PATCH 1/8] tools: fix a debug message in the demo client --- tools/ei-demo-client.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tools/ei-demo-client.c b/tools/ei-demo-client.c index 2b1e9ac..dcbd416 100644 --- a/tools/ei-demo-client.c +++ b/tools/ei-demo-client.c @@ -368,15 +368,15 @@ int main(int argc, char **argv) break; case EI_EVENT_DEVICE_PAUSED: if (ei_event_get_device(e) == ptr) { - colorprint("Pointer device was resumed\n"); + colorprint("Pointer device was paused\n"); have_ptr = false; } if (ei_event_get_device(e) == kbd) { - colorprint("Keyboard device was resumed\n"); + colorprint("Keyboard device was paused\n"); have_kbd = false; } if (ei_event_get_device(e) == abs) { - colorprint("Abs pointer device was resumed\n"); + colorprint("Abs pointer device was paused\n"); have_abs = false; } break; From 46bef9fe865c5bc0417fd0b4db3dfd6e3e8af515 Mon Sep 17 00:00:00 2001 From: Peter Hutterer Date: Mon, 6 Mar 2023 15:53:13 +1000 Subject: [PATCH 2/8] tools: add touchscreen support to the eis-demo-server --- tools/eis-demo-server.c | 70 ++++++++++++++++++++++++++++++++++++++++- tools/eis-demo-server.h | 2 ++ 2 files changed, 71 insertions(+), 1 deletion(-) diff --git a/tools/eis-demo-server.c b/tools/eis-demo-server.c index a5e337a..4481627 100644 --- a/tools/eis-demo-server.c +++ b/tools/eis-demo-server.c @@ -122,6 +122,7 @@ eis_demo_client_destroy(struct eis_demo_client *democlient) eis_device_unref(democlient->ptr); eis_device_unref(democlient->abs); eis_device_unref(democlient->kbd); + eis_device_unref(democlient->touchscreen); } static @@ -303,8 +304,19 @@ add_device(struct eis_demo_server *server, struct eis_client *client, break; } case EIS_DEVICE_CAP_TOUCH: - assert(!"Not implemented"); + { + struct eis_device *touchscreen = eis_seat_new_device(seat); + eis_device_configure_name(touchscreen, "test touchscreen"); + eis_device_configure_capability(touchscreen, EIS_DEVICE_CAP_TOUCH); + colorprint("Creating touchscreen device %s for %s\n", eis_device_get_name(touchscreen), + eis_client_get_name(client)); + eis_device_add(touchscreen); + eis_device_resume(touchscreen); + if (!eis_client_is_sender(client)) + eis_device_start_emulating(touchscreen, ++sequence); + device = steal(&touchscreen); break; + } } return device; @@ -391,6 +403,16 @@ eis_demo_server_printf_handle_event(struct eis_demo_server *server, } } + if (eis_event_seat_has_capability(e, EIS_DEVICE_CAP_TOUCH)) { + if (!democlient->touchscreen) + democlient->touchscreen = add_device(server, client, seat, EIS_DEVICE_CAP_TOUCH); + } else { + if (democlient->touchscreen) { + eis_device_remove(democlient->touchscreen); + democlient->touchscreen = eis_device_unref(democlient->touchscreen); + } + } + /* Special "Feature", if all caps are unbound remove the seat. * This is a demo server after all, so let's demo this. */ if (!eis_event_seat_has_capability(e, EIS_DEVICE_CAP_POINTER) && @@ -418,6 +440,9 @@ eis_demo_server_printf_handle_event(struct eis_demo_server *server, if (democlient->kbd == device) democlient->kbd = NULL; + if (democlient->touchscreen == device) + democlient->touchscreen = NULL; + eis_device_unref(device); } break; @@ -475,6 +500,21 @@ eis_demo_server_printf_handle_event(struct eis_demo_server *server, eis_event_keyboard_get_key_is_press(e)); } break; + case EIS_EVENT_TOUCH_DOWN: + case EIS_EVENT_TOUCH_MOTION: + { + colorprint("touch %s %u %.2f/%.2f\n", + eis_event_get_type(e) == EIS_EVENT_TOUCH_DOWN ? "down" : "motion", + eis_event_touch_get_id(e), + eis_event_touch_get_x(e), + eis_event_touch_get_y(e)); + } + break; + case EIS_EVENT_TOUCH_UP: + { + colorprint("touch up %u\n", eis_event_touch_get_id(e)); + } + break; case EIS_EVENT_FRAME: /* nothing to do, we're not fancy enough to accumulate events properly */ break; @@ -629,6 +669,7 @@ int main(int argc, char **argv) struct eis_device *ptr = democlient->ptr; struct eis_device *kbd = democlient->kbd; struct eis_device *abs = democlient->abs; + struct eis_device *touchscreen = democlient->touchscreen; if (ptr) { colorprint("sending motion event\n"); eis_device_pointer_motion(ptr, -1, 1); @@ -668,6 +709,33 @@ int main(int argc, char **argv) eis_device_frame(abs, now); now += interval; } + + if (touchscreen) { + static int x, y; + static int counter = 0; + struct eis_touch *touch = democlient->touch; + + switch (counter++ % 5) { + case 0: + colorprint("sending touch down event\n"); + touch = eis_device_touch_new(touchscreen); + eis_touch_down(touch, 100 + ++x, 200 - ++y); + eis_device_frame(touchscreen, now); + democlient->touch = touch; + break; + case 4: + colorprint("sending touch down event\n"); + eis_touch_up(touch); + eis_device_frame(touchscreen, now); + democlient->touch = eis_touch_unref(touch); + break; + default: + eis_touch_motion(touch, 100 + ++x, 200 - ++y); + eis_device_frame(touchscreen, now); + break; + } + + } } } diff --git a/tools/eis-demo-server.h b/tools/eis-demo-server.h index 5f57ed0..00adefd 100644 --- a/tools/eis-demo-server.h +++ b/tools/eis-demo-server.h @@ -38,6 +38,8 @@ struct eis_demo_client { struct eis_device *ptr; struct eis_device *kbd; struct eis_device *abs; + struct eis_device *touchscreen; + struct eis_touch *touch; }; struct eis_demo_server { From 44295ab0441588160b3fe28b48edf4ea0bd5d33c Mon Sep 17 00:00:00 2001 From: Peter Hutterer Date: Mon, 6 Mar 2023 16:08:26 +1000 Subject: [PATCH 3/8] tools: add touch support to the ei-demo-client --- tools/ei-demo-client.c | 58 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) diff --git a/tools/ei-demo-client.c b/tools/ei-demo-client.c index dcbd416..383f979 100644 --- a/tools/ei-demo-client.c +++ b/tools/ei-demo-client.c @@ -279,11 +279,13 @@ int main(int argc, char **argv) _unref_(ei_device) *ptr = NULL; _unref_(ei_device) *kbd = NULL; _unref_(ei_device) *abs = NULL; + _unref_(ei_device) *touch = NULL; bool stop = false; bool have_ptr = false; bool have_kbd = false; bool have_abs = false; + bool have_touch = false; struct ei_seat *default_seat = NULL; uint32_t sequence = 0; @@ -344,6 +346,11 @@ int main(int argc, char **argv) abs = ei_device_ref(device); handle_regions(device); } + if (ei_device_has_capability(device, EI_DEVICE_CAP_TOUCH)) { + colorprint("New touch device: %s\n", ei_device_get_name(device)); + touch = ei_device_ref(device); + handle_regions(device); + } } break; case EI_EVENT_DEVICE_RESUMED: @@ -365,6 +372,12 @@ int main(int argc, char **argv) colorprint("Abs pointer device was resumed\n"); have_abs = true; } + if (ei_event_get_device(e) == touch) { + if (!receiver) + ei_device_start_emulating(touch, ++sequence); + colorprint("Touch device was resumed\n"); + have_touch = true; + } break; case EI_EVENT_DEVICE_PAUSED: if (ei_event_get_device(e) == ptr) { @@ -379,6 +392,10 @@ int main(int argc, char **argv) colorprint("Abs pointer device was paused\n"); have_abs = false; } + if (ei_event_get_device(e) == touch) { + colorprint("Touch device was paused\n"); + have_touch = false; + } break; case EI_EVENT_DEVICE_REMOVED: { @@ -441,6 +458,21 @@ int main(int argc, char **argv) ei_event_keyboard_get_key_is_press(e) ? "press" : "release"); } break; + case EI_EVENT_TOUCH_DOWN: + case EI_EVENT_TOUCH_MOTION: + { + colorprint("touch %s %u %.2f/%.2f\n", + ei_event_get_type(e) == EI_EVENT_TOUCH_DOWN ? "down" : "motion", + ei_event_touch_get_id(e), + ei_event_touch_get_x(e), + ei_event_touch_get_y(e)); + } + break; + case EI_EVENT_TOUCH_UP: + { + colorprint("touch up %u\n", ei_event_touch_get_id(e)); + } + break; default: abort(); } @@ -492,6 +524,32 @@ int main(int argc, char **argv) ei_device_frame(abs, now); now += interval; } + + if (have_touch) { + static int x, y; + static int counter = 0; + static struct ei_touch *t; + + switch (counter++ % 5) { + case 0: + colorprint("sending touch down event\n"); + t = ei_device_touch_new(touch); + ei_touch_down(t, 100 + ++x, 200 - ++y); + ei_device_frame(touch, now); + break; + case 4: + colorprint("sending touch down event\n"); + ei_touch_up(t); + ei_device_frame(touch, now); + t = ei_touch_unref(t); + break; + default: + ei_touch_motion(t, 100 + ++x, 200 - ++y); + ei_device_frame(touch, now); + break; + } + + } } } From 7810be8a80fe89a6c6caccd6b44521b085e95408 Mon Sep 17 00:00:00 2001 From: Peter Hutterer Date: Tue, 7 Mar 2023 10:59:42 +1000 Subject: [PATCH 4/8] meson: split into separate meson.build files for src/tools --- meson.build | 157 ++-------------------------------------------- src/meson.build | 124 ++++++++++++++++++++++++++++++++++++ tools/meson.build | 40 ++++++++++++ 3 files changed, 168 insertions(+), 153 deletions(-) create mode 100644 src/meson.build create mode 100644 tools/meson.build diff --git a/meson.build b/meson.build index cbc625b..ae545ab 100644 --- a/meson.build +++ b/meson.build @@ -56,165 +56,16 @@ config_h.set_quoted('EIS_VERSION', meson.project_version()) config_h.set('EI_PROTOCOL_VERSION', protocol_version) config_h.set('EIS_PROTOCOL_VERSION', protocol_version) -subdir('proto') - -src_libutil = files( - 'src/util-bits.c', - 'src/util-io.c', - 'src/util-list.c', - 'src/util-logger.c', - 'src/util-memfile.c', - 'src/util-sources.c', - 'src/util-strings.c', -) - -lib_util = static_library('util', src_libutil) - -dep_libutil = declare_dependency(link_with: lib_util) - -src_libei = files( - 'src/brei-shared.c', - 'src/libei.c', - 'src/libei-device.c', - 'src/libei-event.c', - 'src/libei-fd.c', - 'src/libei-log.c', - 'src/libei-proto.c', - 'src/libei-region.c', - 'src/libei-seat.c', - 'src/libei-socket.c', -) + [proto_headers] - -deps_libei = [ - dep_libutil, - dep_protobuf, -] - -lib_libei = shared_library('ei', - src_libei, - dependencies: deps_libei, - include_directories: [inc_proto], - gnu_symbol_visibility: 'hidden', - install: true -) -install_headers('src/libei.h') - -dep_libei = declare_dependency(link_with: lib_libei, - include_directories: [inc_src]) -meson.override_dependency('libei', dep_libei) - -pkgconfig.generate(lib_libei, - filebase: 'libei', - name: 'libEI', - description: 'Emulated Input client library', - version: meson.project_version(), - libraries: lib_libei, - variables: [ - 'protocol_version=' + protocol_version.to_string(), - ], -) - -src_libeis = files( - 'src/brei-shared.c', - 'src/libeis.c', - 'src/libeis-client.c', - 'src/libeis-device.c', - 'src/libeis-event.c', - 'src/libeis-fd.c', - 'src/libeis-log.c', - 'src/libeis-proto.c', - 'src/libeis-region.c', - 'src/libeis-seat.c', - 'src/libeis-socket.c', -) + [proto_headers] - -lib_libeis = shared_library('eis', - src_libeis, - dependencies: [dep_libutil, dep_protobuf], - include_directories: [inc_proto], - gnu_symbol_visibility: 'hidden', - install: true -) -install_headers('src/libeis.h') - -dep_libeis = declare_dependency(link_with: lib_libeis, - include_directories: [inc_src]) -meson.override_dependency('libeis', dep_libeis) - -pkgconfig.generate(lib_libeis, - filebase: 'libeis', - name: 'libEIS', - description: 'Emulated Input server library', - version: meson.project_version(), - libraries: lib_libeis, - variables: [ - 'protocol_version=' + protocol_version.to_string(), - ], -) - +# Depeendencies for the demo tools dep_libxkbcommon = dependency('xkbcommon', required: false) config_h.set10('HAVE_LIBXKBCOMMON', dep_libxkbcommon.found()) dep_libevdev = dependency('libevdev', required: false) config_h.set10('HAVE_LIBEVDEV', dep_libevdev.found()) - -src_eis_demo_server = files( - 'tools/eis-demo-server.c', -) -if dep_libevdev.found() - src_eis_demo_server += files( - 'tools/eis-demo-server-uinput.c', - ) -endif - - -executable('eis-demo-server', - src_eis_demo_server, - dependencies: [ - dep_libutil, - dep_libeis, - dep_libxkbcommon, - dep_libevdev - ]) - -executable('ei-demo-client', - 'tools/ei-demo-client.c', - dependencies: [dep_libutil, dep_libei, dep_libxkbcommon]) - -executable('ei-debug-events', - 'tools/ei-debug-events.c', - dependencies: [dep_libutil, dep_libei, dep_libevdev], - install: true) - dep_systemd = dependency('libsystemd', required: get_option('liboeffis')) -build_oeffis = dep_systemd.found() -if build_oeffis - src_liboeffis = files('src/liboeffis.c') - deps_liboeffis = [dep_libutil, dep_systemd] - lib_liboeffis = shared_library('oeffis', - src_liboeffis, - dependencies: deps_liboeffis, - gnu_symbol_visibility: 'hidden', - install: true - ) - install_headers('src/liboeffis.h') - - dep_liboeffis = declare_dependency(link_with: lib_liboeffis, - include_directories: [inc_src]) - meson.override_dependency('liboeffis', dep_liboeffis) - - pkgconfig.generate(lib_liboeffis, - filebase: 'liboeffis', - name: 'libOeffis', - description: 'RemoteDesktop portal DBus helper library', - version: meson.project_version(), - libraries: lib_liboeffis, - ) - - executable('oeffis-demo-tool', - 'tools/oeffis-demo-tool.c', - dependencies: [dep_libutil, dep_liboeffis]) -endif +subdir('proto') +subdir('src') +subdir('tools') # tests if get_option('tests') diff --git a/src/meson.build b/src/meson.build new file mode 100644 index 0000000..4fa8fcf --- /dev/null +++ b/src/meson.build @@ -0,0 +1,124 @@ +src_libutil = files( + 'util-bits.c', + 'util-io.c', + 'util-list.c', + 'util-logger.c', + 'util-memfile.c', + 'util-sources.c', + 'util-strings.c', +) + +lib_util = static_library('util', + src_libutil, + include_directories: [inc_builddir], +) + +dep_libutil = declare_dependency(link_with: lib_util) + +src_libei = files( + 'brei-shared.c', + 'libei.c', + 'libei-device.c', + 'libei-event.c', + 'libei-fd.c', + 'libei-log.c', + 'libei-proto.c', + 'libei-region.c', + 'libei-seat.c', + 'libei-socket.c', +) + [proto_headers] + +deps_libei = [ + dep_libutil, + dep_protobuf, +] + +lib_libei = shared_library('ei', + src_libei, + dependencies: deps_libei, + include_directories: [inc_proto, inc_builddir], + gnu_symbol_visibility: 'hidden', + install: true +) +install_headers('libei.h') + +dep_libei = declare_dependency(link_with: lib_libei, + include_directories: [inc_src]) +meson.override_dependency('libei', dep_libei) + +pkgconfig.generate(lib_libei, + filebase: 'libei', + name: 'libEI', + description: 'Emulated Input client library', + version: meson.project_version(), + libraries: lib_libei, + variables: [ + 'protocol_version=' + protocol_version.to_string(), + ], +) + +src_libeis = files( + 'brei-shared.c', + 'libeis.c', + 'libeis-client.c', + 'libeis-device.c', + 'libeis-event.c', + 'libeis-fd.c', + 'libeis-log.c', + 'libeis-proto.c', + 'libeis-region.c', + 'libeis-seat.c', + 'libeis-socket.c', +) + [proto_headers] + +lib_libeis = shared_library('eis', + src_libeis, + dependencies: [dep_libutil, dep_protobuf], + include_directories: [inc_proto, inc_builddir], + gnu_symbol_visibility: 'hidden', + install: true +) +install_headers('libeis.h') + +dep_libeis = declare_dependency(link_with: lib_libeis, + include_directories: [inc_src]) +meson.override_dependency('libeis', dep_libeis) + +pkgconfig.generate(lib_libeis, + filebase: 'libeis', + name: 'libEIS', + description: 'Emulated Input server library', + version: meson.project_version(), + libraries: lib_libeis, + variables: [ + 'protocol_version=' + protocol_version.to_string(), + ], +) + +build_oeffis = dep_systemd.found() +if build_oeffis + src_liboeffis = files('liboeffis.c') + deps_liboeffis = [dep_libutil, dep_systemd] + + lib_liboeffis = shared_library('oeffis', + src_liboeffis, + include_directories: [inc_builddir], + dependencies: deps_liboeffis, + gnu_symbol_visibility: 'hidden', + install: true + ) + install_headers('liboeffis.h') + + dep_liboeffis = declare_dependency(link_with: lib_liboeffis, + include_directories: [inc_src]) + meson.override_dependency('liboeffis', dep_liboeffis) + + pkgconfig.generate(lib_liboeffis, + filebase: 'liboeffis', + name: 'libOeffis', + description: 'RemoteDesktop portal DBus helper library', + version: meson.project_version(), + libraries: lib_liboeffis, + ) + +endif diff --git a/tools/meson.build b/tools/meson.build new file mode 100644 index 0000000..cac1a2c --- /dev/null +++ b/tools/meson.build @@ -0,0 +1,40 @@ +src_eis_demo_server = files( + 'eis-demo-server.c', +) +if dep_libevdev.found() + src_eis_demo_server += files( + 'eis-demo-server-uinput.c', + ) +endif + +executable('eis-demo-server', + src_eis_demo_server, + dependencies: [ + dep_libutil, + dep_libeis, + dep_libxkbcommon, + dep_libevdev + ], + include_directories: [inc_builddir], +) + +executable('ei-demo-client', + 'ei-demo-client.c', + dependencies: [dep_libutil, dep_libei, dep_libxkbcommon], + include_directories: [inc_builddir], +) + +executable('ei-debug-events', + 'ei-debug-events.c', + dependencies: [dep_libutil, dep_libei, dep_libevdev], + include_directories: [inc_builddir], + install: true +) + +if build_oeffis + executable('oeffis-demo-tool', + 'oeffis-demo-tool.c', + include_directories: [inc_builddir], + dependencies: [dep_libutil, dep_liboeffis], + ) +endif From 25e36eb24e5a966cf32ae8680b6cfb9825eebac8 Mon Sep 17 00:00:00 2001 From: Peter Hutterer Date: Tue, 7 Mar 2023 11:08:13 +1000 Subject: [PATCH 5/8] meson: move the "build this?" checks into the subdirs Let's decide on what to build in the doc/ and test/ directory rather than in the main file. --- doc/meson.build | 4 ++++ meson.build | 12 +++--------- test/meson.build | 4 ++++ 3 files changed, 11 insertions(+), 9 deletions(-) diff --git a/doc/meson.build b/doc/meson.build index 016484d..aa45c18 100644 --- a/doc/meson.build +++ b/doc/meson.build @@ -1,3 +1,7 @@ +if not get_option('documentation') + subdir_done() +endif + doxygen = find_program('doxygen', required : false) if not doxygen.found() error('Program "doxygen" not found or not executable. Try building with -Ddocumentation=false') diff --git a/meson.build b/meson.build index ae545ab..beae801 100644 --- a/meson.build +++ b/meson.build @@ -62,18 +62,12 @@ config_h.set10('HAVE_LIBXKBCOMMON', dep_libxkbcommon.found()) dep_libevdev = dependency('libevdev', required: false) config_h.set10('HAVE_LIBEVDEV', dep_libevdev.found()) dep_systemd = dependency('libsystemd', required: get_option('liboeffis')) +configure_file(output: 'config.h', configuration: config_h) subdir('proto') subdir('src') subdir('tools') +subdir('test') +subdir('doc') -# tests -if get_option('tests') - subdir('test') -endif -configure_file(output: 'config.h', configuration: config_h) - -if get_option('documentation') - subdir('doc') -endif diff --git a/test/meson.build b/test/meson.build index 3611f11..33aa14a 100644 --- a/test/meson.build +++ b/test/meson.build @@ -1,3 +1,7 @@ +if not get_option('tests') + subdir_done() +endif + subproject('munit', default_options: 'werror=false') munit = dependency('munit', fallback: ['munit', 'munit_dep']) From a2e60be0e6a064c80b5e03d649252d8a03c7f7de Mon Sep 17 00:00:00 2001 From: Peter Hutterer Date: Tue, 7 Mar 2023 11:50:09 +1000 Subject: [PATCH 6/8] meson: fix a typo --- meson.build | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meson.build b/meson.build index beae801..811758f 100644 --- a/meson.build +++ b/meson.build @@ -56,7 +56,7 @@ config_h.set_quoted('EIS_VERSION', meson.project_version()) config_h.set('EI_PROTOCOL_VERSION', protocol_version) config_h.set('EIS_PROTOCOL_VERSION', protocol_version) -# Depeendencies for the demo tools +# Dependencies for the demo tools dep_libxkbcommon = dependency('xkbcommon', required: false) config_h.set10('HAVE_LIBXKBCOMMON', dep_libxkbcommon.found()) dep_libevdev = dependency('libevdev', required: false) From 367fa6384f7bde144a04ae72b8a7a6663fe20567 Mon Sep 17 00:00:00 2001 From: Peter Hutterer Date: Tue, 7 Mar 2023 11:54:10 +1000 Subject: [PATCH 7/8] test: fix the LD_LIBRARY_PATH to liboeffis Make this dependent on liboeffis directly instead of hardcoding where it should be. --- meson.build | 1 + test/meson.build | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/meson.build b/meson.build index 811758f..2bfeaac 100644 --- a/meson.build +++ b/meson.build @@ -5,6 +5,7 @@ project('libei', 'c', meson_version: '>= 0.57.0') pkgconfig = import('pkgconfig') +fs = import('fs') cc = meson.get_compiler('c') cflags =[ diff --git a/test/meson.build b/test/meson.build index 33aa14a..18f3baa 100644 --- a/test/meson.build +++ b/test/meson.build @@ -51,7 +51,7 @@ if build_oeffis dependencies: deps_liboeffis + [dep_unittest])) env = environment() - env.set('LD_LIBRARY_PATH', meson.project_build_root()) + env.set('LD_LIBRARY_PATH', fs.parent(lib_liboeffis.full_path())) pymod = import('python') pymod.find_installation('python3', modules: ['pytest', 'attr', 'dbusmock']) pytest = find_program('pytest-3', 'pytest') From 449d808b4277f690a4cd03388082f49b8698d0be Mon Sep 17 00:00:00 2001 From: Peter Hutterer Date: Tue, 7 Mar 2023 11:57:46 +1000 Subject: [PATCH 8/8] CI: always run the tests Embarassingly, only the valgrind test would actually run tests because it was the only one with a non-null MESON_TEST_ARGS. Let's fix this by explicitly telling the build script to run the tests. --- .gitlab-ci.yml | 2 +- .gitlab-ci/ci.template | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index f0594a7..be80e3e 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -180,7 +180,7 @@ fedora:37@container-prep: - .policy stage: build script: - - .gitlab-ci/meson-build.sh + - .gitlab-ci/meson-build.sh --run-test artifacts: name: "meson-logs-$CI_JOB_NAME" when: always diff --git a/.gitlab-ci/ci.template b/.gitlab-ci/ci.template index faca384..8862c50 100644 --- a/.gitlab-ci/ci.template +++ b/.gitlab-ci/ci.template @@ -197,7 +197,7 @@ python-ruff: - .policy stage: build script: - - .gitlab-ci/meson-build.sh + - .gitlab-ci/meson-build.sh --run-test artifacts: name: "meson-logs-$CI_JOB_NAME" when: always