Skip to content

Add Ruby 4.0#617

Closed
jackorp wants to merge 7 commits intosclorg:masterfrom
jackorp:ruby-4.0
Closed

Add Ruby 4.0#617
jackorp wants to merge 7 commits intosclorg:masterfrom
jackorp:ruby-4.0

Conversation

@jackorp
Copy link
Contributor

@jackorp jackorp commented Jan 12, 2026

No description provided.

@github-actions
Copy link

github-actions bot commented Jan 12, 2026

Pull Request validation

Failed

🔴 Review - Missing review from a member (1 required)

Success

🟢 CI - All checks have passed

@jackorp
Copy link
Contributor Author

jackorp commented Jan 12, 2026

[test-pytest][test-openshift]

@github-actions
Copy link

Testing Farm results

namecomposearchstatusstarted (UTC)timelogs
RHEL8 - PyTest - 3.3RHEL-8.10.0-Nightlyx86_64✅ passed12.01.2026 11:38:0614min 2stest pipeline

@github-actions
Copy link

github-actions bot commented Jan 12, 2026

Testing Farm results

namecomposearchstatusstarted (UTC)timelogs
RHEL10 - Unsubscribed host - PyTest - 3.3RHEL-10-Nightlyx86_64✅ passed27.02.2026 18:08:1120min 58stest pipeline
RHEL10 - PyTest - 3.3RHEL-10-Nightlyx86_64✅ passed03.03.2026 18:31:1615min 20stest pipeline
RHEL9 - Unsubscribed host - PyTest - 3.3RHEL-9.6.0-Nightlyx86_64✅ passed27.02.2026 18:08:2719min 35stest pipeline
RHEL9 - PyTest - 3.3RHEL-9.6.0-Nightlyx86_64✅ passed03.03.2026 18:31:1420min 46stest pipeline
RHEL8 - OpenShift 4 - 3.3RHEL-8.10.0-Nightlyx86_64✅ passed12.01.2026 11:38:2520min 15stest pipeline
RHEL10 - OpenShift 4 - 3.3RHEL-10-Nightlyx86_64✅ passed12.01.2026 11:38:2520min 21stest pipeline
Fedora - PyTest - 3.3Fedora-latestx86_64✅ passed03.03.2026 18:31:2610min 20stest pipeline
CentOS Stream 10 - PyTest - 3.3CentOS-Stream-10x86_64✅ passed03.03.2026 18:31:1414min 26stest pipeline
RHEL9 - Unsubscribed host - PyTest - 3.0RHEL-9.6.0-Nightlyx86_64✅ passed27.02.2026 18:08:1926min 28stest pipeline
RHEL9 - OpenShift 4 - 3.3RHEL-9.6.0-Nightlyx86_64✅ passed12.01.2026 11:38:2725min 28stest pipeline
RHEL9 - PyTest - 3.0RHEL-9.6.0-Nightlyx86_64✅ passed27.02.2026 18:08:0926min 52stest pipeline
RHEL8 - OpenShift 4 - 2.5RHEL-8.10.0-Nightlyx86_64✅ passed12.01.2026 11:38:2528min 1stest pipeline
RHEL9 - OpenShift 4 - 3.0RHEL-9.6.0-Nightlyx86_64✅ passed12.01.2026 11:38:2735min 4stest pipeline
RHEL10 - Unsubscribed host - PyTest - 4.0RHEL-10-Nightlyx86_64❌ error25.02.2026 09:07:4311min 35stest pipeline
RHEL10 - PyTest - 4.0RHEL-10-Nightlyx86_64❌ error27.02.2026 18:08:1314min 45stest pipeline
CentOS Stream 10 - PyTest - 4.0CentOS-Stream-10x86_64❌ error03.03.2026 18:31:2315min 9stest pipeline
Fedora - PyTest - 4.0Fedora-latestx86_64❌ error03.03.2026 18:31:3010min 27stest pipeline
RHEL8 - PyTest - 3.3RHEL-8.10.0-Nightlyx86_64✅ passed03.03.2026 18:31:1415min 5stest pipeline
RHEL8 - PyTest - 2.5RHEL-8.10.0-Nightlyx86_64✅ passed25.02.2026 09:43:4619min 46stest pipeline
RHEL9 - PyTest - 4.0RHEL-9.6.0-Nightlyx86_64❌ error27.02.2026 18:08:1022min 10stest pipeline

@jackorp jackorp mentioned this pull request Feb 25, 2026
@jackorp jackorp force-pushed the ruby-4.0 branch 2 times, most recently from bfb1534 to 393f8b0 Compare February 25, 2026 08:36
@jackorp
Copy link
Contributor Author

jackorp commented Feb 25, 2026

[test-pytest][test-openshift]

@jackorp
Copy link
Contributor Author

jackorp commented Feb 25, 2026

[test-pytest][test-openshift]

@jackorp
Copy link
Contributor Author

jackorp commented Feb 27, 2026

[test-pytest][test-openshift]

@jackorp
Copy link
Contributor Author

jackorp commented Mar 3, 2026

[test-pytest][test-openshift]

jackorp added 3 commits March 5, 2026 14:55
The binaries in demodularized rubies were suffixed with the MAJOR.MINOR
versioning. In these containers, provide the unversioned commands via a symlink.
With Bundler >= 4.0, the CLI no longer accepts config options as part
of CLI. Set the path to a custom directory in a local directory with
`bundle config set --local path <path>` where applicable.
Delete the 2.5/test/examples symlink and add Ruby 2.5 specific files
where necessary.

This change is necessary as there is increased difficulty in code sharing
between 4.0 and 2.5. Here the change was prompted by bundler's
CLI incompatibilities. Bundler 4 removed ability to specify configuration
options, such as `--path` with some commands such as `install`.

Options have to be set throught `bundle config` CLI.

However between bundler 1.16 in Ruby 2.5 and Bundler 4 in Ruby 4.0 there
are differences in the CLI API, where it is not possible to share the
same set of commands easily and achieve the same effect.

Attempt to set the path via `bundle config set` in Ruby 2.5 container
will produce bogus value in `./.bundle/config` that can result in
undesired install behavior.

And in Bundler 4, using `bundle config` without `set` `get`, ...
is deprecated.

Instead of trying to keep the compatibility between versions at all
cost, the offending Dockerfile was replaced by actual file, the rest of
the directory was symlinked per-item to retain code sharing where
reasonable.
@jackorp jackorp changed the title WIP: Add Ruby 4.0 Add Ruby 4.0 Mar 10, 2026
@jackorp
Copy link
Contributor Author

jackorp commented Mar 10, 2026

Tests should be viewed in dedicated PR #628 that focuses on updating them for Ruby 4.0.

@jackorp
Copy link
Contributor Author

jackorp commented Mar 13, 2026

integrated in #628

@jackorp jackorp closed this Mar 13, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant