-
Notifications
You must be signed in to change notification settings - Fork 336
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #281 from J0WI/alpine10
Add Alpine 3.10 and remove Alpine 3.8
- Loading branch information
Showing
6 changed files
with
132 additions
and
20 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,118 @@ | ||
FROM alpine:3.10 | ||
|
||
RUN apk add --no-cache \ | ||
gmp-dev | ||
|
||
# skip installing gem documentation | ||
RUN mkdir -p /usr/local/etc \ | ||
&& { \ | ||
echo 'install: --no-document'; \ | ||
echo 'update: --no-document'; \ | ||
} >> /usr/local/etc/gemrc | ||
|
||
ENV RUBY_MAJOR 2.7-rc | ||
ENV RUBY_VERSION 2.7.0-preview1 | ||
ENV RUBY_DOWNLOAD_SHA256 8c546df3345398b3edc9d0ab097846f033783d33762889fd0f3dc8bb465c3354 | ||
|
||
# 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 | ||
# readline-dev vs libedit-dev: https://bugs.ruby-lang.org/issues/11869 and https://github.com/docker-library/ruby/issues/75 | ||
RUN set -ex \ | ||
\ | ||
&& apk add --no-cache --virtual .ruby-builddeps \ | ||
autoconf \ | ||
bison \ | ||
bzip2 \ | ||
bzip2-dev \ | ||
ca-certificates \ | ||
coreutils \ | ||
dpkg-dev dpkg \ | ||
gcc \ | ||
gdbm-dev \ | ||
glib-dev \ | ||
libc-dev \ | ||
libffi-dev \ | ||
libxml2-dev \ | ||
libxslt-dev \ | ||
linux-headers \ | ||
make \ | ||
ncurses-dev \ | ||
openssl \ | ||
openssl-dev \ | ||
procps \ | ||
readline-dev \ | ||
ruby \ | ||
tar \ | ||
xz \ | ||
yaml-dev \ | ||
zlib-dev \ | ||
\ | ||
&& wget -O ruby.tar.xz "https://cache.ruby-lang.org/pub/ruby/${RUBY_MAJOR%-rc}/ruby-$RUBY_VERSION.tar.xz" \ | ||
&& echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum -c - \ | ||
\ | ||
&& mkdir -p /usr/src/ruby \ | ||
&& tar -xJf ruby.tar.xz -C /usr/src/ruby --strip-components=1 \ | ||
&& rm ruby.tar.xz \ | ||
\ | ||
&& cd /usr/src/ruby \ | ||
\ | ||
# https://github.com/docker-library/ruby/issues/196 | ||
# https://bugs.ruby-lang.org/issues/14387#note-13 (patch source) | ||
# https://bugs.ruby-lang.org/issues/14387#note-16 ("Therefore ncopa's patch looks good for me in general." -- only breaks glibc which doesn't matter here) | ||
&& wget -O 'thread-stack-fix.patch' 'https://bugs.ruby-lang.org/attachments/download/7081/0001-thread_pthread.c-make-get_main_stack-portable-on-lin.patch' \ | ||
&& echo '3ab628a51d92fdf0d2b5835e93564857aea73e0c1de00313864a94a6255cb645 *thread-stack-fix.patch' | sha256sum -c - \ | ||
&& patch -p1 -i thread-stack-fix.patch \ | ||
&& rm thread-stack-fix.patch \ | ||
\ | ||
# hack in "ENABLE_PATH_CHECK" disabling to suppress: | ||
# warning: Insecure world writable dir | ||
&& { \ | ||
echo '#define ENABLE_PATH_CHECK 0'; \ | ||
echo; \ | ||
cat file.c; \ | ||
} > file.c.new \ | ||
&& mv file.c.new file.c \ | ||
\ | ||
&& autoconf \ | ||
&& gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ | ||
# the configure script does not detect isnan/isinf as macros | ||
&& export ac_cv_func_isnan=yes ac_cv_func_isinf=yes \ | ||
&& ./configure \ | ||
--build="$gnuArch" \ | ||
--disable-install-doc \ | ||
--enable-shared \ | ||
&& make -j "$(nproc)" \ | ||
&& make install \ | ||
\ | ||
&& runDeps="$( \ | ||
scanelf --needed --nobanner --format '%n#p' --recursive /usr/local \ | ||
| tr ',' '\n' \ | ||
| sort -u \ | ||
| awk 'system("[ -e /usr/local/lib/" $1 " ]") == 0 { next } { print "so:" $1 }' \ | ||
)" \ | ||
&& apk add --no-network --virtual .ruby-rundeps $runDeps \ | ||
bzip2 \ | ||
ca-certificates \ | ||
libffi-dev \ | ||
procps \ | ||
yaml-dev \ | ||
zlib-dev \ | ||
&& apk del --no-network .ruby-builddeps \ | ||
&& cd / \ | ||
&& rm -r /usr/src/ruby \ | ||
# rough smoke test | ||
&& ruby --version && gem --version && bundle --version | ||
|
||
# install things globally, for great justice | ||
# and don't create ".bundle" in all our apps | ||
ENV GEM_HOME /usr/local/bundle | ||
ENV BUNDLE_PATH="$GEM_HOME" \ | ||
BUNDLE_SILENCE_ROOT_WARNING=1 \ | ||
BUNDLE_APP_CONFIG="$GEM_HOME" | ||
# path recommendation: https://github.com/bundler/bundler/pull/6469#issuecomment-383235438 | ||
ENV PATH $GEM_HOME/bin:$BUNDLE_PATH/gems/bin:$PATH | ||
# adjust permissions of a few directories for running "gem install" as an arbitrary user | ||
RUN mkdir -p "$GEM_HOME" && chmod 777 "$GEM_HOME" | ||
# (BUNDLE_PATH = GEM_HOME, no need to mkdir/chown both) | ||
|
||
CMD [ "irb" ] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
68f67b0
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I wonder, when will this alpine 3.10 tag appear on docker hub?
68f67b0
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
https://github.com/docker-library/ruby#see-a-change-merged-here-that-doesnt-show-up-on-docker-hub-yet
68f67b0
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So, all the Jenkins jobs are green, but still no success?
68f67b0
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
https://github.com/docker-library/faq/tree/9fcbdc400003e880407fd64005c7dd1d2678ebff#an-images-source-changed-in-git-now-what