Skip to content

Onboard Ruby 4.0#628

Merged
pkhartsk merged 11 commits intosclorg:masterfrom
pkhartsk:ruby-4.0
Mar 12, 2026
Merged

Onboard Ruby 4.0#628
pkhartsk merged 11 commits intosclorg:masterfrom
pkhartsk:ruby-4.0

Conversation

@pkhartsk
Copy link
Contributor

@pkhartsk pkhartsk commented Mar 5, 2026

No description provided.

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.
@pkhartsk
Copy link
Contributor Author

pkhartsk commented Mar 5, 2026

[test-all]

@github-actions
Copy link

github-actions bot commented Mar 5, 2026

Pull Request validation

Success

🟢 CI - All checks have passed
🟢 Review - Reviewed by a member
🟢 Approval - Changes were approved


Auto Merge

Failed

🔴 Pull Request has unsupported target branch master, expected branches are: ''

Success

🟢 Pull Request is not marked as draft and it's not blocked by dont-merge label
🟢 Pull Request meet requirements, title has correct form
🟢 Pull Request meet requirements, mergeable is true
🟢 Pull Request meet requirements, mergeable_state is clean

@github-actions
Copy link

github-actions bot commented Mar 5, 2026

Testing Farm results

namecomposearchstatusstarted (UTC)timelogs
Fedora - 4.0Fedora-latestx86_64❌ error09.03.2026 12:35:429min 51stest pipeline
Fedora - PyTest - 3.3Fedora-latestx86_64✅ passed12.03.2026 12:19:0010min 27stest pipeline
CentOS Stream 10 - PyTest - 3.3CentOS-Stream-10x86_64✅ passed12.03.2026 12:18:5012min 14stest pipeline
CentOS Stream 10 - 4.0CentOS-Stream-10x86_64✅ passed12.03.2026 12:35:5714min 55stest pipeline
Fedora - PyTest - 4.0Fedora-latestx86_64❌ error09.03.2026 12:15:0511min 3stest pipeline
RHEL10 - Unsubscribed host - PyTest - 3.3RHEL-10-Nightlyx86_64✅ passed12.03.2026 09:52:2813min 29stest pipeline
RHEL10 - Unsubscribed host - 3.3RHEL-10-Nightlyx86_64✅ passed12.03.2026 12:35:3618min 27stest pipeline
RHEL8 - 3.3RHEL-8.10.0-Nightlyx86_64✅ passed12.03.2026 12:19:1114min 48stest pipeline
RHEL8 - PyTest - 3.3RHEL-8.10.0-Nightlyx86_64✅ passed12.03.2026 12:19:0714min 3stest pipeline
RHEL10 - Unsubscribed host - 4.0RHEL-10-Nightlyx86_64✅ passed12.03.2026 12:33:5121min 23stest pipeline
RHEL10 - 4.0RHEL-10-Nightlyx86_64✅ passed12.03.2026 12:38:0520min 33stest pipeline
RHEL10 - FIPS Enabled - 4.0RHEL-10-Nightlyx86_64✅ passed12.03.2026 12:18:5126min 13stest pipeline
RHEL9 - PyTest - 4.0RHEL-9.6.0-Nightlyx86_64✅ passed12.03.2026 12:18:5922min 16stest pipeline
RHEL8 - 2.5RHEL-8.10.0-Nightlyx86_64✅ passed12.03.2026 12:18:5819min 46stest pipeline
RHEL10 - PyTest - 4.0RHEL-10-Nightlyx86_64✅ passed12.03.2026 12:39:4920min 56stest pipeline
RHEL9 - Unsubscribed host - 3.3RHEL-9.6.0-Nightlyx86_64✅ passed12.03.2026 12:18:5218min 30stest pipeline
RHEL9 - 4.0RHEL-9.6.0-Nightlyx86_64✅ passed12.03.2026 12:39:2524min 54stest pipeline
RHEL9 - Unsubscribed host - PyTest - 3.3RHEL-9.6.0-Nightlyx86_64✅ passed12.03.2026 12:18:5918min 19stest pipeline
RHEL9 - PyTest - 3.0RHEL-9.6.0-Nightlyx86_64✅ passed12.03.2026 12:19:0527min 37stest pipeline
Fedora - 3.3Fedora-latestx86_64✅ passed12.03.2026 12:18:5010min 42stest pipeline
CentOS Stream 10 - PyTest - 4.0CentOS-Stream-10x86_64✅ passed12.03.2026 12:36:2415min 13stest pipeline
RHEL9 - FIPS Enabled - 4.0RHEL-9.6.0-Nightlyx86_64✅ passed12.03.2026 12:18:5131min 43stest pipeline
CentOS Stream 10 - 3.3CentOS-Stream-10x86_64✅ passed12.03.2026 12:18:5112min 59stest pipeline
RHEL10 - 3.3RHEL-10-Nightlyx86_64✅ passed12.03.2026 12:36:4718min 33stest pipeline
RHEL9 - FIPS Enabled - 3.0RHEL-9.6.0-Nightlyx86_64✅ passed12.03.2026 12:18:4936min 23stest pipeline
RHEL10 - FIPS Enabled - 3.3RHEL-10-Nightlyx86_64✅ passed12.03.2026 12:18:5018min 40stest pipeline
RHEL9 - FIPS Enabled - 3.3RHEL-9.6.0-Nightlyx86_64✅ passed12.03.2026 12:18:5128min 10stest pipeline
RHEL9 - 3.3RHEL-9.6.0-Nightlyx86_64✅ passed12.03.2026 12:18:5820min 42stest pipeline
RHEL9 - Unsubscribed host - 4.0RHEL-9.6.0-Nightlyx86_64✅ passed12.03.2026 12:45:4421min 25stest pipeline
RHEL9 - PyTest - 3.3RHEL-9.6.0-Nightlyx86_64✅ passed12.03.2026 12:39:2721min 24stest pipeline
RHEL10 - Unsubscribed host - PyTest - 4.0RHEL-10-Nightlyx86_64✅ passed12.03.2026 12:41:2816min 56stest pipeline
RHEL9 - Unsubscribed host - 3.0RHEL-9.6.0-Nightlyx86_64✅ passed12.03.2026 12:40:1026min 31stest pipeline
RHEL9 - Unsubscribed host - PyTest - 4.0RHEL-9.6.0-Nightlyx86_64✅ passed12.03.2026 12:18:5221min 43stest pipeline
RHEL10 - PyTest - 3.3RHEL-10-Nightlyx86_64✅ passed12.03.2026 12:19:1414min 54stest pipeline
RHEL9 - PyTest - OpenShift 4 - 3.0RHEL-9.6.0-Nightlyx86_64✅ passed12.03.2026 14:54:1952min 35stest pipeline
RHEL9 - 3.0RHEL-9.6.0-Nightlyx86_64✅ passed12.03.2026 12:43:5926min 44stest pipeline
RHEL8 - PyTest - 2.5RHEL-8.10.0-Nightlyx86_64✅ passed12.03.2026 12:31:0719min 13stest pipeline
RHEL9 - PyTest - OpenShift 4 - 4.0RHEL-9.6.0-Nightlyx86_64✅ passed12.03.2026 14:54:1937min 12stest pipeline
RHEL8 - PyTest - OpenShift 4 - 2.5RHEL-8.10.0-Nightlyx86_64✅ passed12.03.2026 14:54:1844min 53stest pipeline
RHEL8 - PyTest - OpenShift 4 - 3.3RHEL-8.10.0-Nightlyx86_64✅ passed12.03.2026 14:54:2028min 56stest pipeline
RHEL10 - PyTest - OpenShift 4 - 4.0RHEL-10-Nightlyx86_64✅ passed12.03.2026 14:54:1930min 55stest pipeline
RHEL9 - PyTest - OpenShift 4 - 3.3RHEL-9.6.0-Nightlyx86_64✅ passed12.03.2026 14:54:2835min 39stest pipeline
RHEL10 - PyTest - OpenShift 4 - 3.3RHEL-10-Nightlyx86_64✅ passed12.03.2026 14:54:1933min 35stest pipeline
RHEL9 - Unsubscribed host - PyTest - 3.0RHEL-9.6.0-Nightlyx86_64✅ passed12.03.2026 12:18:5025min 42stest pipeline

