]> git.ipfire.org Git - thirdparty/rspamd.git/commit
[Test] ci: build and test the jemalloc configuration 6155/head
authorVsevolod Stakhov <vsevolod@rspamd.com>
Mon, 27 Jul 2026 11:12:30 +0000 (12:12 +0100)
committerVsevolod Stakhov <vsevolod@rspamd.com>
Mon, 27 Jul 2026 11:12:30 +0000 (12:12 +0100)
commitf40c2b868534fe338e13e5e88403aa4c1a6cdc69
treed30b0c614423c8dc32b760a715294aa1ad76cf7e
parenta2b649e9e27a4017ae7e892506482b7ed556baca
[Test] ci: build and test the jemalloc configuration

rspamd ships jemalloc-enabled packages -- debian/rules turns it on for
every architecture but arm64, rpm/rspamd.spec turns it on everywhere --
yet no workflow ever passed -DENABLE_JEMALLOC. The only mention under
.github was openbsd_build.yml setting it OFF. jemalloc replaces the
allocator for the whole process, so that is a large untested surface,
and #6153 is what it let through: a startup segfault reachable only in
a jemalloc build.

Add an enable_jemalloc input to both reusable workflows and set it
explicitly per job so each one states which package it mirrors.

ubuntu_amd64 turns it on. That is the shipped Debian/Ubuntu amd64
configuration and the only job running the functional suite, and the
binary it uploads is what webui-e2e-playwright then exercises.
ubuntu-focal turns it on too, covering the gcc-10 floor. Neither needs
an image change: rspamd-build-docker installs libjemalloc-dev in the
amd64 branch of both Dockerfiles.

ubuntu_arm64 stays off deliberately, matching debian/rules, which also
disables jemalloc there; the arm64 image takes the vectorscan branch
and skips libjemalloc-dev anyway.

fedora and centos-8/9 stay off for now with a note. Their packages do
build with jemalloc, but the images install the runtime library only
(centos) or nothing at all (fedora), so enabling them needs
jemalloc-devel added in rspamd/rspamd-build-docker first.

Issue: #6153
.github/workflows/ci.yml
.github/workflows/ci_rspamd.yml
.github/workflows/ci_rspamd_build.yml