Split compiler away for gnu and centos - #83
Draft
lloeki wants to merge 27 commits into
Draft
Conversation
lloeki
force-pushed
the
lloeki/split-compiler
branch
5 times, most recently
from
February 20, 2026 14:15
5902e67 to
1b1b67a
Compare
2 tasks
lloeki
force-pushed
the
lloeki/split-compiler
branch
from
July 22, 2026 11:16
8001739 to
f49de72
Compare
|
🔄 Datadog auto-retried 20 jobs - 20 passed on retry 🔗 Commit SHA: 8ca053b | Docs | Datadog PR Page | Give us feedback! |
Member
Author
|
Needs DataDog/system-tests#7357 to be merged before merging this one. |
5 tasks
Contributor
Do you mind elaborate more about the reason? Does images-rb purge the tag system-tests have been using? |
Member
Author
|
When we merge this current PR, The other PR changes system tests so that they properly depend on an image tag that says "I need glibc and a compiler". |
lloeki
force-pushed
the
lloeki/split-compiler
branch
from
July 23, 2026 10:55
4d7d3f8 to
60d943e
Compare
Install database client libraries in GNU runtime images and the matching development packages in compiler images. Route generated extension builds through Clang with the required declspec compatibility flag.
Install the database development packages in musl compiler images. Keep Clang compiler images compatible with extensions that invoke gcc.
Install database development packages and pkgconfig in CentOS compiler images. Wrap the legacy GCC and Clang toolchains so current extension flags and runtime paths remain compatible.
Move database extension coverage from workflow shell commands into an isolated image test. Cover supported CRuby compiler images, including legacy SQLite and CentOS PostgreSQL versions.
Run SQLite, MySQL, and PostgreSQL extension checks as independent image tests so failures identify the missing dependency directly.
Keep the Ruby eligibility guard explicit and select each database gem version within its own test, without shared instance state.
Pin and activate BigDecimal where Ruby 3.4 no longer provides it by default. Account for mysql2's declared dependency and pg versions before 1.2.0, which require it without declaring it.
Build database-gem commands through array concatenation so the test file parses on Ruby 1.8, where the newer array-splat form is unsupported.
Record the parser and loader floors for shared test sources, the Ruby 1.8 Minitest backport, and Docker tasks.
Document Ruby 1.9.3, the earliest Ruby 1.9 version built by this repository, for the normal Minitest task shim.
Ruby 4 records an ARM branch-protection flag from its Devtoolset 10 build. Remove that flag when legacy CentOS compiler images build extensions with GCC 4.8 or Clang 3.4.
Use Ruby 4-compatible SQLite and BigDecimal releases for database gem coverage. Build GCC extensions with CentOS Devtoolset 10, matching the compiler used to build Ruby 4.
Use Devtoolset 10 CRT and libgcc paths when Clang links Ruby 4 extensions, matching the toolchain that built the static Ruby library.
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.
No description provided.