1
0
Fork 0
mirror of https://github.com/docker-library/ruby.git synced 2022-11-09 11:41:34 -05:00

Adjust RUBYGEMS_VERSION to be fixed at either 3.0.1 or the Ruby-bundled version, whichever is newer

This also adjusts Bundler to be explicitly fixed at either 1.17.2 or the Ruby/Rubygems-bundled version, whichever is newer -- this is slightly older than what we've already pushed (1.17.3), but nothing in the changelog appears to be relevant, so this seems fine: https://github.com/bundler/bundler/compare/v1.17.2...v1.17.3#diff-4ac32a78649ca5bdd8e0ba38b7006a1e

For Ruby 2.6, this means we no longer do anything to the bundled Rubygems (or Bundler), and simply provide whatever comes with the Ruby release as-is, and it is now up to users to explicitly update if they need a newer version than is provided here.
This commit is contained in:
Tianon Gravi 2018-12-31 16:59:56 -08:00
parent 489c6d4128
commit 84db4691c0
24 changed files with 130 additions and 139 deletions

View file

@ -10,8 +10,7 @@ RUN mkdir -p /usr/local/etc \
ENV RUBY_MAJOR 2.3 ENV RUBY_MAJOR 2.3
ENV RUBY_VERSION 2.3.8 ENV RUBY_VERSION 2.3.8
ENV RUBY_DOWNLOAD_SHA256 910f635d84fd0d81ac9bdee0731279e6026cb4cd1315bbbb5dfb22e09c5c1dfe ENV RUBY_DOWNLOAD_SHA256 910f635d84fd0d81ac9bdee0731279e6026cb4cd1315bbbb5dfb22e09c5c1dfe
ENV RUBYGEMS_VERSION 3.0.2 ENV RUBYGEMS_VERSION 3.0.1
ENV BUNDLER_VERSION 2.0.1
# some of ruby's build scripts are written in ruby # some of ruby's build scripts are written in ruby
# we purge system ruby later to make sure our final image uses what we just built # we purge system ruby later to make sure our final image uses what we just built
@ -99,10 +98,11 @@ RUN set -ex \
&& apk del --no-network .ruby-builddeps \ && apk del --no-network .ruby-builddeps \
&& cd / \ && cd / \
&& rm -r /usr/src/ruby \ && rm -r /usr/src/ruby \
\ # make sure bundled "rubygems" is older than RUBYGEMS_VERSION (https://github.com/docker-library/ruby/issues/246)
&& gem update --system "$RUBYGEMS_VERSION" \ && ruby -e 'exit(Gem::Version.create(ENV["RUBYGEMS_VERSION"]) > Gem::Version.create(Gem::VERSION))' \
&& gem install bundler --version "$BUNDLER_VERSION" --force \ && gem update --system "$RUBYGEMS_VERSION" && rm -r /root/.gem/ \
&& rm -r /root/.gem/ # rough smoke test
&& ruby --version && gem --version && bundle --version
# install things globally, for great justice # install things globally, for great justice
# and don't create ".bundle" in all our apps # and don't create ".bundle" in all our apps

View file

@ -10,8 +10,7 @@ RUN mkdir -p /usr/local/etc \
ENV RUBY_MAJOR 2.3 ENV RUBY_MAJOR 2.3
ENV RUBY_VERSION 2.3.8 ENV RUBY_VERSION 2.3.8
ENV RUBY_DOWNLOAD_SHA256 910f635d84fd0d81ac9bdee0731279e6026cb4cd1315bbbb5dfb22e09c5c1dfe ENV RUBY_DOWNLOAD_SHA256 910f635d84fd0d81ac9bdee0731279e6026cb4cd1315bbbb5dfb22e09c5c1dfe
ENV RUBYGEMS_VERSION 3.0.2 ENV RUBYGEMS_VERSION 3.0.1
ENV BUNDLER_VERSION 2.0.1
# some of ruby's build scripts are written in ruby # some of ruby's build scripts are written in ruby
# we purge system ruby later to make sure our final image uses what we just built # we purge system ruby later to make sure our final image uses what we just built
@ -99,10 +98,11 @@ RUN set -ex \
&& apk del --no-network .ruby-builddeps \ && apk del --no-network .ruby-builddeps \
&& cd / \ && cd / \
&& rm -r /usr/src/ruby \ && rm -r /usr/src/ruby \
\ # make sure bundled "rubygems" is older than RUBYGEMS_VERSION (https://github.com/docker-library/ruby/issues/246)
&& gem update --system "$RUBYGEMS_VERSION" \ && ruby -e 'exit(Gem::Version.create(ENV["RUBYGEMS_VERSION"]) > Gem::Version.create(Gem::VERSION))' \
&& gem install bundler --version "$BUNDLER_VERSION" --force \ && gem update --system "$RUBYGEMS_VERSION" && rm -r /root/.gem/ \
&& rm -r /root/.gem/ # rough smoke test
&& ruby --version && gem --version && bundle --version
# install things globally, for great justice # install things globally, for great justice
# and don't create ".bundle" in all our apps # and don't create ".bundle" in all our apps

View file

