Update JRuby 10.0-dev and add 10.1-dev#20939
Update JRuby 10.0-dev and add 10.1-dev#20939headius wants to merge 1 commit intodocker-library:masterfrom
Conversation
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: |
|
The builds of JRuby 10.0-dev and 10.1-dev failed due to a new transitive dependency of activesupport, installed by the 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:
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. |
|
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. |
|
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. |
|
Quick question, the updated 10.0-dev images are failing because they are missing 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 |
|
@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). |
|
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 🙇) |
|
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). |
|
Would you like us to go ahead with #20958 and get this in now as-is, or would you rather dig into that first? 👀 |
|
I can reproduce the same issue with both JRuby 10.0.x and CRuby 3.4 by trying to load I'll look at your PR now to see if that's what's happening here. |
|
I think we're just doing |
|
@tianon I'm still trying to sort out what all your verification scripts do, but 10.0-dev should indeed work with a simple |
You should also not be seeing this error after jruby/jruby#9198. 🤔 |
|
I have reproduce the issue with the 10.0.4.0-SNAPSHOT dist tarball. Please hold. |
|
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. |
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.
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.
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.
|
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! |
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.
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.
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.
No description provided.