Skip to content

Update JRuby 10.0-dev and add 10.1-dev#20939

Closed
headius wants to merge 1 commit intodocker-library:masterfrom
headius:jruby-dev-updates
Closed

Update JRuby 10.0-dev and add 10.1-dev#20939
headius wants to merge 1 commit intodocker-library:masterfrom
headius:jruby-dev-updates

Conversation

@headius
Copy link
Copy Markdown
Contributor

@headius headius commented Mar 1, 2026

No description provided.

@headius headius requested a review from a team as a code owner March 1, 2026 22:47
@github-actions
Copy link
Copy Markdown

github-actions bot commented Mar 1, 2026

Diff for f3703d3:
diff --git a/_bashbrew-cat b/_bashbrew-cat
index 228504c..5d4549c 100644
--- a/_bashbrew-cat
+++ b/_bashbrew-cat
@@ -1,6 +1,6 @@
 Maintainers: JRuby Admin <admin@jruby.org> (@jruby), Charles Oliver Nutter <headius@headius.com> (@headius), Thomas E Enebo <tom.enebo@gmail.com> (@enebo)
 GitRepo: https://github.com/jruby/docker-jruby.git
-GitCommit: abb1caf047a968985f0c60d73f4b2a8a09e8b060
+GitCommit: 99a01943467409b4c392ba1902e5d64d274960ca
 
 Tags: 9, 9.4, 9.4.14, 9.4-jre, 9.4-jre8, 9.4.14-jre, 9.4.14-jre8, 9.4.14.0, 9.4.14.0-jre, 9.4.14.0-jre8
 Architectures: amd64, arm64v8
@@ -142,6 +142,22 @@ Tags: 10.0-jre25, 10.0.3-jre25, 10.0.3.0-jre25
 Architectures: amd64, arm64v8
 Directory: 10.0/jre25
 
+Tags: 10.1-dev-jdk21
+Architectures: amd64, arm64v8
+Directory: 10.1-dev/jdk21
+
+Tags: 10.1-dev-jdk25
+Architectures: amd64, arm64v8
+Directory: 10.1-dev/jdk25
+
+Tags: 10.1-dev-jre21
+Architectures: amd64, arm64v8
+Directory: 10.1-dev/jre21
+
+Tags: 10.1-dev-jre25
+Architectures: amd64, arm64v8
+Directory: 10.1-dev/jre25
+
 Tags: latest, 10, 10.0, 10.0.3, 10.0-jre, 10.0-jre21, 10.0.3-jre, 10.0.3-jre21, 10.0.3.0, 10.0.3.0-jre, 10.0.3.0-jre21
 Architectures: amd64, arm64v8
 Directory: 10.0/jre21
diff --git a/_bashbrew-list b/_bashbrew-list
index 6b1e74a..82ca93a 100644
--- a/_bashbrew-list
+++ b/_bashbrew-list
@@ -111,4 +111,8 @@ jruby:10.0.3.0-jdk25
 jruby:10.0.3.0-jre
 jruby:10.0.3.0-jre21
 jruby:10.0.3.0-jre25
+jruby:10.1-dev-jdk21
+jruby:10.1-dev-jdk25
+jruby:10.1-dev-jre21
+jruby:10.1-dev-jre25
 jruby:latest
diff --git a/_bashbrew-list-build-order b/_bashbrew-list-build-order
index 2050e70..9b8b45b 100644
--- a/_bashbrew-list-build-order
+++ b/_bashbrew-list-build-order
@@ -34,3 +34,7 @@ jruby:10.0.3.0-jdk21
 jruby:10.0.3.0-jdk25
 jruby:10.0.3.0-jre21
 jruby:10.0.3.0-jre25
+jruby:10.1-dev-jdk21
+jruby:10.1-dev-jdk25
+jruby:10.1-dev-jre21
+jruby:10.1-dev-jre25
diff --git a/jruby_10.0-dev-jdk21/Dockerfile b/jruby_10.0-dev-jdk21/Dockerfile
index 62cc991..06d10f9 100644
--- a/jruby_10.0-dev-jdk21/Dockerfile
+++ b/jruby_10.0-dev-jdk21/Dockerfile
@@ -4,9 +4,9 @@ RUN apt-get update && apt-get install -y libc6-dev make --no-install-recommends
 
 ENV JRUBY_VERSION=10.0.4.0
 ENV JRUBY_SNAPSHOT_VERSION=10.0.4.0-SNAPSHOT
-ENV JRUBY_SNAPSHOT_TIMESTAMP=20260205.053943
-ENV JRUBY_SNAPSHOT_BUILDNUMBER=5
-ENV JRUBY_SHA256=f4eacb66bc37565664496cbb50f0c0f2a3a26d6d80e2daf8d45a17ac8fcc7848
+ENV JRUBY_SNAPSHOT_TIMESTAMP=20260224.220238
+ENV JRUBY_SNAPSHOT_BUILDNUMBER=34
+ENV JRUBY_SHA256=7252fff212bc7087c5926496bda946ba562a2d9d16377a3f715d3b7af897a866
 RUN mkdir /opt/jruby \
   && curl -fSL https://central.sonatype.com/repository/maven-snapshots/org/jruby/jruby-dist/${JRUBY_SNAPSHOT_VERSION}/jruby-dist-${JRUBY_VERSION}-${JRUBY_SNAPSHOT_TIMESTAMP}-${JRUBY_SNAPSHOT_BUILDNUMBER}-bin.tar.gz -o /tmp/jruby.tar.gz \
   && echo "$JRUBY_SHA256 /tmp/jruby.tar.gz" | sha256sum -c - \
diff --git a/jruby_10.0-dev-jdk25/Dockerfile b/jruby_10.0-dev-jdk25/Dockerfile
index 6efced5..a5ba5a9 100644
--- a/jruby_10.0-dev-jdk25/Dockerfile
+++ b/jruby_10.0-dev-jdk25/Dockerfile
@@ -4,9 +4,9 @@ RUN apt-get update && apt-get install -y libc6-dev make curl --no-install-recomm
 
 ENV JRUBY_VERSION=10.0.4.0
 ENV JRUBY_SNAPSHOT_VERSION=10.0.4.0-SNAPSHOT
-ENV JRUBY_SNAPSHOT_TIMESTAMP=20260205.053943
-ENV JRUBY_SNAPSHOT_BUILDNUMBER=5
-ENV JRUBY_SHA256=f4eacb66bc37565664496cbb50f0c0f2a3a26d6d80e2daf8d45a17ac8fcc7848
+ENV JRUBY_SNAPSHOT_TIMESTAMP=20260224.220238
+ENV JRUBY_SNAPSHOT_BUILDNUMBER=34
+ENV JRUBY_SHA256=7252fff212bc7087c5926496bda946ba562a2d9d16377a3f715d3b7af897a866
 RUN mkdir /opt/jruby \
   && curl -fSL https://central.sonatype.com/repository/maven-snapshots/org/jruby/jruby-dist/${JRUBY_SNAPSHOT_VERSION}/jruby-dist-${JRUBY_VERSION}-${JRUBY_SNAPSHOT_TIMESTAMP}-${JRUBY_SNAPSHOT_BUILDNUMBER}-bin.tar.gz -o /tmp/jruby.tar.gz \
   && echo "$JRUBY_SHA256 /tmp/jruby.tar.gz" | sha256sum -c - \
diff --git a/jruby_10.0-dev-jre21/Dockerfile b/jruby_10.0-dev-jre21/Dockerfile
index 44f8533..1a33da7 100644
--- a/jruby_10.0-dev-jre21/Dockerfile
+++ b/jruby_10.0-dev-jre21/Dockerfile
@@ -4,9 +4,9 @@ RUN apt-get update && apt-get install -y libc6-dev make --no-install-recommends
 
 ENV JRUBY_VERSION=10.0.4.0
 ENV JRUBY_SNAPSHOT_VERSION=10.0.4.0-SNAPSHOT
-ENV JRUBY_SNAPSHOT_TIMESTAMP=20260205.053943
-ENV JRUBY_SNAPSHOT_BUILDNUMBER=5
-ENV JRUBY_SHA256=f4eacb66bc37565664496cbb50f0c0f2a3a26d6d80e2daf8d45a17ac8fcc7848
+ENV JRUBY_SNAPSHOT_TIMESTAMP=20260224.220238
+ENV JRUBY_SNAPSHOT_BUILDNUMBER=34
+ENV JRUBY_SHA256=7252fff212bc7087c5926496bda946ba562a2d9d16377a3f715d3b7af897a866
 RUN mkdir /opt/jruby \
   && curl -fSL https://central.sonatype.com/repository/maven-snapshots/org/jruby/jruby-dist/${JRUBY_SNAPSHOT_VERSION}/jruby-dist-${JRUBY_VERSION}-${JRUBY_SNAPSHOT_TIMESTAMP}-${JRUBY_SNAPSHOT_BUILDNUMBER}-bin.tar.gz -o /tmp/jruby.tar.gz \
   && echo "$JRUBY_SHA256 /tmp/jruby.tar.gz" | sha256sum -c - \
diff --git a/jruby_10.0-dev-jre25/Dockerfile b/jruby_10.0-dev-jre25/Dockerfile
index 85cdda0..a309834 100644
--- a/jruby_10.0-dev-jre25/Dockerfile
+++ b/jruby_10.0-dev-jre25/Dockerfile
@@ -4,9 +4,9 @@ RUN apt-get update && apt-get install -y libc6-dev make curl --no-install-recomm
 
 ENV JRUBY_VERSION=10.0.4.0
 ENV JRUBY_SNAPSHOT_VERSION=10.0.4.0-SNAPSHOT
-ENV JRUBY_SNAPSHOT_TIMESTAMP=20260205.053943
-ENV JRUBY_SNAPSHOT_BUILDNUMBER=5
-ENV JRUBY_SHA256=f4eacb66bc37565664496cbb50f0c0f2a3a26d6d80e2daf8d45a17ac8fcc7848
+ENV JRUBY_SNAPSHOT_TIMESTAMP=20260224.220238
+ENV JRUBY_SNAPSHOT_BUILDNUMBER=34
+ENV JRUBY_SHA256=7252fff212bc7087c5926496bda946ba562a2d9d16377a3f715d3b7af897a866
 RUN mkdir /opt/jruby \
   && curl -fSL https://central.sonatype.com/repository/maven-snapshots/org/jruby/jruby-dist/${JRUBY_SNAPSHOT_VERSION}/jruby-dist-${JRUBY_VERSION}-${JRUBY_SNAPSHOT_TIMESTAMP}-${JRUBY_SNAPSHOT_BUILDNUMBER}-bin.tar.gz -o /tmp/jruby.tar.gz \
   && echo "$JRUBY_SHA256 /tmp/jruby.tar.gz" | sha256sum -c - \
diff --git a/jruby_10.0-dev-jdk21/Dockerfile b/jruby_10.1-dev-jdk21/Dockerfile
similarity index 84%
copy from jruby_10.0-dev-jdk21/Dockerfile
copy to jruby_10.1-dev-jdk21/Dockerfile
index 62cc991..4edf835 100644
--- a/jruby_10.0-dev-jdk21/Dockerfile
+++ b/jruby_10.1-dev-jdk21/Dockerfile
@@ -2,11 +2,11 @@ FROM eclipse-temurin:21-jdk-noble
 
 RUN apt-get update && apt-get install -y libc6-dev make --no-install-recommends && rm -rf /var/lib/apt/lists/*
 
-ENV JRUBY_VERSION=10.0.4.0
-ENV JRUBY_SNAPSHOT_VERSION=10.0.4.0-SNAPSHOT
-ENV JRUBY_SNAPSHOT_TIMESTAMP=20260205.053943
-ENV JRUBY_SNAPSHOT_BUILDNUMBER=5
-ENV JRUBY_SHA256=f4eacb66bc37565664496cbb50f0c0f2a3a26d6d80e2daf8d45a17ac8fcc7848
+ENV JRUBY_VERSION=10.1.0.0
+ENV JRUBY_SNAPSHOT_VERSION=10.1.0.0-SNAPSHOT
+ENV JRUBY_SNAPSHOT_TIMESTAMP=20260301.223725
+ENV JRUBY_SNAPSHOT_BUILDNUMBER=7
+ENV JRUBY_SHA256=7d6dbc7e476695484080f0fd5962201c09bcebb507c760b1d45f7262c0691bc3
 RUN mkdir /opt/jruby \
   && curl -fSL https://central.sonatype.com/repository/maven-snapshots/org/jruby/jruby-dist/${JRUBY_SNAPSHOT_VERSION}/jruby-dist-${JRUBY_VERSION}-${JRUBY_SNAPSHOT_TIMESTAMP}-${JRUBY_SNAPSHOT_BUILDNUMBER}-bin.tar.gz -o /tmp/jruby.tar.gz \
   && echo "$JRUBY_SHA256 /tmp/jruby.tar.gz" | sha256sum -c - \
diff --git a/jruby_10.0-dev-jdk25/Dockerfile b/jruby_10.1-dev-jdk25/Dockerfile
similarity index 84%
copy from jruby_10.0-dev-jdk25/Dockerfile
copy to jruby_10.1-dev-jdk25/Dockerfile
index 6efced5..93bfb89 100644
--- a/jruby_10.0-dev-jdk25/Dockerfile
+++ b/jruby_10.1-dev-jdk25/Dockerfile
@@ -2,11 +2,11 @@ FROM eclipse-temurin:25-jdk-noble
 
 RUN apt-get update && apt-get install -y libc6-dev make curl --no-install-recommends && rm -rf /var/lib/apt/lists/*
 
-ENV JRUBY_VERSION=10.0.4.0
-ENV JRUBY_SNAPSHOT_VERSION=10.0.4.0-SNAPSHOT
-ENV JRUBY_SNAPSHOT_TIMESTAMP=20260205.053943
-ENV JRUBY_SNAPSHOT_BUILDNUMBER=5
-ENV JRUBY_SHA256=f4eacb66bc37565664496cbb50f0c0f2a3a26d6d80e2daf8d45a17ac8fcc7848
+ENV JRUBY_VERSION=10.1.0.0
+ENV JRUBY_SNAPSHOT_VERSION=10.1.0.0-SNAPSHOT
+ENV JRUBY_SNAPSHOT_TIMESTAMP=20260301.223725
+ENV JRUBY_SNAPSHOT_BUILDNUMBER=7
+ENV JRUBY_SHA256=7d6dbc7e476695484080f0fd5962201c09bcebb507c760b1d45f7262c0691bc3
 RUN mkdir /opt/jruby \
   && curl -fSL https://central.sonatype.com/repository/maven-snapshots/org/jruby/jruby-dist/${JRUBY_SNAPSHOT_VERSION}/jruby-dist-${JRUBY_VERSION}-${JRUBY_SNAPSHOT_TIMESTAMP}-${JRUBY_SNAPSHOT_BUILDNUMBER}-bin.tar.gz -o /tmp/jruby.tar.gz \
   && echo "$JRUBY_SHA256 /tmp/jruby.tar.gz" | sha256sum -c - \
diff --git a/jruby_10.0-dev-jre21/Dockerfile b/jruby_10.1-dev-jre21/Dockerfile
similarity index 84%
copy from jruby_10.0-dev-jre21/Dockerfile
copy to jruby_10.1-dev-jre21/Dockerfile
index 44f8533..b0fb0c3 100644
--- a/jruby_10.0-dev-jre21/Dockerfile
+++ b/jruby_10.1-dev-jre21/Dockerfile
@@ -2,11 +2,11 @@ FROM eclipse-temurin:21-jre-noble
 
 RUN apt-get update && apt-get install -y libc6-dev make --no-install-recommends && rm -rf /var/lib/apt/lists/*
 
-ENV JRUBY_VERSION=10.0.4.0
-ENV JRUBY_SNAPSHOT_VERSION=10.0.4.0-SNAPSHOT
-ENV JRUBY_SNAPSHOT_TIMESTAMP=20260205.053943
-ENV JRUBY_SNAPSHOT_BUILDNUMBER=5
-ENV JRUBY_SHA256=f4eacb66bc37565664496cbb50f0c0f2a3a26d6d80e2daf8d45a17ac8fcc7848
+ENV JRUBY_VERSION=10.1.0.0
+ENV JRUBY_SNAPSHOT_VERSION=10.1.0.0-SNAPSHOT
+ENV JRUBY_SNAPSHOT_TIMESTAMP=20260301.223725
+ENV JRUBY_SNAPSHOT_BUILDNUMBER=7
+ENV JRUBY_SHA256=7d6dbc7e476695484080f0fd5962201c09bcebb507c760b1d45f7262c0691bc3
 RUN mkdir /opt/jruby \
   && curl -fSL https://central.sonatype.com/repository/maven-snapshots/org/jruby/jruby-dist/${JRUBY_SNAPSHOT_VERSION}/jruby-dist-${JRUBY_VERSION}-${JRUBY_SNAPSHOT_TIMESTAMP}-${JRUBY_SNAPSHOT_BUILDNUMBER}-bin.tar.gz -o /tmp/jruby.tar.gz \
   && echo "$JRUBY_SHA256 /tmp/jruby.tar.gz" | sha256sum -c - \
diff --git a/jruby_10.0-dev-jre25/Dockerfile b/jruby_10.1-dev-jre25/Dockerfile
similarity index 84%
copy from jruby_10.0-dev-jre25/Dockerfile
copy to jruby_10.1-dev-jre25/Dockerfile
index 85cdda0..a35b4cc 100644
--- a/jruby_10.0-dev-jre25/Dockerfile
+++ b/jruby_10.1-dev-jre25/Dockerfile
@@ -2,11 +2,11 @@ FROM eclipse-temurin:25-jre-noble
 
 RUN apt-get update && apt-get install -y libc6-dev make curl --no-install-recommends && rm -rf /var/lib/apt/lists/*
 
-ENV JRUBY_VERSION=10.0.4.0
-ENV JRUBY_SNAPSHOT_VERSION=10.0.4.0-SNAPSHOT
-ENV JRUBY_SNAPSHOT_TIMESTAMP=20260205.053943
-ENV JRUBY_SNAPSHOT_BUILDNUMBER=5
-ENV JRUBY_SHA256=f4eacb66bc37565664496cbb50f0c0f2a3a26d6d80e2daf8d45a17ac8fcc7848
+ENV JRUBY_VERSION=10.1.0.0
+ENV JRUBY_SNAPSHOT_VERSION=10.1.0.0-SNAPSHOT
+ENV JRUBY_SNAPSHOT_TIMESTAMP=20260301.223725
+ENV JRUBY_SNAPSHOT_BUILDNUMBER=7
+ENV JRUBY_SHA256=7d6dbc7e476695484080f0fd5962201c09bcebb507c760b1d45f7262c0691bc3
 RUN mkdir /opt/jruby \
   && curl -fSL https://central.sonatype.com/repository/maven-snapshots/org/jruby/jruby-dist/${JRUBY_SNAPSHOT_VERSION}/jruby-dist-${JRUBY_VERSION}-${JRUBY_SNAPSHOT_TIMESTAMP}-${JRUBY_SNAPSHOT_BUILDNUMBER}-bin.tar.gz -o /tmp/jruby.tar.gz \
   && echo "$JRUBY_SHA256 /tmp/jruby.tar.gz" | sha256sum -c - \

Relevant Maintainers:

@headius
Copy link
Copy Markdown
Contributor Author

headius commented Mar 1, 2026

The builds of JRuby 10.0-dev and 10.1-dev failed due to a new transitive dependency of activesupport, installed by the ruby-gems test script to verify Ruby images.

activesupport 8.1.2 depends on minitest 6.0.2 which recently started depending on the prism gem.

The prism gem currently only exists as a C library (or C extension for CRuby) and therefore requires C build tools to be present on the host system. Because JRuby has mostly JVM-based libraries (even in published gems), we do not include C build tools as part of the image.

Options:

  • Remove activesupport from the libraries installed for verification by the ruby-gems test.
  • Add C build tools to the JRuby images (we really would rather not)

FWIW, just installing these libraries is not much verification, especially on JRuby where they literally just download and unpack into the gem directory. Removing activesupport would not reduce the test coverage by much.

@headius
Copy link
Copy Markdown
Contributor Author

headius commented Mar 1, 2026

Also FWIW, we are working with the Prism folks to publish a pure-JVM version of the gem that will eliminate the need for build tools, but that's still WIP.

@yosifkit
Copy link
Copy Markdown
Member

yosifkit commented Mar 3, 2026

Sorry for the delay. I'm working on updating our tests to work better with jruby and perhaps dived deeper than I needed to. I'll have a quick fix up today and work on a deeper fix later.

@yosifkit
Copy link
Copy Markdown
Member

yosifkit commented Mar 3, 2026

Quick question, the updated 10.0-dev images are failing because they are missing syslog. Is it expected that the next jruby 10.0 won't have syslog? From jruby/jruby#9198, it seems like it is supposed to, but perhaps something is missing in the container install?

Ignoring syslog-0.4.0 because its extensions are not built. Try: gem pristine syslog --version 0.4.0
./container.rb:177: warning: syslog is not part of the default gems starting from Ruby 3.4.0. Install syslog from RubyGems.


require 'syslog' failed: cannot load such file -- syslog
org/jruby/RubyKernel.java:1193:in 'require'
/opt/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:139:in 'require'
./container.rb:180:in 'block in <main>'
org/jruby/RubyArray.java:2093:in 'each'
./container.rb:177:in '<main>'

	'ruby-standard-libs' [5/10]...failed

@headius
Copy link
Copy Markdown
Contributor Author

headius commented Mar 3, 2026

@yosifkit I believe syslog was moved to a bundled gem (i.e. preinstalled in the release) for Ruby 3.4 (JRuby 10), and removed altogether for Ruby 4.0 (JRuby 10.1).

@tianon
Copy link
Copy Markdown
Member

tianon commented Mar 3, 2026

Right, so it's unexpected that it would fail on JRuby 10.0 with that module missing 😅 Did something go wrong with JRuby 10.0 that might cause that?

(We've got Ruby 4.0 images where it still works, so I don't think it's removed yet if they're planning to 🙇)

@headius
Copy link
Copy Markdown
Contributor Author

headius commented Mar 3, 2026

Apologies. I had syslog confused with the logger gem, which was slated for removal in 4.0 but I guess they decided not to do that.

I'll look into the syslog error on JRuby 10.0-dev. There were some changes recently but it should still be there (it's using the official sources now rather than our local copy).

@tianon
Copy link
Copy Markdown
Member

tianon commented Mar 3, 2026

Would you like us to go ahead with #20958 and get this in now as-is, or would you rather dig into that first? 👀

@headius
Copy link
Copy Markdown
Contributor Author

headius commented Mar 3, 2026

I can reproduce the same issue with both JRuby 10.0.x and CRuby 3.4 by trying to load syslog from bundle exec when it is not part of the bundle.

[] tmp $ cx 3.4 bundle install
Fetching gem metadata from https://rubygems.org/.
Resolving dependencies...
Bundle complete! 1 Gemfile dependency, 1 gem now installed.
Use `bundle info [gemname]` to see where a bundled gem is installed.
[] tmp $ cx 3.4 bundle exec ruby -rsyslog -e 1
warning: syslog was loaded from the standard library, but is not part of the default gems starting from Ruby 3.4.0.
You can add syslog to your Gemfile or gemspec to silence this warning.
/Users/headius/.rubies/ruby-3.4.7/lib/ruby/3.4.0/bundled_gems.rb:82:in 'Kernel.require': cannot load such file -- syslog (LoadError)
	from /Users/headius/.rubies/ruby-3.4.7/lib/ruby/3.4.0/bundled_gems.rb:82:in 'block (2 levels) in Kernel#replace_require'

I'll look at your PR now to see if that's what's happening here.

@tianon
Copy link
Copy Markdown
Member

tianon commented Mar 3, 2026

I think we're just doing require 'syslog' 😅

@headius
Copy link
Copy Markdown
Contributor Author

headius commented Mar 3, 2026

@tianon I'm still trying to sort out what all your verification scripts do, but 10.0-dev should indeed work with a simple require 'syslog':

$ jruby -e 'require "syslog"; Syslog.open.info("hello"); puts :ok'
ok

@headius
Copy link
Copy Markdown
Contributor Author

headius commented Mar 3, 2026

Ignoring syslog-0.4.0 because its extensions are not built.

You should also not be seeing this error after jruby/jruby#9198. 🤔

@headius
Copy link
Copy Markdown
Contributor Author

headius commented Mar 3, 2026

I have reproduce the issue with the 10.0.4.0-SNAPSHOT dist tarball. Please hold.

@headius
Copy link
Copy Markdown
Contributor Author

headius commented Mar 3, 2026

There's a bug in our assembly of the dist artifact and it appears to be excluding some files needed to load syslog (triggering the missing extension warning). I am working on a fix and will re-push this when it works its way into the dev build.

headius added a commit to headius/jruby that referenced this pull request Mar 3, 2026
The extension stubs installed for JRuby versions of extension gems
must be included in the stdlib, dist, and complete artifacts or
those libraries will fail to load. This is the cause of issues
mentioned in the Docker official-images PR here:

docker-library/official-images#20939 (comment)

The jruby-dist and jruby-complete artifacts get their stdlib
content from the jruby-stdlib artifact, so including the files
that artifact is necessary before including them in the other two.
jruby-complete just packages the contents of jruby-stdlib as-is,
but the jruby-dist artifact needs to filter and copy them back into
their dist locations.
headius added a commit to headius/jruby that referenced this pull request Mar 3, 2026
In docker-library/official-images#20939 we discovered that the
jruby-dist artifacts were not including RubyGems extension stubs
needed for libraries like syslog to load. This change modifies our
verification process to attempt to run from the dist archive and
to load problematic standard libraries to hopefully catch issues
like this in the future.
headius added a commit to headius/jruby that referenced this pull request Mar 3, 2026
In docker-library/official-images#20939 we discovered that the
jruby-dist artifacts were not including RubyGems extension stubs
needed for libraries like syslog to load. This change modifies our
verification process to attempt to run from the dist archive and
to load problematic standard libraries to hopefully catch issues
like this in the future.
@headius
Copy link
Copy Markdown
Contributor Author

headius commented Mar 3, 2026

I have the issue fixed.

We will release JRuby 10.0.4.0 tomorrow so I will just make sure the dev images come along with that.

Thanks for your help! I'm glad we found this before the 10.0.4.0 release!

@headius headius closed this Mar 3, 2026
@headius headius deleted the jruby-dev-updates branch March 3, 2026 23:15
headius added a commit to headius/jruby that referenced this pull request Mar 3, 2026
In docker-library/official-images#20939 we discovered that the
jruby-dist artifacts were not including RubyGems extension stubs
needed for libraries like syslog to load. This change modifies our
verification process to attempt to run from the dist archive and
to load problematic standard libraries to hopefully catch issues
like this in the future.
headius added a commit to jruby/jruby that referenced this pull request Mar 4, 2026
In docker-library/official-images#20939 we discovered that the
jruby-dist artifacts were not including RubyGems extension stubs
needed for libraries like syslog to load. This change modifies our
verification process to attempt to run from the dist archive and
to load problematic standard libraries to hopefully catch issues
like this in the future.
headius added a commit to jruby/jruby that referenced this pull request Mar 4, 2026
In docker-library/official-images#20939 we discovered that the
jruby-dist artifacts were not including RubyGems extension stubs
needed for libraries like syslog to load. This change modifies our
verification process to attempt to run from the dist archive and
to load problematic standard libraries to hopefully catch issues
like this in the future.
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