Skip to content

Commit c6d0a54

Browse files
committed
Add 2.5-rc builds
1 parent 59abfdf commit c6d0a54

File tree

8 files changed

+603
-0
lines changed

8 files changed

+603
-0
lines changed

.travis.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,12 @@ 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=jessie
8+
- VERSION=2.5-rc VARIANT=jessie/slim
9+
- VERSION=2.5-rc VARIANT=alpine3.6
10+
- VERSION=2.5-rc VARIANT=alpine3.4
511
- VERSION=2.4 VARIANT=stretch
612
- VERSION=2.4 VARIANT=stretch/slim
713
- VERSION=2.4 VARIANT=jessie

2.5-rc/alpine3.4/Dockerfile

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

2.5-rc/alpine3.6/Dockerfile

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

2.5-rc/jessie/Dockerfile

Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
FROM buildpack-deps:jessie
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+
15+
# some of ruby's build scripts are written in ruby
16+
# we purge system ruby later to make sure our final image uses what we just built
17+
RUN set -ex \
18+
\
19+
&& buildDeps=' \
20+
bison \
21+
dpkg-dev \
22+
libgdbm-dev \
23+
ruby \
24+
' \
25+
&& apt-get update \
26+
&& apt-get install -y --no-install-recommends $buildDeps \
27+
&& rm -rf /var/lib/apt/lists/* \
28+
\
29+
&& wget -O ruby.tar.xz "https://cache.ruby-lang.org/pub/ruby/${RUBY_MAJOR%-rc}/ruby-$RUBY_VERSION.tar.xz" \
30+
&& echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum -c - \
31+
\
32+
&& mkdir -p /usr/src/ruby \
33+
&& tar -xJf ruby.tar.xz -C /usr/src/ruby --strip-components=1 \
34+
&& rm ruby.tar.xz \
35+
\
36+
&& cd /usr/src/ruby \
37+
\
38+
# hack in "ENABLE_PATH_CHECK" disabling to suppress:
39+
# warning: Insecure world writable dir
40+
&& { \
41+
echo '#define ENABLE_PATH_CHECK 0'; \
42+
echo; \
43+
cat file.c; \
44+
} > file.c.new \
45+
&& mv file.c.new file.c \
46+
\
47+
&& autoconf \
48+
&& gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \
49+
&& ./configure \
50+
--build="$gnuArch" \
51+
--disable-install-doc \
52+
--enable-shared \
53+
&& make -j "$(nproc)" \
54+
&& make install \
55+
\
56+
&& apt-get purge -y --auto-remove $buildDeps \
57+
&& cd / \
58+
&& rm -r /usr/src/ruby \
59+
\
60+
&& gem update --system "$RUBYGEMS_VERSION"
61+
62+
ENV BUNDLER_VERSION 1.15.4
63+
64+
RUN gem install bundler --version "$BUNDLER_VERSION"
65+
66+
# install things globally, for great justice
67+
# and don't create ".bundle" in all our apps
68+
ENV GEM_HOME /usr/local/bundle
69+
ENV BUNDLE_PATH="$GEM_HOME" \
70+
BUNDLE_BIN="$GEM_HOME/bin" \
71+
BUNDLE_SILENCE_ROOT_WARNING=1 \
72+
BUNDLE_APP_CONFIG="$GEM_HOME"
73+
ENV PATH $BUNDLE_BIN:$PATH
74+
RUN mkdir -p "$GEM_HOME" "$BUNDLE_BIN" \
75+
&& chmod 777 "$GEM_HOME" "$BUNDLE_BIN"
76+
77+
CMD [ "irb" ]

2.5-rc/jessie/onbuild/Dockerfile

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
FROM ruby:2.5-rc
2+
3+
# throw errors if Gemfile has been modified since Gemfile.lock
4+
RUN bundle config --global frozen 1
5+
6+
RUN mkdir -p /usr/src/app
7+
WORKDIR /usr/src/app
8+
9+
ONBUILD COPY Gemfile /usr/src/app/
10+
ONBUILD COPY Gemfile.lock /usr/src/app/
11+
ONBUILD RUN bundle install
12+
13+
ONBUILD COPY . /usr/src/app

0 commit comments

Comments
 (0)