@ -10,8 +10,7 @@ RUN mkdir -p /usr/local/etc \
ENV RUBY_MAJOR 2.3 ENV RUBY_MAJOR 2.3
ENV RUBY_VERSION 2.3.8 ENV RUBY_VERSION 2.3.8
ENV RUBY_DOWNLOAD_SHA256 910f635d84fd0d81ac9bdee0731279e6026cb4cd1315bbbb5dfb22e09c5c1dfe ENV RUBY_DOWNLOAD_SHA256 910f635d84fd0d81ac9bdee0731279e6026cb4cd1315bbbb5dfb22e09c5c1dfe
ENV RUBYGEMS_VERSION 3.0.2 ENV RUBYGEMS_VERSION 3.0.1
ENV BUNDLER_VERSION 2.0.1
# some of ruby's build scripts are written in ruby # some of ruby's build scripts are written in ruby
# we purge system ruby later to make sure our final image uses what we just built # we purge system ruby later to make sure our final image uses what we just built
@ -57,10 +56,11 @@ RUN set -ex \
&& apt-get purge -y --auto-remove $buildDeps \ && apt-get purge -y --auto-remove $buildDeps \
&& cd / \ && cd / \
&& rm -r /usr/src/ruby \ && rm -r /usr/src/ruby \
\ # make sure bundled "rubygems" is older than RUBYGEMS_VERSION (https://github.com/docker-library/ruby/issues/246)
&& gem update --system "$RUBYGEMS_VERSION" \ && ruby -e 'exit(Gem::Version.create(ENV["RUBYGEMS_VERSION"]) > Gem::Version.create(Gem::VERSION))' \
&& gem install bundler --version "$BUNDLER_VERSION" --force \ && gem update --system "$RUBYGEMS_VERSION" && rm -r /root/.gem/ \
&& rm -r /root/.gem/ # rough smoke test
&& ruby --version && gem --version && bundle --version
# install things globally, for great justice # install things globally, for great justice
# and don't create ".bundle" in all our apps # and don't create ".bundle" in all our apps

View file

@ -22,8 +22,7 @@ RUN mkdir -p /usr/local/etc \
ENV RUBY_MAJOR 2.3 ENV RUBY_MAJOR 2.3
ENV RUBY_VERSION 2.3.8 ENV RUBY_VERSION 2.3.8
ENV RUBY_DOWNLOAD_SHA256 910f635d84fd0d81ac9bdee0731279e6026cb4cd1315bbbb5dfb22e09c5c1dfe ENV RUBY_DOWNLOAD_SHA256 910f635d84fd0d81ac9bdee0731279e6026cb4cd1315bbbb5dfb22e09c5c1dfe
ENV RUBYGEMS_VERSION 3.0.2 ENV RUBYGEMS_VERSION 3.0.1
ENV BUNDLER_VERSION 2.0.1
# some of ruby's build scripts are written in ruby # some of ruby's build scripts are written in ruby
# we purge system ruby later to make sure our final image uses what we just built # we purge system ruby later to make sure our final image uses what we just built
@ -83,10 +82,11 @@ RUN set -ex \
&& apt-get purge -y --auto-remove $buildDeps \ && apt-get purge -y --auto-remove $buildDeps \
&& cd / \ && cd / \
&& rm -r /usr/src/ruby \ && rm -r /usr/src/ruby \
\ # make sure bundled "rubygems" is older than RUBYGEMS_VERSION (https://github.com/docker-library/ruby/issues/246)
&& gem update --system "$RUBYGEMS_VERSION" \ && ruby -e 'exit(Gem::Version.create(ENV["RUBYGEMS_VERSION"]) > Gem::Version.create(Gem::VERSION))' \
&& gem install bundler --version "$BUNDLER_VERSION" --force \ && gem update --system "$RUBYGEMS_VERSION" && rm -r /root/.gem/ \
&& rm -r /root/.gem/ # rough smoke test
&& ruby --version && gem --version && bundle --version
# install things globally, for great justice # install things globally, for great justice
# and don't create ".bundle" in all our apps # and don't create ".bundle" in all our apps

View file

@ -10,8 +10,7 @@ RUN mkdir -p /usr/local/etc \
ENV RUBY_MAJOR 2.3 ENV RUBY_MAJOR 2.3
ENV RUBY_VERSION 2.3.8 ENV RUBY_VERSION 2.3.8
ENV RUBY_DOWNLOAD_SHA256 910f635d84fd0d81ac9bdee0731279e6026cb4cd1315bbbb5dfb22e09c5c1dfe ENV RUBY_DOWNLOAD_SHA256 910f635d84fd0d81ac9bdee0731279e6026cb4cd1315bbbb5dfb22e09c5c1dfe
ENV RUBYGEMS_VERSION 3.0.2 ENV RUBYGEMS_VERSION 3.0.1
ENV BUNDLER_VERSION 2.0.1
# some of ruby's build scripts are written in ruby # some of ruby's build scripts are written in ruby
# we purge system ruby later to make sure our final image uses what we just built # we purge system ruby later to make sure our final image uses what we just built
@ -59,10 +58,11 @@ RUN set -ex \
&& apt-get purge -y --auto-remove $buildDeps \ && apt-get purge -y --auto-remove $buildDeps \
&& cd / \ && cd / \
&& rm -r /usr/src/ruby \ && rm -r /usr/src/ruby \
\ # make sure bundled "rubygems" is older than RUBYGEMS_VERSION (https://github.com/docker-library/ruby/issues/246)
&& gem update --system "$RUBYGEMS_VERSION" \ && ruby -e 'exit(Gem::Version.create(ENV["RUBYGEMS_VERSION"]) > Gem::Version.create(Gem::VERSION))' \
&& gem install bundler --version "$BUNDLER_VERSION" --force \ && gem update --system "$RUBYGEMS_VERSION" && rm -r /root/.gem/ \
&& rm -r /root/.gem/ # rough smoke test
&& ruby --version && gem --version && bundle --version
# install things globally, for great justice # install things globally, for great justice
# and don't create ".bundle" in all our apps # and don't create ".bundle" in all our apps

View file

@ -22,8 +22,7 @@ RUN mkdir -p /usr/local/etc \
ENV RUBY_MAJOR 2.3 ENV RUBY_MAJOR 2.3
ENV RUBY_VERSION 2.3.8 ENV RUBY_VERSION 2.3.8
ENV RUBY_DOWNLOAD_SHA256 910f635d84fd0d81ac9bdee0731279e6026cb4cd1315bbbb5dfb22e09c5c1dfe ENV RUBY_DOWNLOAD_SHA256 910f635d84fd0d81ac9bdee0731279e6026cb4cd1315bbbb5dfb22e09c5c1dfe
ENV RUBYGEMS_VERSION 3.0.2 ENV RUBYGEMS_VERSION 3.0.1
ENV BUNDLER_VERSION 2.0.1
# some of ruby's build scripts are written in ruby # some of ruby's build scripts are written in ruby
# we purge system ruby later to make sure our final image uses what we just built # we purge system ruby later to make sure our final image uses what we just built
@ -83,10 +82,11 @@ RUN set -ex \
&& apt-get purge -y --auto-remove $buildDeps \ && apt-get purge -y --auto-remove $buildDeps \
&& cd / \ && cd / \
&& rm -r /usr/src/ruby \ && rm -r /usr/src/ruby \
\ # make sure bundled "rubygems" is older than RUBYGEMS_VERSION (https://github.com/docker-library/ruby/issues/246)
&& gem update --system "$RUBYGEMS_VERSION" \ && ruby -e 'exit(Gem::Version.create(ENV["RUBYGEMS_VERSION"]) > Gem::Version.create(Gem::VERSION))' \
&& gem install bundler --version "$BUNDLER_VERSION" --force \ && gem update --system "$RUBYGEMS_VERSION" && rm -r /root/.gem/ \
&& rm -r /root/.gem/ # rough smoke test
&& ruby --version && gem --version && bundle --version
# install things globally, for great justice # install things globally, for great justice
# and don't create ".bundle" in all our apps # and don't create ".bundle" in all our apps

View file

@ -10,8 +10,7 @@ RUN mkdir -p /usr/local/etc \
ENV RUBY_MAJOR 2.4 ENV RUBY_MAJOR 2.4
ENV RUBY_VERSION 2.4.5 ENV RUBY_VERSION 2.4.5
ENV RUBY_DOWNLOAD_SHA256 2f0cdcce9989f63ef7c2939bdb17b1ef244c4f384d85b8531d60e73d8cc31eeb ENV RUBY_DOWNLOAD_SHA256 2f0cdcce9989f63ef7c2939bdb17b1ef244c4f384d85b8531d60e73d8cc31eeb
ENV RUBYGEMS_VERSION 3.0.2 ENV RUBYGEMS_VERSION 3.0.1
ENV BUNDLER_VERSION 2.0.1
# some of ruby's build scripts are written in ruby # some of ruby's build scripts are written in ruby
# we purge system ruby later to make sure our final image uses what we just built # we purge system ruby later to make sure our final image uses what we just built
@ -99,10 +98,11 @@ RUN set -ex \
&& apk del --no-network .ruby-builddeps \ && apk del --no-network .ruby-builddeps \
&& cd / \ && cd / \
&& rm -r /usr/src/ruby \ && rm -r /usr/src/ruby \
\ # make sure bundled "rubygems" is older than RUBYGEMS_VERSION (https://github.com/docker-library/ruby/issues/246)
&& gem update --system "$RUBYGEMS_VERSION" \ && ruby -e 'exit(Gem::Version.create(ENV["RUBYGEMS_VERSION"]) > Gem::Version.create(Gem::VERSION))' \
&& gem install bundler --version "$BUNDLER_VERSION" --force \ && gem update --system "$RUBYGEMS_VERSION" && rm -r /root/.gem/ \
&& rm -r /root/.gem/ # rough smoke test
&& ruby --version && gem --version && bundle --version
# install things globally, for great justice # install things globally, for great justice
# and don't create ".bundle" in all our apps # and don't create ".bundle" in all our apps

View file

@ -10,8 +10,7 @@ RUN mkdir -p /usr/local/etc \
ENV RUBY_MAJOR 2.4 ENV RUBY_MAJOR 2.4
ENV RUBY_VERSION 2.4.5 ENV RUBY_VERSION 2.4.5
ENV RUBY_DOWNLOAD_SHA256 2f0cdcce9989f63ef7c2939bdb17b1ef244c4f384d85b8531d60e73d8cc31eeb ENV RUBY_DOWNLOAD_SHA256 2f0cdcce9989f63ef7c2939bdb17b1ef244c4f384d85b8531d60e73d8cc31eeb
ENV RUBYGEMS_VERSION 3.0.2 ENV RUBYGEMS_VERSION 3.0.1
ENV BUNDLER_VERSION 2.0.1
# some of ruby's build scripts are written in ruby # some of ruby's build scripts are written in ruby
# we purge system ruby later to make sure our final image uses what we just built # we purge system ruby later to make sure our final image uses what we just built
@ -99,10 +98,11 @@ RUN set -ex \
&& apk del --no-network .ruby-builddeps \ && apk del --no-network .ruby-builddeps \
&& cd / \ && cd / \
&& rm -r /usr/src/ruby \ && rm -r /usr/src/ruby \
\ # make sure bundled "rubygems" is older than RUBYGEMS_VERSION (https://github.com/docker-library/ruby/issues/246)
&& gem update --system "$RUBYGEMS_VERSION" \ && ruby -e 'exit(Gem::Version.create(ENV["RUBYGEMS_VERSION"]) > Gem::Version.create(Gem::VERSION))' \
&& gem install bundler --version "$BUNDLER_VERSION" --force \ && gem update --system "$RUBYGEMS_VERSION" && rm -r /root/.gem/ \
&& rm -r /root/.gem/ # rough smoke test
&& ruby --version && gem --version && bundle --version
# install things globally, for great justice # install things globally, for great justice
# and don't create ".bundle" in all our apps # and don't create ".bundle" in all our apps

View file

