Jens Geyer created THRIFT-6361:
----------------------------------
Summary: Add a GitHub Actions CI job for the C (GLib) library
Key: THRIFT-6361
URL: https://issues.apache.org/jira/browse/THRIFT-6361
Project: Thrift
Issue Type: Improvement
Components: C glib - Library, Build Process
Reporter: Jens Geyer
No CI job runs the C (GLib) library's tests. {{build.yml}} configures every job
with {{--without-c_glib}}, and the static analysis job only builds
{{lib/c_glib}} and {{test/c_glib}} to run cppcheck. {{cmake.yml}} builds the
compiler only.
Proposed change: a {{lib-c_glib}} job, like the jobs added for D (THRIFT-6170),
Erlang (THRIFT-6171), Lua (THRIFT-6189) and JavaScript (THRIFT-6330), that runs
{{make \-C lib/c_glib/test check-am}}. Plain {{make check}} also enters
{{lib/c_glib/test/fuzz}}, where the fuzz targets have no {{main}} under gcc.
The job has to build with zlib, or {{ThriftZlibTransport}} goes untested:
configure probes zlib only when C++ is enabled, so with {{\-\-without-cpp}} the
zlib tests fail to link, and a CMake build with {{WITH_CPP=OFF}} leaves the
zlib library and its tests out altogether (THRIFT-6224). Either the job enables
C++, or the probe is fixed first.
Before it can be green on ubuntu-24.04: THRIFT-5680
({{testapplicationexception}}, {{testfdtransport}} and
{{testthriftfdreadcheck}} stop on GLib criticals) fails there with GLib 2.80,
while ubuntu-22.04 with GLib 2.72 passes. THRIFT-6224 also makes CMake builds
with {{WITH_CPP=OFF}} fail to link {{test/c_glib}}'s {{test_server}}.
_Drafted with AI assistance (Claude Opus 5); reviewed and posted by Jens Geyer._
--
This message was sent by Atlassian Jira
(v8.20.10#820010)