@pkhartsk
Copy link
Contributor Author

pkhartsk commented Mar 9, 2026

[test-all]

@pkhartsk
Copy link
Contributor Author

[test-all]

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.
@pkhartsk
Copy link
Contributor Author

[test-all]

@pkhartsk
Copy link
Contributor Author

[test-all]

@jackorp
Copy link
Contributor

jackorp commented Mar 10, 2026

[test-all]

1 similar comment
@jackorp
Copy link
Contributor

jackorp commented Mar 11, 2026

[test-all]

@jackorp
Copy link
Contributor

jackorp commented Mar 11, 2026

@phracek FYI

@phracek
Copy link
Member

phracek commented Mar 11, 2026

[test][test-pytest]

Copy link
Member

@phracek phracek left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please address my changes.

@phracek
Copy link
Member

phracek commented Mar 11, 2026

@pkhartsk
Copy link
Contributor Author

[test-openshift-pytest]

@pkhartsk
Copy link
Contributor Author

[test-openshift-pytest]

Copy link
Contributor

@jackorp jackorp left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

From Ruby point of view, it looks good.

@phracek
Copy link
Member

phracek commented Mar 12, 2026

[test-all]

Copy link
Member

@phracek phracek left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. Thanks folks. Awesome work. Go ahead with such approach 👍 🚀

@jackorp
Copy link
Contributor

jackorp commented Mar 12, 2026

[test-all]

@pkhartsk pkhartsk merged commit c0019db into sclorg:master Mar 12, 2026
5 of 25 checks passed
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.

3 participants