@ -10,8 +10,7 @@ RUN mkdir -p /usr/local/etc \
ENV RUBY_MAJOR 2.4 ENV RUBY_MAJOR 2.4
ENV RUBY_VERSION 2.4.5 ENV RUBY_VERSION 2.4.5
ENV RUBY_DOWNLOAD_SHA256 2f0cdcce9989f63ef7c2939bdb17b1ef244c4f384d85b8531d60e73d8cc31eeb ENV RUBY_DOWNLOAD_SHA256 2f0cdcce9989f63ef7c2939bdb17b1ef244c4f384d85b8531d60e73d8cc31eeb
ENV RUBYGEMS_VERSION 3.0.2 ENV RUBYGEMS_VERSION 3.0.1
ENV BUNDLER_VERSION 2.0.1
# some of ruby's build scripts are written in ruby # some of ruby's build scripts are written in ruby
# we purge system ruby later to make sure our final image uses what we just built # we purge system ruby later to make sure our final image uses what we just built
@ -57,10 +56,11 @@ RUN set -ex \
&& apt-get purge -y --auto-remove $buildDeps \ && apt-get purge -y --auto-remove $buildDeps \
&& cd / \ && cd / \
&& rm -r /usr/src/ruby \ && rm -r /usr/src/ruby \
\ # make sure bundled "rubygems" is older than RUBYGEMS_VERSION (https://github.com/docker-library/ruby/issues/246)
&& gem update --system "$RUBYGEMS_VERSION" \ && ruby -e 'exit(Gem::Version.create(ENV["RUBYGEMS_VERSION"]) > Gem::Version.create(Gem::VERSION))' \
&& gem install bundler --version "$BUNDLER_VERSION" --force \ && gem update --system "$RUBYGEMS_VERSION" && rm -r /root/.gem/ \
&& rm -r /root/.gem/ # rough smoke test
&& ruby --version && gem --version && bundle --version
# install things globally, for great justice # install things globally, for great justice
# and don't create ".bundle" in all our apps # and don't create ".bundle" in all our apps

View file

@ -22,8 +22,7 @@ RUN mkdir -p /usr/local/etc \
ENV RUBY_MAJOR 2.4 ENV RUBY_MAJOR 2.4
ENV RUBY_VERSION 2.4.5 ENV RUBY_VERSION 2.4.5
ENV RUBY_DOWNLOAD_SHA256 2f0cdcce9989f63ef7c2939bdb17b1ef244c4f384d85b8531d60e73d8cc31eeb ENV RUBY_DOWNLOAD_SHA256 2f0cdcce9989f63ef7c2939bdb17b1ef244c4f384d85b8531d60e73d8cc31eeb
ENV RUBYGEMS_VERSION 3.0.2 ENV RUBYGEMS_VERSION 3.0.1
ENV BUNDLER_VERSION 2.0.1
# some of ruby's build scripts are written in ruby # some of ruby's build scripts are written in ruby
# we purge system ruby later to make sure our final image uses what we just built # we purge system ruby later to make sure our final image uses what we just built
@ -83,10 +82,11 @@ RUN set -ex \
&& apt-get purge -y --auto-remove $buildDeps \ && apt-get purge -y --auto-remove $buildDeps \
&& cd / \ && cd / \
&& rm -r /usr/src/ruby \ && rm -r /usr/src/ruby \
\ # make sure bundled "rubygems" is older than RUBYGEMS_VERSION (https://github.com/docker-library/ruby/issues/246)
&& gem update --system "$RUBYGEMS_VERSION" \ && ruby -e 'exit(Gem::Version.create(ENV["RUBYGEMS_VERSION"]) > Gem::Version.create(Gem::VERSION))' \
&& gem install bundler --version "$BUNDLER_VERSION" --force \ && gem update --system "$RUBYGEMS_VERSION" && rm -r /root/.gem/ \
&& rm -r /root/.gem/ # rough smoke test
&& ruby --version && gem --version && bundle --version
# install things globally, for great justice # install things globally, for great justice
# and don't create ".bundle" in all our apps # and don't create ".bundle" in all our apps

View file

@ -10,8 +10,7 @@ RUN mkdir -p /usr/local/etc \
ENV RUBY_MAJOR 2.4 ENV RUBY_MAJOR 2.4
ENV RUBY_VERSION 2.4.5 ENV RUBY_VERSION 2.4.5
ENV RUBY_DOWNLOAD_SHA256 2f0cdcce9989f63ef7c2939bdb17b1ef244c4f384d85b8531d60e73d8cc31eeb ENV RUBY_DOWNLOAD_SHA256 2f0cdcce9989f63ef7c2939bdb17b1ef244c4f384d85b8531d60e73d8cc31eeb
ENV RUBYGEMS_VERSION 3.0.2 ENV RUBYGEMS_VERSION 3.0.1
ENV BUNDLER_VERSION 2.0.1
# some of ruby's build scripts are written in ruby # some of ruby's build scripts are written in ruby
# we purge system ruby later to make sure our final image uses what we just built # we purge system ruby later to make sure our final image uses what we just built
@ -57,10 +56,11 @@ RUN set -ex \
&& apt-get purge -y --auto-remove $buildDeps \ && apt-get purge -y --auto-remove $buildDeps \
&& cd / \ && cd / \
&& rm -r /usr/src/ruby \ && rm -r /usr/src/ruby \
\ # make sure bundled "rubygems" is older than RUBYGEMS_VERSION (https://github.com/docker-library/ruby/issues/246)
&& gem update --system "$RUBYGEMS_VERSION" \ && ruby -e 'exit(Gem::Version.create(ENV["RUBYGEMS_VERSION"]) > Gem::Version.create(Gem::VERSION))' \
&& gem install bundler --version "$BUNDLER_VERSION" --force \ && gem update --system "$RUBYGEMS_VERSION" && rm -r /root/.gem/ \
&& rm -r /root/.gem/ # rough smoke test
&& ruby --version && gem --version && bundle --version
# install things globally, for great justice # install things globally, for great justice
# and don't create ".bundle" in all our apps # and don't create ".bundle" in all our apps

View file

