ci: build Linux plugin inside debian:stable-slim for GLIBC compatibility#122
Open
RobinDavid with Copilot wants to merge 2 commits into
Open
ci: build Linux plugin inside debian:stable-slim for GLIBC compatibility#122RobinDavid with Copilot wants to merge 2 commits into
RobinDavid with Copilot wants to merge 2 commits into
Conversation
…compatibility Run the warm-cache, cpp-tests, and build jobs for Linux inside a docker.io/library/debian:stable-slim container so the produced .so binaries link against Debian stable's GLIBC, matching the compatibility goal requested in #51. Key changes: - Add `container: docker.io/library/debian:stable-slim` to the Linux variants of warm-cache, cpp-tests, and build jobs. - Install cmake, ninja, g++/gcc, liblzma-dev, ccache, wget and other build tools via apt-get inside the container (no sudo, running as root). - Skip the jwlawson/actions-setup-cmake and seanmiddleditch/gha-setup-ninja setup actions for Linux; the container's apt-provided cmake/ninja are sufficient (Debian stable ships cmake 3.25.x, well above the 3.13 minimum). - Update FetchContent and ccache cache keys to use `matrix.platform` (linux-debian-stable / macos-latest) so Debian and Ubuntu caches remain isolated and don't pollute each other. - Remove all `sudo apt-get` invocations from Linux steps (root in container).
Copilot
AI
changed the title
[WIP] Add support for Debian stable LIBC version
ci: build Linux plugin inside debian:stable-slim for GLIBC compatibility
Jun 28, 2026
Collaborator
Collaborator
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Binaries compiled on
ubuntu-latestlink against a newer GLIBC than what Debian stable ships, making the plugin unusable on Debian-stable systems.Changes
Container per job:
warm-cache,cpp-tests, andbuildjobs now run Linux steps insidedocker.io/library/debian:stable-slimvia GitHub Actionscontainer:at the job level. macOS paths are unaffected.Build toolchain from apt: A new "Install build dependencies (Linux)" step installs
cmake,ninja-build,g++/gcc,git,liblzma-dev,ccache,wget, etc. from Debian's package repos inside the container (nosudo— root in container). Thesetup-cmakeandsetup-ninjaGitHub Actions steps are skipped for Linux since their host-installed binaries are not accessible inside the container. Debian stable ships cmake 3.25.x, well above the project'scmake_minimum_required(VERSION 3.13).Isolated cache keys: Introduced a
platformmatrix variable (linux-debian-stable/macos-latest) used infetchcontent-andccache-cache keys so Debian-compiled objects don't collide with any pre-existing Ubuntu-built caches.No
sudo: Allsudo apt-getcalls in Linux steps removed (container runs as root).