From ddece179e0c639f47340a5b80a02ec8d4c027e88 Mon Sep 17 00:00:00 2001 From: Maksym Bordun Date: Fri, 21 Aug 2020 16:51:02 +0200 Subject: [PATCH] Switch to git pre-commit hook --- .gitignore | 2 - generated/alpine/3.12/2.5.3/Dockerfile | 148 +++++++++++++++++++++++++ generated/alpine/3.12/2.6.2/Dockerfile | 148 +++++++++++++++++++++++++ generated/alpine/3.12/2.6.3/Dockerfile | 148 +++++++++++++++++++++++++ generated/alpine/3.12/2.6.5/Dockerfile | 148 +++++++++++++++++++++++++ generated/centos/7/2.5.3/Dockerfile | 40 +++++++ generated/centos/7/2.6.2/Dockerfile | 40 +++++++ generated/centos/7/2.6.3/Dockerfile | 40 +++++++ generated/centos/7/2.6.5/Dockerfile | 40 +++++++ hooks/pre_build | 24 ---- 10 files changed, 752 insertions(+), 26 deletions(-) delete mode 100644 .gitignore create mode 100644 generated/alpine/3.12/2.5.3/Dockerfile create mode 100644 generated/alpine/3.12/2.6.2/Dockerfile create mode 100644 generated/alpine/3.12/2.6.3/Dockerfile create mode 100644 generated/alpine/3.12/2.6.5/Dockerfile create mode 100644 generated/centos/7/2.5.3/Dockerfile create mode 100644 generated/centos/7/2.6.2/Dockerfile create mode 100644 generated/centos/7/2.6.3/Dockerfile create mode 100644 generated/centos/7/2.6.5/Dockerfile delete mode 100755 hooks/pre_build diff --git a/.gitignore b/.gitignore deleted file mode 100644 index 71686ab..0000000 --- a/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -alpine/ -centos/ diff --git a/generated/alpine/3.12/2.5.3/Dockerfile b/generated/alpine/3.12/2.5.3/Dockerfile new file mode 100644 index 0000000..abef729 --- /dev/null +++ b/generated/alpine/3.12/2.5.3/Dockerfile @@ -0,0 +1,148 @@ +FROM alpine:3.12 + +RUN apk add --no-cache \ + gmp-dev + +# skip installing gem documentation +RUN set -eux; \ + mkdir -p /usr/local/etc; \ + { \ + echo 'install: --no-document'; \ + echo 'update: --no-document'; \ + } >> /usr/local/etc/gemrc + +ENV LANG C.UTF-8 + +# 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 -eux; \ + \ + 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 \ + patch \ + procps \ + readline-dev \ + ruby \ + tar \ + xz \ + yaml-dev \ + zlib-dev \ + ; \ + \ + wget -O ruby.tar.xz "https://cache.ruby-lang.org/pub/ruby/2.5/ruby-2.5.3.tar.xz"; \ + \ + 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 --check --strict; \ + 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; \ +# verify we have no "ruby" packages installed + ! apk --no-network list --installed \ + | grep -v '^[.]ruby-rundeps' \ + | grep -i ruby \ + ; \ + [ "$(command -v ruby)" = '/usr/local/bin/ruby' ]; \ +# rough smoke test + ruby --version; \ + gem --version; \ + bundle --version + +# don't create ".bundle" in all our apps +ENV GEM_HOME /usr/local/bundle +ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ + BUNDLE_APP_CONFIG="$GEM_HOME" +ENV PATH $GEM_HOME/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" + +# Packages installed to the 'world' and used in applications +RUN apk -q --update --no-cache add \ + bc \ + build-base \ + less \ + git \ + openssh \ + bash \ + curl \ + curl-dev \ + jq \ + netcat-openbsd \ + postgresql-client \ + postgresql-dev \ + libxml2 \ + libxml2-dev \ + libxslt \ + libxslt-dev \ + nodejs \ + graphviz \ + yarn + +CMD [ "irb" ] diff --git a/generated/alpine/3.12/2.6.2/Dockerfile b/generated/alpine/3.12/2.6.2/Dockerfile new file mode 100644 index 0000000..f5f67f8 --- /dev/null +++ b/generated/alpine/3.12/2.6.2/Dockerfile @@ -0,0 +1,148 @@ +FROM alpine:3.12 + +RUN apk add --no-cache \ + gmp-dev + +# skip installing gem documentation +RUN set -eux; \ + mkdir -p /usr/local/etc; \ + { \ + echo 'install: --no-document'; \ + echo 'update: --no-document'; \ + } >> /usr/local/etc/gemrc + +ENV LANG C.UTF-8 + +# 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 -eux; \ + \ + 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 \ + patch \ + procps \ + readline-dev \ + ruby \ + tar \ + xz \ + yaml-dev \ + zlib-dev \ + ; \ + \ + wget -O ruby.tar.xz "https://cache.ruby-lang.org/pub/ruby/2.6/ruby-2.6.2.tar.xz"; \ + \ + 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 --check --strict; \ + 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; \ +# verify we have no "ruby" packages installed + ! apk --no-network list --installed \ + | grep -v '^[.]ruby-rundeps' \ + | grep -i ruby \ + ; \ + [ "$(command -v ruby)" = '/usr/local/bin/ruby' ]; \ +# rough smoke test + ruby --version; \ + gem --version; \ + bundle --version + +# don't create ".bundle" in all our apps +ENV GEM_HOME /usr/local/bundle +ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ + BUNDLE_APP_CONFIG="$GEM_HOME" +ENV PATH $GEM_HOME/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" + +# Packages installed to the 'world' and used in applications +RUN apk -q --update --no-cache add \ + bc \ + build-base \ + less \ + git \ + openssh \ + bash \ + curl \ + curl-dev \ + jq \ + netcat-openbsd \ + postgresql-client \ + postgresql-dev \ + libxml2 \ + libxml2-dev \ + libxslt \ + libxslt-dev \ + nodejs \ + graphviz \ + yarn + +CMD [ "irb" ] diff --git a/generated/alpine/3.12/2.6.3/Dockerfile b/generated/alpine/3.12/2.6.3/Dockerfile new file mode 100644 index 0000000..411dcf5 --- /dev/null +++ b/generated/alpine/3.12/2.6.3/Dockerfile @@ -0,0 +1,148 @@ +FROM alpine:3.12 + +RUN apk add --no-cache \ + gmp-dev + +# skip installing gem documentation +RUN set -eux; \ + mkdir -p /usr/local/etc; \ + { \ + echo 'install: --no-document'; \ + echo 'update: --no-document'; \ + } >> /usr/local/etc/gemrc + +ENV LANG C.UTF-8 + +# 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 -eux; \ + \ + 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 \ + patch \ + procps \ + readline-dev \ + ruby \ + tar \ + xz \ + yaml-dev \ + zlib-dev \ + ; \ + \ + wget -O ruby.tar.xz "https://cache.ruby-lang.org/pub/ruby/2.6/ruby-2.6.3.tar.xz"; \ + \ + 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 --check --strict; \ + 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; \ +# verify we have no "ruby" packages installed + ! apk --no-network list --installed \ + | grep -v '^[.]ruby-rundeps' \ + | grep -i ruby \ + ; \ + [ "$(command -v ruby)" = '/usr/local/bin/ruby' ]; \ +# rough smoke test + ruby --version; \ + gem --version; \ + bundle --version + +# don't create ".bundle" in all our apps +ENV GEM_HOME /usr/local/bundle +ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ + BUNDLE_APP_CONFIG="$GEM_HOME" +ENV PATH $GEM_HOME/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" + +# Packages installed to the 'world' and used in applications +RUN apk -q --update --no-cache add \ + bc \ + build-base \ + less \ + git \ + openssh \ + bash \ + curl \ + curl-dev \ + jq \ + netcat-openbsd \ + postgresql-client \ + postgresql-dev \ + libxml2 \ + libxml2-dev \ + libxslt \ + libxslt-dev \ + nodejs \ + graphviz \ + yarn + +CMD [ "irb" ] diff --git a/generated/alpine/3.12/2.6.5/Dockerfile b/generated/alpine/3.12/2.6.5/Dockerfile new file mode 100644 index 0000000..b7d9b5f --- /dev/null +++ b/generated/alpine/3.12/2.6.5/Dockerfile @@ -0,0 +1,148 @@ +FROM alpine:3.12 + +RUN apk add --no-cache \ + gmp-dev + +# skip installing gem documentation +RUN set -eux; \ + mkdir -p /usr/local/etc; \ + { \ + echo 'install: --no-document'; \ + echo 'update: --no-document'; \ + } >> /usr/local/etc/gemrc + +ENV LANG C.UTF-8 + +# 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 -eux; \ + \ + 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 \ + patch \ + procps \ + readline-dev \ + ruby \ + tar \ + xz \ + yaml-dev \ + zlib-dev \ + ; \ + \ + wget -O ruby.tar.xz "https://cache.ruby-lang.org/pub/ruby/2.6/ruby-2.6.5.tar.xz"; \ + \ + 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 --check --strict; \ + 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; \ +# verify we have no "ruby" packages installed + ! apk --no-network list --installed \ + | grep -v '^[.]ruby-rundeps' \ + | grep -i ruby \ + ; \ + [ "$(command -v ruby)" = '/usr/local/bin/ruby' ]; \ +# rough smoke test + ruby --version; \ + gem --version; \ + bundle --version + +# don't create ".bundle" in all our apps +ENV GEM_HOME /usr/local/bundle +ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ + BUNDLE_APP_CONFIG="$GEM_HOME" +ENV PATH $GEM_HOME/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" + +# Packages installed to the 'world' and used in applications +RUN apk -q --update --no-cache add \ + bc \ + build-base \ + less \ + git \ + openssh \ + bash \ + curl \ + curl-dev \ + jq \ + netcat-openbsd \ + postgresql-client \ + postgresql-dev \ + libxml2 \ + libxml2-dev \ + libxslt \ + libxslt-dev \ + nodejs \ + graphviz \ + yarn + +CMD [ "irb" ] diff --git a/generated/centos/7/2.5.3/Dockerfile b/generated/centos/7/2.5.3/Dockerfile new file mode 100644 index 0000000..b3d3897 --- /dev/null +++ b/generated/centos/7/2.5.3/Dockerfile @@ -0,0 +1,40 @@ +FROM centos:7 + +RUN yum install -q -y \ + https://yum.postgresql.org/11/redhat/rhel-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm \ + epel-release + +# Install basic deps +RUN yum install -q -y \ + bash \ + bc \ + cups \ + curl \ + curl \ + epel-release \ + fontconfig \ + git \ + git-core \ + graphviz \ + jq \ + less \ + nc \ + openssl \ + postgresql11-11.7 \ + postgresql11-devel-11.7 \ + postgresql11-libs-11.7 \ + ImageMagick ImageMagick-devel \ + vim \ + wget \ + zip unzip \ + xorg-x11-fonts-75dpi \ + xorg-x11-fonts-Type1 && \ + yum clean all + +# Install specific Ruby version via RVM and set it as default +RUN curl -sSL https://rvm.io/mpapis.asc | gpg --import - && \ + curl -sSL https://rvm.io/pkuczynski.asc | gpg --import - && \ + curl -sSL https://get.rvm.io | bash -s stable && \ + bash -lc 'rvm install 2.5.3;rvm alias create default 2.5.3' && \ + ruby --version; \ + gem --version diff --git a/generated/centos/7/2.6.2/Dockerfile b/generated/centos/7/2.6.2/Dockerfile new file mode 100644 index 0000000..4e12b63 --- /dev/null +++ b/generated/centos/7/2.6.2/Dockerfile @@ -0,0 +1,40 @@ +FROM centos:7 + +RUN yum install -q -y \ + https://yum.postgresql.org/11/redhat/rhel-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm \ + epel-release + +# Install basic deps +RUN yum install -q -y \ + bash \ + bc \ + cups \ + curl \ + curl \ + epel-release \ + fontconfig \ + git \ + git-core \ + graphviz \ + jq \ + less \ + nc \ + openssl \ + postgresql11-11.7 \ + postgresql11-devel-11.7 \ + postgresql11-libs-11.7 \ + ImageMagick ImageMagick-devel \ + vim \ + wget \ + zip unzip \ + xorg-x11-fonts-75dpi \ + xorg-x11-fonts-Type1 && \ + yum clean all + +# Install specific Ruby version via RVM and set it as default +RUN curl -sSL https://rvm.io/mpapis.asc | gpg --import - && \ + curl -sSL https://rvm.io/pkuczynski.asc | gpg --import - && \ + curl -sSL https://get.rvm.io | bash -s stable && \ + bash -lc 'rvm install 2.6.2;rvm alias create default 2.6.2' && \ + ruby --version; \ + gem --version diff --git a/generated/centos/7/2.6.3/Dockerfile b/generated/centos/7/2.6.3/Dockerfile new file mode 100644 index 0000000..4d3d945 --- /dev/null +++ b/generated/centos/7/2.6.3/Dockerfile @@ -0,0 +1,40 @@ +FROM centos:7 + +RUN yum install -q -y \ + https://yum.postgresql.org/11/redhat/rhel-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm \ + epel-release + +# Install basic deps +RUN yum install -q -y \ + bash \ + bc \ + cups \ + curl \ + curl \ + epel-release \ + fontconfig \ + git \ + git-core \ + graphviz \ + jq \ + less \ + nc \ + openssl \ + postgresql11-11.7 \ + postgresql11-devel-11.7 \ + postgresql11-libs-11.7 \ + ImageMagick ImageMagick-devel \ + vim \ + wget \ + zip unzip \ + xorg-x11-fonts-75dpi \ + xorg-x11-fonts-Type1 && \ + yum clean all + +# Install specific Ruby version via RVM and set it as default +RUN curl -sSL https://rvm.io/mpapis.asc | gpg --import - && \ + curl -sSL https://rvm.io/pkuczynski.asc | gpg --import - && \ + curl -sSL https://get.rvm.io | bash -s stable && \ + bash -lc 'rvm install 2.6.3;rvm alias create default 2.6.3' && \ + ruby --version; \ + gem --version diff --git a/generated/centos/7/2.6.5/Dockerfile b/generated/centos/7/2.6.5/Dockerfile new file mode 100644 index 0000000..1ba7ac1 --- /dev/null +++ b/generated/centos/7/2.6.5/Dockerfile @@ -0,0 +1,40 @@ +FROM centos:7 + +RUN yum install -q -y \ + https://yum.postgresql.org/11/redhat/rhel-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm \ + epel-release + +# Install basic deps +RUN yum install -q -y \ + bash \ + bc \ + cups \ + curl \ + curl \ + epel-release \ + fontconfig \ + git \ + git-core \ + graphviz \ + jq \ + less \ + nc \ + openssl \ + postgresql11-11.7 \ + postgresql11-devel-11.7 \ + postgresql11-libs-11.7 \ + ImageMagick ImageMagick-devel \ + vim \ + wget \ + zip unzip \ + xorg-x11-fonts-75dpi \ + xorg-x11-fonts-Type1 && \ + yum clean all + +# Install specific Ruby version via RVM and set it as default +RUN curl -sSL https://rvm.io/mpapis.asc | gpg --import - && \ + curl -sSL https://rvm.io/pkuczynski.asc | gpg --import - && \ + curl -sSL https://get.rvm.io | bash -s stable && \ + bash -lc 'rvm install 2.6.5;rvm alias create default 2.6.5' && \ + ruby --version; \ + gem --version diff --git a/hooks/pre_build b/hooks/pre_build deleted file mode 100755 index 097032d..0000000 --- a/hooks/pre_build +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/bash -# Script is used to generate all the necessary Dockerfiles based on the templates - -declare -a ruby_versions=("2.5.3" "2.6.2" "2.6.3" "2.6.5") -declare -a distributions=("alpine:3.12" "centos:7") - -for i in "${distributions[@]}" -do - DISTRO_NAME="$(cut -d ':' -f1 <<< $i)" - DISTRO_VERSION="$(cut -d ':' -f2 <<< $i)" - - for j in "${ruby_versions[@]}" - do - # E.g. ./alpine/3.11/2.5.3 - TARGET_DIR="./$DISTRO_NAME/$DISTRO_VERSION/$j" - RUBY_MAJOR="$(echo $j | grep --only-matching -E '[[:digit:]]+\.[[:digit:]]+')" - mkdir --parents $TARGET_DIR - cp ./Dockerfile.$DISTRO_NAME.template $TARGET_DIR/Dockerfile - - sed -i "s/{RUBY_VERSION}/$j/g" $TARGET_DIR/Dockerfile - sed -i "s/{RUBY_MAJOR}/$RUBY_MAJOR/g" $TARGET_DIR/Dockerfile - sed -i "s/{DISTRO_VERSION}/$DISTRO_VERSION/g" $TARGET_DIR/Dockerfile - done -done