@ -22,8 +22,7 @@ RUN mkdir -p /usr/local/etc \
ENV RUBY_MAJOR 2.4 ENV RUBY_MAJOR 2.4
ENV RUBY_VERSION 2.4.5 ENV RUBY_VERSION 2.4.5
ENV RUBY_DOWNLOAD_SHA256 2f0cdcce9989f63ef7c2939bdb17b1ef244c4f384d85b8531d60e73d8cc31eeb ENV RUBY_DOWNLOAD_SHA256 2f0cdcce9989f63ef7c2939bdb17b1ef244c4f384d85b8531d60e73d8cc31eeb
ENV RUBYGEMS_VERSION 3.0.2 ENV RUBYGEMS_VERSION 3.0.1
ENV BUNDLER_VERSION 2.0.1
# some of ruby's build scripts are written in ruby # some of ruby's build scripts are written in ruby
# we purge system ruby later to make sure our final image uses what we just built # we purge system ruby later to make sure our final image uses what we just built
@ -83,10 +82,11 @@ RUN set -ex \
&& apt-get purge -y --auto-remove $buildDeps \ && apt-get purge -y --auto-remove $buildDeps \
&& cd / \ && cd / \
&& rm -r /usr/src/ruby \ && rm -r /usr/src/ruby \
\ # make sure bundled "rubygems" is older than RUBYGEMS_VERSION (https://github.com/docker-library/ruby/issues/246)
&& gem update --system "$RUBYGEMS_VERSION" \ && ruby -e 'exit(Gem::Version.create(ENV["RUBYGEMS_VERSION"]) > Gem::Version.create(Gem::VERSION))' \
&& gem install bundler --version "$BUNDLER_VERSION" --force \ && gem update --system "$RUBYGEMS_VERSION" && rm -r /root/.gem/ \
&& rm -r /root/.gem/ # rough smoke test
&& ruby --version && gem --version && bundle --version
# install things globally, for great justice # install things globally, for great justice
# and don't create ".bundle" in all our apps # and don't create ".bundle" in all our apps

View file

@ -10,8 +10,7 @@ RUN mkdir -p /usr/local/etc \
ENV RUBY_MAJOR 2.5 ENV RUBY_MAJOR 2.5
ENV RUBY_VERSION 2.5.3 ENV RUBY_VERSION 2.5.3
ENV RUBY_DOWNLOAD_SHA256 1cc9d0359a8ea35fc6111ec830d12e60168f3b9b305a3c2578357d360fcf306f ENV RUBY_DOWNLOAD_SHA256 1cc9d0359a8ea35fc6111ec830d12e60168f3b9b305a3c2578357d360fcf306f
ENV RUBYGEMS_VERSION 3.0.2 ENV RUBYGEMS_VERSION 3.0.1
ENV BUNDLER_VERSION 2.0.1
# some of ruby's build scripts are written in ruby # some of ruby's build scripts are written in ruby
# we purge system ruby later to make sure our final image uses what we just built # we purge system ruby later to make sure our final image uses what we just built
@ -99,10 +98,11 @@ RUN set -ex \
&& apk del --no-network .ruby-builddeps \ && apk del --no-network .ruby-builddeps \
&& cd / \ && cd / \
&& rm -r /usr/src/ruby \ && rm -r /usr/src/ruby \
\ # make sure bundled "rubygems" is older than RUBYGEMS_VERSION (https://github.com/docker-library/ruby/issues/246)
&& gem update --system "$RUBYGEMS_VERSION" \ && ruby -e 'exit(Gem::Version.create(ENV["RUBYGEMS_VERSION"]) > Gem::Version.create(Gem::VERSION))' \
&& gem install bundler --version "$BUNDLER_VERSION" --force \ && gem update --system "$RUBYGEMS_VERSION" && rm -r /root/.gem/ \
&& rm -r /root/.gem/ # rough smoke test
&& ruby --version && gem --version && bundle --version
# install things globally, for great justice # install things globally, for great justice
# and don't create ".bundle" in all our apps # and don't create ".bundle" in all our apps

View file

@ -10,8 +10,7 @@ RUN mkdir -p /usr/local/etc \
ENV RUBY_MAJOR 2.5 ENV RUBY_MAJOR 2.5
ENV RUBY_VERSION 2.5.3 ENV RUBY_VERSION 2.5.3
ENV RUBY_DOWNLOAD_SHA256 1cc9d0359a8ea35fc6111ec830d12e60168f3b9b305a3c2578357d360fcf306f ENV RUBY_DOWNLOAD_SHA256 1cc9d0359a8ea35fc6111ec830d12e60168f3b9b305a3c2578357d360fcf306f
ENV RUBYGEMS_VERSION 3.0.2 ENV RUBYGEMS_VERSION 3.0.1
ENV BUNDLER_VERSION 2.0.1
# some of ruby's build scripts are written in ruby # some of ruby's build scripts are written in ruby
# we purge system ruby later to make sure our final image uses what we just built # we purge system ruby later to make sure our final image uses what we just built
@ -99,10 +98,11 @@ RUN set -ex \
&& apk del --no-network .ruby-builddeps \ && apk del --no-network .ruby-builddeps \
&& cd / \ && cd / \
&& rm -r /usr/src/ruby \ && rm -r /usr/src/ruby \
\ # make sure bundled "rubygems" is older than RUBYGEMS_VERSION (https://github.com/docker-library/ruby/issues/246)
&& gem update --system "$RUBYGEMS_VERSION" \ && ruby -e 'exit(Gem::Version.create(ENV["RUBYGEMS_VERSION"]) > Gem::Version.create(Gem::VERSION))' \
&& gem install bundler --version "$BUNDLER_VERSION" --force \ && gem update --system "$RUBYGEMS_VERSION" && rm -r /root/.gem/ \
&& rm -r /root/.gem/ # rough smoke test
&& ruby --version && gem --version && bundle --version
# install things globally, for great justice # install things globally, for great justice
# and don't create ".bundle" in all our apps # and don't create ".bundle" in all our apps

View file

@ -10,8 +10,7 @@ RUN mkdir -p /usr/local/etc \
ENV RUBY_MAJOR 2.5 ENV RUBY_MAJOR 2.5
ENV RUBY_VERSION 2.5.3 ENV RUBY_VERSION 2.5.3
ENV RUBY_DOWNLOAD_SHA256 1cc9d0359a8ea35fc6111ec830d12e60168f3b9b305a3c2578357d360fcf306f ENV RUBY_DOWNLOAD_SHA256 1cc9d0359a8ea35fc6111ec830d12e60168f3b9b305a3c2578357d360fcf306f
ENV RUBYGEMS_VERSION 3.0.2 ENV RUBYGEMS_VERSION 3.0.1
ENV BUNDLER_VERSION 2.0.1
# some of ruby's build scripts are written in ruby # some of ruby's build scripts are written in ruby
# we purge system ruby later to make sure our final image uses what we just built # we purge system ruby later to make sure our final image uses what we just built
@ -57,10 +56,11 @@ RUN set -ex \
&& apt-get purge -y --auto-remove $buildDeps \ && apt-get purge -y --auto-remove $buildDeps \
&& cd / \ && cd / \
&& rm -r /usr/src/ruby \ && rm -r /usr/src/ruby \
\ # make sure bundled "rubygems" is older than RUBYGEMS_VERSION (https://github.com/docker-library/ruby/issues/246)
&& gem update --system "$RUBYGEMS_VERSION" \ && ruby -e 'exit(Gem::Version.create(ENV["RUBYGEMS_VERSION"]) > Gem::Version.create(Gem::VERSION))' \
&& gem install bundler --version "$BUNDLER_VERSION" --force \ && gem update --system "$RUBYGEMS_VERSION" && rm -r /root/.gem/ \
&& rm -r /root/.gem/ # rough smoke test
&& ruby --version && gem --version && bundle --version
# install things globally, for great justice # install things globally, for great justice
# and don't create ".bundle" in all our apps # and don't create ".bundle" in all our apps

View file

@ -22,8 +22,7 @@ RUN mkdir -p /usr/local/etc \
ENV RUBY_MAJOR 2.5 ENV RUBY_MAJOR 2.5
ENV RUBY_VERSION 2.5.3 ENV RUBY_VERSION 2.5.3
ENV RUBY_DOWNLOAD_SHA256 1cc9d0359a8ea35fc6111ec830d12e60168f3b9b305a3c2578357d360fcf306f ENV RUBY_DOWNLOAD_SHA256 1cc9d0359a8ea35fc6111ec830d12e60168f3b9b305a3c2578357d360fcf306f
ENV RUBYGEMS_VERSION 3.0.2 ENV RUBYGEMS_VERSION 3.0.1
ENV BUNDLER_VERSION 2.0.1
# some of ruby's build scripts are written in ruby # some of ruby's build scripts are written in ruby
# we purge system ruby later to make sure our final image uses what we just built # we purge system ruby later to make sure our final image uses what we just built
@ -83,10 +82,11 @@ RUN set -ex \
&& apt-get purge -y --auto-remove $buildDeps \ && apt-get purge -y --auto-remove $buildDeps \
&& cd / \ && cd / \
&& rm -r /usr/src/ruby \ && rm -r /usr/src/ruby \
\ # make sure bundled "rubygems" is older than RUBYGEMS_VERSION (https://github.com/docker-library/ruby/issues/246)
&& gem update --system "$RUBYGEMS_VERSION" \ && ruby -e 'exit(Gem::Version.create(ENV["RUBYGEMS_VERSION"]) > Gem::Version.create(Gem::VERSION))' \
&& gem install bundler --version "$BUNDLER_VERSION" --force \ && gem update --system "$RUBYGEMS_VERSION" && rm -r /root/.gem/ \
&& rm -r /root/.gem/ # rough smoke test
&& ruby --version && gem --version && bundle --version
# install things globally, for great justice # install things globally, for great justice
# and don't create ".bundle" in all our apps # and don't create ".bundle" in all our apps

View file

@ -10,8 +10,6 @@ RUN mkdir -p /usr/local/etc \
ENV RUBY_MAJOR 2.6 ENV RUBY_MAJOR 2.6
ENV RUBY_VERSION 2.6.0 ENV RUBY_VERSION 2.6.0
ENV RUBY_DOWNLOAD_SHA256 acb00f04374899ba8ee74bbbcb9b35c5c6b1fd229f1876554ee76f0f1710ff5f ENV RUBY_DOWNLOAD_SHA256 acb00f04374899ba8ee74bbbcb9b35c5c6b1fd229f1876554ee76f0f1710ff5f
ENV RUBYGEMS_VERSION 3.0.2
ENV BUNDLER_VERSION 2.0.1
# some of ruby's build scripts are written in ruby # some of ruby's build scripts are written in ruby
# we purge system ruby later to make sure our final image uses what we just built # we purge system ruby later to make sure our final image uses what we just built
@ -99,10 +97,8 @@ RUN set -ex \
&& apk del --no-network .ruby-builddeps \ && apk del --no-network .ruby-builddeps \
&& cd / \ && cd / \
&& rm -r /usr/src/ruby \ && rm -r /usr/src/ruby \
\ # rough smoke test
&& gem update --system "$RUBYGEMS_VERSION" \ && ruby --version && gem --version && bundle --version
&& gem install bundler --version "$BUNDLER_VERSION" --force \
&& rm -r /root/.gem/
# install things globally, for great justice # install things globally, for great justice
# and don't create ".bundle" in all our apps # and don't create ".bundle" in all our apps

View file

@ -10,8 +10,6 @@ RUN mkdir -p /usr/local/etc \
ENV RUBY_MAJOR 2.6 ENV RUBY_MAJOR 2.6
ENV RUBY_VERSION 2.6.0 ENV RUBY_VERSION 2.6.0
ENV RUBY_DOWNLOAD_SHA256 acb00f04374899ba8ee74bbbcb9b35c5c6b1fd229f1876554ee76f0f1710ff5f ENV RUBY_DOWNLOAD_SHA256 acb00f04374899ba8ee74bbbcb9b35c5c6b1fd229f1876554ee76f0f1710ff5f
ENV RUBYGEMS_VERSION 3.0.2
ENV BUNDLER_VERSION 2.0.1
# some of ruby's build scripts are written in ruby # some of ruby's build scripts are written in ruby
# we purge system ruby later to make sure our final image uses what we just built # we purge system ruby later to make sure our final image uses what we just built
@ -99,10 +97,8 @@ RUN set -ex \
&& apk del --no-network .ruby-builddeps \ && apk del --no-network .ruby-builddeps \
&& cd / \ && cd / \
&& rm -r /usr/src/ruby \ && rm -r /usr/src/ruby \
\ # rough smoke test
&& gem update --system "$RUBYGEMS_VERSION" \ && ruby --version && gem --version && bundle --version
&& gem install bundler --version "$BUNDLER_VERSION" --force \
&& rm -r /root/.gem/
# install things globally, for great justice # install things globally, for great justice
# and don't create ".bundle" in all our apps # and don't create ".bundle" in all our apps

View file

@ -10,8 +10,6 @@ RUN mkdir -p /usr/local/etc \
ENV RUBY_MAJOR 2.6 ENV RUBY_MAJOR 2.6
ENV RUBY_VERSION 2.6.0 ENV RUBY_VERSION 2.6.0
ENV RUBY_DOWNLOAD_SHA256 acb00f04374899ba8ee74bbbcb9b35c5c6b1fd229f1876554ee76f0f1710ff5f ENV RUBY_DOWNLOAD_SHA256 acb00f04374899ba8ee74bbbcb9b35c5c6b1fd229f1876554ee76f0f1710ff5f
ENV RUBYGEMS_VERSION 3.0.2
ENV BUNDLER_VERSION 2.0.1
# some of ruby's build scripts are written in ruby # some of ruby's build scripts are written in ruby
# we purge system ruby later to make sure our final image uses what we just built # we purge system ruby later to make sure our final image uses what we just built
@ -57,10 +55,8 @@ RUN set -ex \
&& apt-get purge -y --auto-remove $buildDeps \ && apt-get purge -y --auto-remove $buildDeps \
&& cd / \ && cd / \
&& rm -r /usr/src/ruby \ && rm -r /usr/src/ruby \
\ # rough smoke test
&& gem update --system "$RUBYGEMS_VERSION" \ && ruby --version && gem --version && bundle --version
&& gem install bundler --version "$BUNDLER_VERSION" --force \
&& rm -r /root/.gem/
# install things globally, for great justice # install things globally, for great justice
# and don't create ".bundle" in all our apps # and don't create ".bundle" in all our apps

View file

@ -22,8 +22,6 @@ RUN mkdir -p /usr/local/etc \
ENV RUBY_MAJOR 2.6 ENV RUBY_MAJOR 2.6
ENV RUBY_VERSION 2.6.0 ENV RUBY_VERSION 2.6.0
ENV RUBY_DOWNLOAD_SHA256 acb00f04374899ba8ee74bbbcb9b35c5c6b1fd229f1876554ee76f0f1710ff5f ENV RUBY_DOWNLOAD_SHA256 acb00f04374899ba8ee74bbbcb9b35c5c6b1fd229f1876554ee76f0f1710ff5f
ENV RUBYGEMS_VERSION 3.0.2
ENV BUNDLER_VERSION 2.0.1
# some of ruby's build scripts are written in ruby # some of ruby's build scripts are written in ruby
# we purge system ruby later to make sure our final image uses what we just built # we purge system ruby later to make sure our final image uses what we just built
@ -83,10 +81,8 @@ RUN set -ex \
&& apt-get purge -y --auto-remove $buildDeps \ && apt-get purge -y --auto-remove $buildDeps \
&& cd / \ && cd / \
&& rm -r /usr/src/ruby \ && rm -r /usr/src/ruby \
\ # rough smoke test
&& gem update --system "$RUBYGEMS_VERSION" \ && ruby --version && gem --version && bundle --version
&& gem install bundler --version "$BUNDLER_VERSION" --force \
&& rm -r /root/.gem/
# install things globally, for great justice # install things globally, for great justice
# and don't create ".bundle" in all our apps # and don't create ".bundle" in all our apps

View file

@ -11,7 +11,6 @@ ENV RUBY_MAJOR %%VERSION%%
ENV RUBY_VERSION %%FULL_VERSION%% ENV RUBY_VERSION %%FULL_VERSION%%
ENV RUBY_DOWNLOAD_SHA256 %%SHA256%% ENV RUBY_DOWNLOAD_SHA256 %%SHA256%%
ENV RUBYGEMS_VERSION %%RUBYGEMS%% ENV RUBYGEMS_VERSION %%RUBYGEMS%%
ENV BUNDLER_VERSION %%BUNDLER%%
# some of ruby's build scripts are written in ruby # some of ruby's build scripts are written in ruby
# we purge system ruby later to make sure our final image uses what we just built # we purge system ruby later to make sure our final image uses what we just built
@ -99,10 +98,11 @@ RUN set -ex \
&& apk del --no-network .ruby-builddeps \ && apk del --no-network .ruby-builddeps \
&& cd / \ && cd / \
&& rm -r /usr/src/ruby \ && rm -r /usr/src/ruby \
\ # make sure bundled "rubygems" is older than RUBYGEMS_VERSION (https://github.com/docker-library/ruby/issues/246)
&& gem update --system "$RUBYGEMS_VERSION" \ && ruby -e 'exit(Gem::Version.create(ENV["RUBYGEMS_VERSION"]) > Gem::Version.create(Gem::VERSION))' \
&& gem install bundler --version "$BUNDLER_VERSION" --force \ && gem update --system "$RUBYGEMS_VERSION" && rm -r /root/.gem/ \
&& rm -r /root/.gem/ # rough smoke test
&& ruby --version && gem --version && bundle --version
# install things globally, for great justice # install things globally, for great justice
# and don't create ".bundle" in all our apps # and don't create ".bundle" in all our apps

View file

