Skip to content

Split compiler away for gnu and centos - #83

Draft
lloeki wants to merge 27 commits into
mainfrom
lloeki/split-compiler
Draft

Split compiler away for gnu and centos#83
lloeki wants to merge 27 commits into
mainfrom
lloeki/split-compiler

Conversation

@lloeki

@lloeki lloeki commented Feb 20, 2026

Copy link
Copy Markdown
Member

No description provided.

@lloeki
lloeki force-pushed the lloeki/split-compiler branch 5 times, most recently from 5902e67 to 1b1b67a Compare February 20, 2026 14:15
@lloeki
lloeki force-pushed the lloeki/split-compiler branch from 8001739 to f49de72 Compare July 22, 2026 11:16
@datadog-datadog-us1-prod

datadog-datadog-us1-prod Bot commented Jul 22, 2026

Copy link
Copy Markdown

Tests

🔄 Datadog auto-retried 20 jobs - 20 passed on retry View in Datadog

This comment will be updated automatically if new data arrives.
🔗 Commit SHA: 8ca053b | Docs | Datadog PR Page | Give us feedback!

@lloeki

lloeki commented Jul 22, 2026

Copy link
Copy Markdown
Member Author

Needs DataDog/system-tests#7357 to be merged before merging this one.

@TonyCTHsu

Copy link
Copy Markdown
Contributor

Needs DataDog/system-tests#7357 to be merged before merging this one.

Do you mind elaborate more about the reason? Does images-rb purge the tag system-tests have been using?

@lloeki

lloeki commented Jul 22, 2026

Copy link
Copy Markdown
Member Author

When we merge this current PR, 4.0 and 4.0-gnu won't have compilers anymore, so system tests will fail to bundle install gems that need a compiler if they only pull those two.

The other PR changes system tests so that they properly depend on an image tag that says "I need glibc and a compiler".

@lloeki
lloeki force-pushed the lloeki/split-compiler branch from 4d7d3f8 to 60d943e Compare July 23, 2026 10:55
lloeki added 4 commits July 23, 2026 17:47
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.
lloeki added 3 commits July 23, 2026 17:53
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.
lloeki added 7 commits July 24, 2026 12:37
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.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants