Skip to content

Commit cf74f88

Browse files
authored
Merge pull request #165 from mtsmfm/add-2-5-rc
Add 2.5-rc builds
2 parents 59abfdf + 6959194 commit cf74f88

File tree

19 files changed

+334
-75
lines changed

19 files changed

+334
-75
lines changed

.travis.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,9 @@ language: bash
22
services: docker
33

44
env:
5+
- VERSION=2.5-rc VARIANT=stretch
6+
- VERSION=2.5-rc VARIANT=stretch/slim
7+
- VERSION=2.5-rc VARIANT=alpine3.6
58
- VERSION=2.4 VARIANT=stretch
69
- VERSION=2.4 VARIANT=stretch/slim
710
- VERSION=2.4 VARIANT=jessie

2.2/alpine3.4/Dockerfile

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ ENV RUBY_MAJOR 2.2
1111
ENV RUBY_VERSION 2.2.8
1212
ENV RUBY_DOWNLOAD_SHA256 37eafc15037396c26870f6a6c5bcd0658d14b46cd5e191a3b56d89dd22d561b0
1313
ENV RUBYGEMS_VERSION 2.6.14
14+
ENV BUNDLER_VERSION 1.15.4
1415

1516
# some of ruby's build scripts are written in ruby
1617
# we purge system ruby later to make sure our final image uses what we just built
@@ -92,11 +93,8 @@ RUN set -ex \
9293
&& cd / \
9394
&& rm -r /usr/src/ruby \
9495
\
95-
&& gem update --system "$RUBYGEMS_VERSION"
96-
97-
ENV BUNDLER_VERSION 1.15.4
98-
99-
RUN gem install bundler --version "$BUNDLER_VERSION"
96+
&& gem update --system "$RUBYGEMS_VERSION" \
97+
&& gem install bundler --version "$BUNDLER_VERSION" --force
10098

10199
# install things globally, for great justice
102100
# and don't create ".bundle" in all our apps

2.2/jessie/Dockerfile

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ ENV RUBY_MAJOR 2.2
1111
ENV RUBY_VERSION 2.2.8
1212
ENV RUBY_DOWNLOAD_SHA256 37eafc15037396c26870f6a6c5bcd0658d14b46cd5e191a3b56d89dd22d561b0
1313
ENV RUBYGEMS_VERSION 2.6.14
14+
ENV BUNDLER_VERSION 1.15.4
1415

1516
# some of ruby's build scripts are written in ruby
1617
# we purge system ruby later to make sure our final image uses what we just built
@@ -57,11 +58,8 @@ RUN set -ex \
5758
&& cd / \
5859
&& rm -r /usr/src/ruby \
5960
\
60-
&& gem update --system "$RUBYGEMS_VERSION"
61-
62-
ENV BUNDLER_VERSION 1.15.4
63-
64-
RUN gem install bundler --version "$BUNDLER_VERSION"
61+
&& gem update --system "$RUBYGEMS_VERSION" \
62+
&& gem install bundler --version "$BUNDLER_VERSION" --force
6563

6664
# install things globally, for great justice
6765
# and don't create ".bundle" in all our apps

2.2/jessie/slim/Dockerfile

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ ENV RUBY_MAJOR 2.2
2323
ENV RUBY_VERSION 2.2.8
2424
ENV RUBY_DOWNLOAD_SHA256 37eafc15037396c26870f6a6c5bcd0658d14b46cd5e191a3b56d89dd22d561b0
2525
ENV RUBYGEMS_VERSION 2.6.14
26+
ENV BUNDLER_VERSION 1.15.4
2627

2728
# some of ruby's build scripts are written in ruby
2829
# we purge system ruby later to make sure our final image uses what we just built
@@ -83,11 +84,8 @@ RUN set -ex \
8384
&& cd / \
8485
&& rm -r /usr/src/ruby \
8586
\
86-
&& gem update --system "$RUBYGEMS_VERSION"
87-
88-
ENV BUNDLER_VERSION 1.15.4
89-
90-
RUN gem install bundler --version "$BUNDLER_VERSION"
87+
&& gem update --system "$RUBYGEMS_VERSION" \
88+
&& gem install bundler --version "$BUNDLER_VERSION" --force
9189