@ -11,7 +11,6 @@ ENV RUBY_MAJOR %%VERSION%%
ENV RUBY_VERSION %%FULL_VERSION%% ENV RUBY_VERSION %%FULL_VERSION%%
ENV RUBY_DOWNLOAD_SHA256 %%SHA256%% ENV RUBY_DOWNLOAD_SHA256 %%SHA256%%
ENV RUBYGEMS_VERSION %%RUBYGEMS%% ENV RUBYGEMS_VERSION %%RUBYGEMS%%
ENV BUNDLER_VERSION %%BUNDLER%%
# some of ruby's build scripts are written in ruby # some of ruby's build scripts are written in ruby
# we purge system ruby later to make sure our final image uses what we just built # we purge system ruby later to make sure our final image uses what we just built
@ -59,10 +58,11 @@ RUN set -ex \
&& apt-get purge -y --auto-remove $buildDeps \ && apt-get purge -y --auto-remove $buildDeps \
&& cd / \ && cd / \
&& rm -r /usr/src/ruby \ && rm -r /usr/src/ruby \
\ # make sure bundled "rubygems" is older than RUBYGEMS_VERSION (https://github.com/docker-library/ruby/issues/246)
&& gem update --system "$RUBYGEMS_VERSION" \ && ruby -e 'exit(Gem::Version.create(ENV["RUBYGEMS_VERSION"]) > Gem::Version.create(Gem::VERSION))' \
&& gem install bundler --version "$BUNDLER_VERSION" --force \ && gem update --system "$RUBYGEMS_VERSION" && rm -r /root/.gem/ \
&& rm -r /root/.gem/ # rough smoke test
&& ruby --version && gem --version && bundle --version
# install things globally, for great justice # install things globally, for great justice
# and don't create ".bundle" in all our apps # and don't create ".bundle" in all our apps

View file

@ -23,7 +23,6 @@ ENV RUBY_MAJOR %%VERSION%%
ENV RUBY_VERSION %%FULL_VERSION%% ENV RUBY_VERSION %%FULL_VERSION%%
ENV RUBY_DOWNLOAD_SHA256 %%SHA256%% ENV RUBY_DOWNLOAD_SHA256 %%SHA256%%
ENV RUBYGEMS_VERSION %%RUBYGEMS%% ENV RUBYGEMS_VERSION %%RUBYGEMS%%
ENV BUNDLER_VERSION %%BUNDLER%%
# some of ruby's build scripts are written in ruby # some of ruby's build scripts are written in ruby
# we purge system ruby later to make sure our final image uses what we just built # we purge system ruby later to make sure our final image uses what we just built
@ -83,10 +82,11 @@ RUN set -ex \
&& apt-get purge -y --auto-remove $buildDeps \ && apt-get purge -y --auto-remove $buildDeps \
&& cd / \ && cd / \
&& rm -r /usr/src/ruby \ && rm -r /usr/src/ruby \
\ # make sure bundled "rubygems" is older than RUBYGEMS_VERSION (https://github.com/docker-library/ruby/issues/246)
&& gem update --system "$RUBYGEMS_VERSION" \ && ruby -e 'exit(Gem::Version.create(ENV["RUBYGEMS_VERSION"]) > Gem::Version.create(Gem::VERSION))' \
&& gem install bundler --version "$BUNDLER_VERSION" --force \ && gem update --system "$RUBYGEMS_VERSION" && rm -r /root/.gem/ \
&& rm -r /root/.gem/ # rough smoke test
&& ruby --version && gem --version && bundle --version
# install things globally, for great justice # install things globally, for great justice
# and don't create ".bundle" in all our apps # and don't create ".bundle" in all our apps

View file

@ -17,8 +17,12 @@ latest_gem_version() {
curl -fsSL "https://rubygems.org/api/v1/gems/$1.json" | sed -r 's/^.*"version":"([^"]+)".*$/\1/' curl -fsSL "https://rubygems.org/api/v1/gems/$1.json" | sed -r 's/^.*"version":"([^"]+)".*$/\1/'
} }
rubygems="$(latest_gem_version rubygems-update)" # https://github.com/docker-library/ruby/issues/246
bundler="$(latest_gem_version bundler)" rubygems='3.0.1'
declare -A newEnoughRubygems=(
[2.6]=1 # 3.0.1+
)
# TODO once all versions are in this family of "new enough", remove RUBYGEMS_VERSION code entirely
travisEnv= travisEnv=
for version in "${versions[@]}"; do for version in "${versions[@]}"; do
@ -63,7 +67,7 @@ for version in "${versions[@]}"; do
continue continue
fi fi
echo "$version: $fullVersion; rubygems $rubygems, bundler $bundler; $shaVal" echo "$version: $fullVersion; $shaVal"
for v in \ for v in \
alpine{3.6,3.7,3.8} \ alpine{3.6,3.7,3.8} \
@ -86,7 +90,6 @@ for version in "${versions[@]}"; do
-e 's!%%FULL_VERSION%%!'"$fullVersion"'!g' \ -e 's!%%FULL_VERSION%%!'"$fullVersion"'!g' \
-e 's!%%SHA256%%!'"$shaVal"'!g' \ -e 's!%%SHA256%%!'"$shaVal"'!g' \
-e 's!%%RUBYGEMS%%!'"$rubygems"'!g' \ -e 's!%%RUBYGEMS%%!'"$rubygems"'!g' \
-e 's!%%BUNDLER%%!'"$bundler"'!g' \
-e "$( -e "$(
if [ "$version" = 2.3 ] && [[ "$v" = stretch* ]]; then if [ "$version" = 2.3 ] && [[ "$v" = stretch* ]]; then
echo 's/libssl-dev/libssl1.0-dev/g' echo 's/libssl-dev/libssl1.0-dev/g'
@ -97,6 +100,10 @@ for version in "${versions[@]}"; do
-e 's/^(FROM (debian|buildpack-deps|alpine)):.*/\1:'"$tag"'/' \ -e 's/^(FROM (debian|buildpack-deps|alpine)):.*/\1:'"$tag"'/' \
"$template" > "$dir/Dockerfile" "$template" > "$dir/Dockerfile"
if [ -n "${newEnoughRubygems[$version]:-}" ]; then
sed -ri -e '/RUBYGEMS_VERSION/d' "$dir/Dockerfile"
fi
travisEnv='\n - VERSION='"$version VARIANT=$v$travisEnv" travisEnv='\n - VERSION='"$version VARIANT=$v$travisEnv"
done done
done done