9290
# install things globally, for great justice
9391
# and don't create ".bundle" in all our apps

2.3/alpine3.4/Dockerfile

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ ENV RUBY_MAJOR 2.3
1111
ENV RUBY_VERSION 2.3.5
1212
ENV RUBY_DOWNLOAD_SHA256 7d3a7dabb190c2da06c963063342ca9a214bcd26f2158e904f0ec059b065ffda
1313
ENV RUBYGEMS_VERSION 2.6.14
14+
ENV BUNDLER_VERSION 1.15.4
1415

1516
# some of ruby's build scripts are written in ruby
1617
# we purge system ruby later to make sure our final image uses what we just built
@@ -92,11 +93,8 @@ RUN set -ex \
9293
&& cd / \
9394
&& rm -r /usr/src/ruby \
9495
\
95-
&& gem update --system "$RUBYGEMS_VERSION"
96-
97-
ENV BUNDLER_VERSION 1.15.4
98-
99-
RUN gem install bundler --version "$BUNDLER_VERSION"
96+
&& gem update --system "$RUBYGEMS_VERSION" \
97+
&& gem install bundler --version "$BUNDLER_VERSION" --force
10098

10199
# install things globally, for great justice
102100
# and don't create ".bundle" in all our apps

2.3/jessie/Dockerfile

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ ENV RUBY_MAJOR 2.3
1111
ENV RUBY_VERSION 2.3.5
1212
ENV RUBY_DOWNLOAD_SHA256 7d3a7dabb190c2da06c963063342ca9a214bcd26f2158e904f0ec059b065ffda
1313
ENV RUBYGEMS_VERSION 2.6.14
14+
ENV BUNDLER_VERSION 1.15.4
1415

1516
# some of ruby's build scripts are written in ruby
1617
# we purge system ruby later to make sure our final image uses what we just built
@@ -57,11 +58,8 @@ RUN set -ex \
5758
&& cd / \
5859
&& rm -r /usr/src/ruby \
5960
\
60-
&& gem update --system "$RUBYGEMS_VERSION"
61-
62-
ENV BUNDLER_VERSION 1.15.4
63-
64-
RUN gem install bundler --version "$BUNDLER_VERSION"
61+
&& gem update --system "$RUBYGEMS_VERSION" \
62+
&& gem install bundler --version "$BUNDLER_VERSION" --force
6563

6664
# install things globally, for great justice
6765
# and don't create ".bundle" in all our apps

2.3/jessie/slim/Dockerfile

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ ENV RUBY_MAJOR 2.3
2323
ENV RUBY_VERSION 2.3.5
2424
ENV RUBY_DOWNLOAD_SHA256 7d3a7dabb190c2da06c963063342ca9a214bcd26f2158e904f0ec059b065ffda
2525
ENV RUBYGEMS_VERSION 2.6.14
26+
ENV BUNDLER_VERSION 1.15.4
2627

2728
# some of ruby's build scripts are written in ruby
2829
# we purge system ruby later to make sure our final image uses what we just built
@@ -83,11 +84,8 @@ RUN set -ex \
8384
&& cd / \
8485
&& rm -r /usr/src/ruby \
8586
\
86-
&& gem update --system "$RUBYGEMS_VERSION"
87-
88-
ENV BUNDLER_VERSION 1.15.4
89-
90-
RUN gem install bundler --version "$BUNDLER_VERSION"
87+
&& gem update --system "$RUBYGEMS_VERSION" \
88+
&& gem install bundler --version "$BUNDLER_VERSION" --force
9189

9290
# install things globally, for great justice
9391
# and don't create ".bundle" in all our apps

2.4/alpine3.4/Dockerfile

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ ENV RUBY_MAJOR 2.4
1111
ENV RUBY_VERSION 2.4.2
1212
ENV RUBY_DOWNLOAD_SHA256 748a8980d30141bd1a4124e11745bb105b436fb1890826e0d2b9ea31af27f735
1313
ENV RUBYGEMS_VERSION 2.6.14
14+
ENV BUNDLER_VERSION 1.15.4
1415

1516
# some of ruby's build scripts are written in ruby
1617
# we purge system ruby later to make sure our final image uses what we just built
@@ -92,11 +93,8 @@ RUN set -ex \
9293
&& cd / \
9394
&& rm -r /usr/src/ruby \
9495
\
95-
&& gem update --system "$RUBYGEMS_VERSION"
96-
97-
ENV BUNDLER_VERSION 1.15.4
98-
99-
RUN gem install bundler --version "$BUNDLER_VERSION"
96+
&& gem update --system "$RUBYGEMS_VERSION" \
97+
&& gem install bundler --version "$BUNDLER_VERSION" --force
10098

10199
# install things globally, for great justice
102100
# and don't create ".bundle" in all our apps

2.4/alpine3.6/Dockerfile

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ ENV RUBY_MAJOR 2.4
1111
ENV RUBY_VERSION 2.4.2
1212
ENV RUBY_DOWNLOAD_SHA256 748a8980d30141bd1a4124e11745bb105b436fb1890826e0d2b9ea31af27f735
1313
ENV RUBYGEMS_VERSION 2.6.14
14+
ENV BUNDLER_VERSION 1.15.4
1415

1516
# some of ruby's build scripts are written in ruby
1617
# we purge system ruby later to make sure our final image uses what we just built
@@ -92,11 +93,8 @@ RUN set -ex \
9293
&& cd / \
9394
&& rm -r /usr/src/ruby \
9495
\
95-
&& gem update --system "$RUBYGEMS_VERSION"
96-
97-
ENV BUNDLER_VERSION 1.15.4
98-
99-
RUN gem install bundler --version "$BUNDLER_VERSION"
96+
&& gem update --system "$RUBYGEMS_VERSION" \
97+
&& gem install bundler --version "$BUNDLER_VERSION" --force
10098

10199
# install things globally, for great justice
102100
# and don't create ".bundle" in all our apps

2.4/jessie/Dockerfile

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ ENV RUBY_MAJOR 2.4
1111
ENV RUBY_VERSION 2.4.2
1212
ENV RUBY_DOWNLOAD_SHA256 748a8980d30141bd1a4124e11745bb105b436fb1890826e0d2b9ea31af27f735
1313
ENV RUBYGEMS_VERSION 2.6.14
14+
ENV BUNDLER_VERSION 1.15.4
1415

1516
# some of ruby's build scripts are written in ruby
1617
# we purge system ruby later to make sure our final image uses what we just built
@@ -57,11 +58,8 @@ RUN set -ex \
5758
&& cd / \
5859
&& rm -r /usr/src/ruby \
5960
\
60-
&& gem update --system "$RUBYGEMS_VERSION"
61-
62-
ENV BUNDLER_VERSION 1.15.4
63-
64-
RUN gem install bundler --version "$BUNDLER_VERSION"
61+
&& gem update --system "$RUBYGEMS_VERSION" \
62+
&& gem install bundler --version "$BUNDLER_VERSION" --force
6563

6664
# install things globally, for great justice
6765
# and don't create ".bundle" in all our apps

2.4/jessie/slim/Dockerfile

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ ENV RUBY_MAJOR 2.4
2323
ENV RUBY_VERSION 2.4.2
2424
ENV RUBY_DOWNLOAD_SHA256 748a8980d30141bd1a4124e11745bb105b436fb1890826e0d2b9ea31af27f735
2525
ENV RUBYGEMS_VERSION 2.6.14
26+
ENV BUNDLER_VERSION 1.15.4
2627

2728
# some of ruby's build scripts are written in ruby
2829
# we purge system ruby later to make sure our final image uses what we just built
@@ -83,11 +84,8 @@ RUN set -ex \
8384
&& cd / \
8485
&& rm -r /usr/src/ruby \
8586
\
86-
&& gem update --system "$RUBYGEMS_VERSION"
87-
88-
ENV BUNDLER_VERSION 1.15.4
89-
90-
RUN gem install bundler --version "$BUNDLER_VERSION"
87+
&& gem update --system "$RUBYGEMS_VERSION" \
88+
&& gem install bundler --version "$BUNDLER_VERSION" --force
9189

9290
# install things globally, for great justice
9391
# and don't create ".bundle" in all our apps

2.4/stretch/Dockerfile

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ ENV RUBY_MAJOR 2.4
1111
ENV RUBY_VERSION 2.4.2
1212
ENV RUBY_DOWNLOAD_SHA256 748a8980d30141bd1a4124e11745bb105b436fb1890826e0d2b9ea31af27f735
1313
ENV RUBYGEMS_VERSION 2.6.14
14+
ENV BUNDLER_VERSION 1.15.4
1415

1516
# some of ruby's build scripts are written in ruby
1617
# we purge system ruby later to make sure our final image uses what we just built
@@ -57,11 +58,8 @@ RUN set -ex \
5758
&& cd / \
5859
&& rm -r /usr/src/ruby \
5960
\
60-
&& gem update --system "$RUBYGEMS_VERSION"
61-
62-
ENV BUNDLER_VERSION 1.15.4
63-
64-
RUN gem install bundler --version "$BUNDLER_VERSION"
61+
&& gem update --system "$RUBYGEMS_VERSION" \
62+
&& gem install bundler --version "$BUNDLER_VERSION" --force
6563

6664
# install things globally, for great justice
6765
# and don't create ".bundle" in all our apps

2.4/stretch/slim/Dockerfile

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ ENV RUBY_MAJOR 2.4
2323
ENV RUBY_VERSION 2.4.2
2424
ENV RUBY_DOWNLOAD_SHA256 748a8980d30141bd1a4124e11745bb105b436fb1890826e0d2b9ea31af27f735
2525
ENV RUBYGEMS_VERSION 2.6.14
26+
ENV BUNDLER_VERSION 1.15.4
2627

2728
# some of ruby's build scripts are written in ruby
2829
# we purge system ruby later to make sure our final image uses what we just built
@@ -83,11 +84,8 @@ RUN set -ex \
8384
&& cd / \
8485
&& rm -r /usr/src/ruby \
8586
\
86-
&& gem update --system "$RUBYGEMS_VERSION"
87-
88-
ENV BUNDLER_VERSION 1.15.4
89-
90-
RUN gem install bundler --version "$BUNDLER_VERSION"
87+
&& gem update --system "$RUBYGEMS_VERSION" \
88+
&& gem install bundler --version "$BUNDLER_VERSION" --force
9189

9290
# install things globally, for great justice
9391
# and don't create ".bundle" in all our apps

2.5-rc/alpine3.6/Dockerfile

Lines changed: 110 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,110 @@
1+
FROM alpine:3.6
2+
3+
# skip installing gem documentation
4+
RUN mkdir -p /usr/local/etc \
5+
&& { \
6+
echo 'install: --no-document'; \
7+
echo 'update: --no-document'; \
8+
} >> /usr/local/etc/gemrc
9+
10+
ENV RUBY_MAJOR 2.5-rc
11+
ENV RUBY_VERSION 2.5.0-preview1
12+
ENV RUBY_DOWNLOAD_SHA256 c2f518eb04b38bdd562ba5611abd2521248a1608fc466368563dd794ddeddd09
13+
ENV RUBYGEMS_VERSION 2.6.14
14+
ENV BUNDLER_VERSION 1.15.4
15+
16+
# some of ruby's build scripts are written in ruby
17+
# we purge system ruby later to make sure our final image uses what we just built
18+
# readline-dev vs libedit-dev: https://bugs.ruby-lang.org/issues/11869 and https://github.com/docker-library/ruby/issues/75
19+
RUN set -ex \
20+
\
21+
&& apk add --no-cache --virtual .ruby-builddeps \
22+
autoconf \
23+
bison \
24+
bzip2 \
25+
bzip2-dev \
26+
ca-certificates \
27+
coreutils \
28+
dpkg-dev dpkg \
29+
gcc \
30+
gdbm-dev \
31+
glib-dev \
32+
libc-dev \
33+
libffi-dev \
34+
libressl \
35+
libressl-dev \
36+
libxml2-dev \
37+
libxslt-dev \
38+
linux-headers \
39+
make \
40+
ncurses-dev \
41+
procps \
42+
readline-dev \
43+
ruby \
44+
tar \
45+
xz \
46+
yaml-dev \
47+
zlib-dev \
48+
\
49+
&& wget -O ruby.tar.xz "https://cache.ruby-lang.org/pub/ruby/${RUBY_MAJOR%-rc}/ruby-$RUBY_VERSION.tar.xz" \
50+
&& echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum -c - \
51+
\
52+
&& mkdir -p /usr/src/ruby \
53+
&& tar -xJf ruby.tar.xz -C /usr/src/ruby --strip-components=1 \
54+
&& rm ruby.tar.xz \
55+
\
56+
&& cd /usr/src/ruby \
57+
\
58+
# hack in "ENABLE_PATH_CHECK" disabling to suppress:
59+
# warning: Insecure world writable dir
60+
&& { \
61+
echo '#define ENABLE_PATH_CHECK 0'; \
62+
echo; \
63+
cat file.c; \
64+
} > file.c.new \
65+
&& mv file.c.new file.c \
66+
\
67+
&& autoconf \
68+
&& gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \
69+
# the configure script does not detect isnan/isinf as macros
70+
&& export ac_cv_func_isnan=yes ac_cv_func_isinf=yes \
71+
&& ./configure \
72+
--build="$gnuArch" \
73+
--disable-install-doc \
74+
--enable-shared \
75+
&& make -j "$(nproc)" \
76+
&& make install \
77+
\
78+
&& runDeps="$( \
79+
scanelf --needed --nobanner --format '%n#p' --recursive /usr/local \
80+
| tr ',' '\n' \
81+
| sort -u \
82+
| awk 'system("[ -e /usr/local/lib/" $1 " ]") == 0 { next } { print "so:" $1 }' \
83+
)" \
84+
&& apk add --virtual .ruby-rundeps $runDeps \
85+
bzip2 \
86+
ca-certificates \
87+
libffi-dev \
88+
libressl-dev \
89+
procps \
90+
yaml-dev \
91+
zlib-dev \
92+
&& apk del .ruby-builddeps \
93+
&& cd / \
94+
&& rm -r /usr/src/ruby \
95+
\
96+
&& gem update --system "$RUBYGEMS_VERSION" \
97+
&& gem install bundler --version "$BUNDLER_VERSION" --force
98+
99+
# install things globally, for great justice
100+
# and don't create ".bundle" in all our apps
101+
ENV GEM_HOME /usr/local/bundle
102+
ENV BUNDLE_PATH="$GEM_HOME" \
103+
BUNDLE_BIN="$GEM_HOME/bin" \
104+
BUNDLE_SILENCE_ROOT_WARNING=1 \
105+
BUNDLE_APP_CONFIG="$GEM_HOME"
106+
ENV PATH $BUNDLE_BIN:$PATH
107+
RUN mkdir -p "$GEM_HOME" "$BUNDLE_BIN" \
108+
&& chmod 777 "$GEM_HOME" "$BUNDLE_BIN"
109+
110+
CMD [ "irb" ]

0 commit comments

Comments
 (0)