From 3f89c534e4b3e634f887ae747c0d7f9a9195a66d Mon Sep 17 00:00:00 2001 From: cytopia Date: Sun, 13 Sep 2020 15:46:13 +0200 Subject: [PATCH 1/8] Added vips extension --- CHANGELOG.md | 6 ++ Dockerfiles/mods/Dockerfile-5.2 | 2 + Dockerfiles/mods/Dockerfile-5.3 | 2 + Dockerfiles/mods/Dockerfile-5.4 | 2 + Dockerfiles/mods/Dockerfile-5.5 | 2 + Dockerfiles/mods/Dockerfile-5.6 | 2 + Dockerfiles/mods/Dockerfile-7.0 | 59 ++++++++++++++++++++ Dockerfiles/mods/Dockerfile-7.1 | 58 +++++++++++++++++++ Dockerfiles/mods/Dockerfile-7.2 | 58 +++++++++++++++++++ Dockerfiles/mods/Dockerfile-7.3 | 58 +++++++++++++++++++ Dockerfiles/mods/Dockerfile-7.4 | 58 +++++++++++++++++++ Dockerfiles/mods/Dockerfile-8.0 | 2 + README.md | 10 ++-- build/ansible/DOCKERFILES/Dockerfile-mods.j2 | 2 + build/ansible/group_vars/all/mods.yml | 55 +++++++++++++++++- 15 files changed, 370 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6b05541..f2275a2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,12 @@ ## Unreleased +## Release 0.112 + +#### Added +- Added vips extension + + ## Release 0.111 #### Added diff --git a/Dockerfiles/mods/Dockerfile-5.2 b/Dockerfiles/mods/Dockerfile-5.2 index ff590c8..64e34b5 100644 --- a/Dockerfiles/mods/Dockerfile-5.2 +++ b/Dockerfiles/mods/Dockerfile-5.2 @@ -561,6 +561,8 @@ LABEL "org.opencontainers.image.description"="PHP-FPM 5.2-mods" ARG EXT_DIR COPY --from=builder ${EXT_DIR}/ ${EXT_DIR}/ COPY --from=builder /usr/local/etc/php/conf.d/ /usr/local/etc/php/conf.d/ +COPY --from=builder /usr/local/bin/ /usr/local/bin/ +COPY --from=builder /usr/local/lib/ /usr/local/lib/ COPY --from=builder /usr/lib/oracle/ /usr/lib/oracle/ diff --git a/Dockerfiles/mods/Dockerfile-5.3 b/Dockerfiles/mods/Dockerfile-5.3 index 32214ac..333bd98 100644 --- a/Dockerfiles/mods/Dockerfile-5.3 +++ b/Dockerfiles/mods/Dockerfile-5.3 @@ -672,6 +672,8 @@ LABEL "org.opencontainers.image.description"="PHP-FPM 5.3-mods" ARG EXT_DIR COPY --from=builder ${EXT_DIR}/ ${EXT_DIR}/ COPY --from=builder /usr/local/etc/php/conf.d/ /usr/local/etc/php/conf.d/ +COPY --from=builder /usr/local/bin/ /usr/local/bin/ +COPY --from=builder /usr/local/lib/ /usr/local/lib/ COPY --from=builder /usr/lib/oracle/ /usr/lib/oracle/ diff --git a/Dockerfiles/mods/Dockerfile-5.4 b/Dockerfiles/mods/Dockerfile-5.4 index 27d93b2..666cb34 100644 --- a/Dockerfiles/mods/Dockerfile-5.4 +++ b/Dockerfiles/mods/Dockerfile-5.4 @@ -691,6 +691,8 @@ LABEL "org.opencontainers.image.description"="PHP-FPM 5.4-mods" ARG EXT_DIR COPY --from=builder ${EXT_DIR}/ ${EXT_DIR}/ COPY --from=builder /usr/local/etc/php/conf.d/ /usr/local/etc/php/conf.d/ +COPY --from=builder /usr/local/bin/ /usr/local/bin/ +COPY --from=builder /usr/local/lib/ /usr/local/lib/ COPY --from=builder /usr/lib/oracle/ /usr/lib/oracle/ diff --git a/Dockerfiles/mods/Dockerfile-5.5 b/Dockerfiles/mods/Dockerfile-5.5 index a159537..24f1d87 100644 --- a/Dockerfiles/mods/Dockerfile-5.5 +++ b/Dockerfiles/mods/Dockerfile-5.5 @@ -704,6 +704,8 @@ LABEL "org.opencontainers.image.description"="PHP-FPM 5.5-mods" ARG EXT_DIR COPY --from=builder ${EXT_DIR}/ ${EXT_DIR}/ COPY --from=builder /usr/local/etc/php/conf.d/ /usr/local/etc/php/conf.d/ +COPY --from=builder /usr/local/bin/ /usr/local/bin/ +COPY --from=builder /usr/local/lib/ /usr/local/lib/ COPY --from=builder /usr/lib/oracle/ /usr/lib/oracle/ diff --git a/Dockerfiles/mods/Dockerfile-5.6 b/Dockerfiles/mods/Dockerfile-5.6 index 4b01ad6..6cc8300 100644 --- a/Dockerfiles/mods/Dockerfile-5.6 +++ b/Dockerfiles/mods/Dockerfile-5.6 @@ -720,6 +720,8 @@ LABEL "org.opencontainers.image.description"="PHP-FPM 5.6-mods" ARG EXT_DIR COPY --from=builder ${EXT_DIR}/ ${EXT_DIR}/ COPY --from=builder /usr/local/etc/php/conf.d/ /usr/local/etc/php/conf.d/ +COPY --from=builder /usr/local/bin/ /usr/local/bin/ +COPY --from=builder /usr/local/lib/ /usr/local/lib/ COPY --from=builder /usr/lib/oracle/ /usr/lib/oracle/ diff --git a/Dockerfiles/mods/Dockerfile-7.0 b/Dockerfiles/mods/Dockerfile-7.0 index 1356589..bd9d9c5 100644 --- a/Dockerfiles/mods/Dockerfile-7.0 +++ b/Dockerfiles/mods/Dockerfile-7.0 @@ -10,42 +10,58 @@ RUN set -eux \ && DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \ && DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \ alien \ + fftw-dev \ firebird-dev \ freetds-dev \ ghostscript \ + gobject-introspection \ + gtk-doc-tools \ libaio-dev \ libbz2-dev \ libc-client-dev \ libcurl4-openssl-dev \ libenchant-dev \ libevent-dev \ + libexif-dev \ + libexpat1-dev \ libfbclient2 \ + libfftw3-dev \ libfreetype6-dev \ + libgif-dev \ + libglib2.0-dev \ libgmp-dev \ libib-util \ libicu-dev \ + libimagequant-dev \ libjpeg-dev \ libkrb5-dev \ libldap2-dev \ + libmagick++-dev \ + libmagickcore-6.q16-dev \ libmagickwand-dev \ libmcrypt-dev \ libmemcached-dev \ libnghttp2-dev \ libpcre3-dev \ libpng-dev \ + libpoppler-glib-dev \ libpq-dev \ libpspell-dev \ librabbitmq-dev \ librdkafka-dev \ librecode-dev \ + librsvg2-dev \ libsasl2-dev \ libsnmp-dev \ libssh2-1-dev \ libssl-dev \ libtidy-dev \ + libtool \ libvpx-dev \ libwebp-dev \ libwebp6 \ + libwebpdemux2 \ + libwebpmux3 \ libxml2-dev \ libxpm-dev \ libxslt-dev \ @@ -659,6 +675,26 @@ RUN set -eux \ && true +# -------------------- Installing PHP Extension: vips -------------------- +RUN set -eux \ + # Generic pre-command + && git clone https://github.com/libvips/libvips /tmp/libvips \ +&& cd /tmp/libvips \ +&& ./autogen.sh \ +&& make -j$(getconf _NPROCESSORS_ONLN) \ +&& make install \ +&& cd /tmp \ +&& rm -rf /tmp/libvips \ + \ + # Installation: Generic + # Type: PECL extension + # Default: Pecl command + && pecl install vips \ + # Enabling + && docker-php-ext-enable vips \ + && true + + # -------------------- Installing PHP Extension: wddx -------------------- RUN set -eux \ # Installation: Generic @@ -766,6 +802,8 @@ LABEL "org.opencontainers.image.description"="PHP-FPM 7.0-mods" ARG EXT_DIR COPY --from=builder ${EXT_DIR}/ ${EXT_DIR}/ COPY --from=builder /usr/local/etc/php/conf.d/ /usr/local/etc/php/conf.d/ +COPY --from=builder /usr/local/bin/ /usr/local/bin/ +COPY --from=builder /usr/local/lib/ /usr/local/lib/ COPY --from=builder /usr/lib/oracle/ /usr/lib/oracle/ @@ -775,29 +813,48 @@ COPY --from=builder /usr/lib/oracle/ /usr/lib/oracle/ RUN set -eux \ && DEBIAN_FRONTEND=noninteractive apt-get update -qq \ && DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \ + fftw2 \ ghostscript \ + gir1.2-poppler-0.18 \ + imagemagick-6.q16 \ libaio1 \ libaspell15 \ libc-client2007e \ libenchant1c2a \ + libexif12 \ + libexpat1 \ libfbclient2 \ + libfftw3-3 \ libfreetype6 \ + libgif7 \ + libglib2.0-0 \ libicu57 \ + libimagequant0 \ libjpeg62-turbo \ + libmagick++-6.q16-8 \ + libmagick++-6.q16hdri-8 \ + libmagickcore-6.q16-6 \ + libmagickcore-6.q16-6-extra \ libmagickwand-6.q16-3 \ + libmagickwand-6.q16-6 \ + libmagickwand-6.q16hdri-6 \ libmcrypt4 \ libmemcachedutil2 \ libnghttp2-14 \ libpng16-16 \ + libpoppler-glib8 \ libpq5 \ librabbitmq4 \ librdkafka1 \ librecode0 \ + librsvg2-2 \ libssh2-1 \ libsybdb5 \ libtidy5 \ libvpx4 \ libwebp6 \ + libwebpdemux2 \ + libwebpmux3 \ libxpm4 \ libxslt1.1 \ libyaml-0-2 \ @@ -1004,6 +1061,8 @@ RUN set -eux \ && php-fpm -m | grep -oiE '^tokenizer$' \ && php -m | grep -oiE '^uploadprogress$' \ && php-fpm -m | grep -oiE '^uploadprogress$' \ + && php -m | grep -oiE '^vips$' \ + && php-fpm -m | grep -oiE '^vips$' \ && php -m | grep -oiE '^wddx$' \ && php-fpm -m | grep -oiE '^wddx$' \ && php -m | grep -oiE '^xdebug$' \ diff --git a/Dockerfiles/mods/Dockerfile-7.1 b/Dockerfiles/mods/Dockerfile-7.1 index f5acc5a..5a69933 100644 --- a/Dockerfiles/mods/Dockerfile-7.1 +++ b/Dockerfiles/mods/Dockerfile-7.1 @@ -10,42 +10,58 @@ RUN set -eux \ && DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \ && DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \ alien \ + fftw-dev \ firebird-dev \ freetds-dev \ ghostscript \ + gobject-introspection \ + gtk-doc-tools \ libaio-dev \ libbz2-dev \ libc-client-dev \ libcurl4-openssl-dev \ libenchant-dev \ libevent-dev \ + libexif-dev \ + libexpat1-dev \ libfbclient2 \ + libfftw3-dev \ libfreetype6-dev \ + libgif-dev \ + libglib2.0-dev \ libgmp-dev \ libib-util \ libicu-dev \ + libimagequant-dev \ libjpeg-dev \ libkrb5-dev \ libldap2-dev \ + libmagick++-dev \ + libmagickcore-6.q16-dev \ libmagickwand-dev \ libmcrypt-dev \ libmemcached-dev \ libnghttp2-dev \ libpcre3-dev \ libpng-dev \ + libpoppler-glib-dev \ libpq-dev \ libpspell-dev \ librabbitmq-dev \ librdkafka-dev \ librecode-dev \ + librsvg2-dev \ libsasl2-dev \ libsnmp-dev \ libssh2-1-dev \ libssl-dev \ libtidy-dev \ + libtool \ libvpx-dev \ libwebp-dev \ libwebp6 \ + libwebpdemux2 \ + libwebpmux3 \ libxml2-dev \ libxpm-dev \ libxslt-dev \ @@ -668,6 +684,26 @@ RUN set -eux \ && true +# -------------------- Installing PHP Extension: vips -------------------- +RUN set -eux \ + # Generic pre-command + && git clone https://github.com/libvips/libvips /tmp/libvips \ +&& cd /tmp/libvips \ +&& ./autogen.sh \ +&& make -j$(getconf _NPROCESSORS_ONLN) \ +&& make install \ +&& cd /tmp \ +&& rm -rf /tmp/libvips \ + \ + # Installation: Generic + # Type: PECL extension + # Default: Pecl command + && pecl install vips \ + # Enabling + && docker-php-ext-enable vips \ + && true + + # -------------------- Installing PHP Extension: wddx -------------------- RUN set -eux \ # Installation: Generic @@ -775,6 +811,8 @@ LABEL "org.opencontainers.image.description"="PHP-FPM 7.1-mods" ARG EXT_DIR COPY --from=builder ${EXT_DIR}/ ${EXT_DIR}/ COPY --from=builder /usr/local/etc/php/conf.d/ /usr/local/etc/php/conf.d/ +COPY --from=builder /usr/local/bin/ /usr/local/bin/ +COPY --from=builder /usr/local/lib/ /usr/local/lib/ COPY --from=builder /usr/lib/oracle/ /usr/lib/oracle/ @@ -784,30 +822,48 @@ COPY --from=builder /usr/lib/oracle/ /usr/lib/oracle/ RUN set -eux \ && DEBIAN_FRONTEND=noninteractive apt-get update -qq \ && DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \ + fftw2 \ ghostscript \ + gir1.2-poppler-0.18 \ + imagemagick-6.q16 \ libaio1 \ libaspell15 \ libc-client2007e \ libenchant1c2a \ + libexif12 \ + libexpat1 \ libfbclient2 \ + libfftw3-3 \ libfreetype6 \ + libgif7 \ + libglib2.0-0 \ libicu63 \ + libimagequant0 \ libjpeg62-turbo \ + libmagick++-6.q16-8 \ + libmagick++-6.q16hdri-8 \ + libmagickcore-6.q16-6 \ + libmagickcore-6.q16-6-extra \ libmagickwand-6.q16-6 \ + libmagickwand-6.q16hdri-6 \ libmcrypt4 \ libmemcachedutil2 \ libnghttp2-14 \ libpng16-16 \ + libpoppler-glib8 \ libpq5 \ librabbitmq4 \ librdkafka1 \ librecode0 \ + librsvg2-2 \ libssh2-1 \ libsybdb5 \ libtidy5deb1 \ libvpx5 \ libwebp-dev \ libwebp6 \ + libwebpdemux2 \ + libwebpmux3 \ libxpm4 \ libxslt1.1 \ libyaml-0-2 \ @@ -1016,6 +1072,8 @@ RUN set -eux \ && php-fpm -m | grep -oiE '^tokenizer$' \ && php -m | grep -oiE '^uploadprogress$' \ && php-fpm -m | grep -oiE '^uploadprogress$' \ + && php -m | grep -oiE '^vips$' \ + && php-fpm -m | grep -oiE '^vips$' \ && php -m | grep -oiE '^wddx$' \ && php-fpm -m | grep -oiE '^wddx$' \ && php -m | grep -oiE '^xdebug$' \ diff --git a/Dockerfiles/mods/Dockerfile-7.2 b/Dockerfiles/mods/Dockerfile-7.2 index c0fbed4..6c87196 100644 --- a/Dockerfiles/mods/Dockerfile-7.2 +++ b/Dockerfiles/mods/Dockerfile-7.2 @@ -10,42 +10,58 @@ RUN set -eux \ && DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \ && DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \ alien \ + fftw-dev \ firebird-dev \ freetds-dev \ ghostscript \ + gobject-introspection \ + gtk-doc-tools \ libaio-dev \ libbz2-dev \ libc-client-dev \ libcurl4-openssl-dev \ libenchant-dev \ libevent-dev \ + libexif-dev \ + libexpat1-dev \ libfbclient2 \ + libfftw3-dev \ libfreetype6-dev \ + libgif-dev \ + libglib2.0-dev \ libgmp-dev \ libib-util \ libicu-dev \ + libimagequant-dev \ libjpeg-dev \ libkrb5-dev \ libldap2-dev \ + libmagick++-dev \ + libmagickcore-6.q16-dev \ libmagickwand-dev \ libmcrypt-dev \ libmemcached-dev \ libnghttp2-dev \ libpcre3-dev \ libpng-dev \ + libpoppler-glib-dev \ libpq-dev \ libpspell-dev \ librabbitmq-dev \ librdkafka-dev \ librecode-dev \ + librsvg2-dev \ libsasl2-dev \ libsnmp-dev \ libssh2-1-dev \ libssl-dev \ libtidy-dev \ + libtool \ libvpx-dev \ libwebp-dev \ libwebp6 \ + libwebpdemux2 \ + libwebpmux3 \ libxml2-dev \ libxpm-dev \ libxslt-dev \ @@ -672,6 +688,26 @@ RUN set -eux \ && true +# -------------------- Installing PHP Extension: vips -------------------- +RUN set -eux \ + # Generic pre-command + && git clone https://github.com/libvips/libvips /tmp/libvips \ +&& cd /tmp/libvips \ +&& ./autogen.sh \ +&& make -j$(getconf _NPROCESSORS_ONLN) \ +&& make install \ +&& cd /tmp \ +&& rm -rf /tmp/libvips \ + \ + # Installation: Generic + # Type: PECL extension + # Default: Pecl command + && pecl install vips \ + # Enabling + && docker-php-ext-enable vips \ + && true + + # -------------------- Installing PHP Extension: wddx -------------------- RUN set -eux \ # Installation: Generic @@ -779,6 +815,8 @@ LABEL "org.opencontainers.image.description"="PHP-FPM 7.2-mods" ARG EXT_DIR COPY --from=builder ${EXT_DIR}/ ${EXT_DIR}/ COPY --from=builder /usr/local/etc/php/conf.d/ /usr/local/etc/php/conf.d/ +COPY --from=builder /usr/local/bin/ /usr/local/bin/ +COPY --from=builder /usr/local/lib/ /usr/local/lib/ COPY --from=builder /usr/lib/oracle/ /usr/lib/oracle/ @@ -788,30 +826,48 @@ COPY --from=builder /usr/lib/oracle/ /usr/lib/oracle/ RUN set -eux \ && DEBIAN_FRONTEND=noninteractive apt-get update -qq \ && DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \ + fftw2 \ ghostscript \ + gir1.2-poppler-0.18 \ + imagemagick-6.q16 \ libaio1 \ libaspell15 \ libc-client2007e \ libenchant1c2a \ + libexif12 \ + libexpat1 \ libfbclient2 \ + libfftw3-3 \ libfreetype6 \ + libgif7 \ + libglib2.0-0 \ libicu63 \ + libimagequant0 \ libjpeg62-turbo \ + libmagick++-6.q16-8 \ + libmagick++-6.q16hdri-8 \ + libmagickcore-6.q16-6 \ + libmagickcore-6.q16-6-extra \ libmagickwand-6.q16-6 \ + libmagickwand-6.q16hdri-6 \ libmcrypt4 \ libmemcachedutil2 \ libnghttp2-14 \ libpng16-16 \ + libpoppler-glib8 \ libpq5 \ librabbitmq4 \ librdkafka1 \ librecode0 \ + librsvg2-2 \ libssh2-1 \ libsybdb5 \ libtidy5deb1 \ libvpx5 \ libwebp-dev \ libwebp6 \ + libwebpdemux2 \ + libwebpmux3 \ libxpm4 \ libxslt1.1 \ libyaml-0-2 \ @@ -1022,6 +1078,8 @@ RUN set -eux \ && php-fpm -m | grep -oiE '^tokenizer$' \ && php -m | grep -oiE '^uploadprogress$' \ && php-fpm -m | grep -oiE '^uploadprogress$' \ + && php -m | grep -oiE '^vips$' \ + && php-fpm -m | grep -oiE '^vips$' \ && php -m | grep -oiE '^wddx$' \ && php-fpm -m | grep -oiE '^wddx$' \ && php -m | grep -oiE '^xdebug$' \ diff --git a/Dockerfiles/mods/Dockerfile-7.3 b/Dockerfiles/mods/Dockerfile-7.3 index a50039e..05d0811 100644 --- a/Dockerfiles/mods/Dockerfile-7.3 +++ b/Dockerfiles/mods/Dockerfile-7.3 @@ -10,42 +10,58 @@ RUN set -eux \ && DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \ && DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \ alien \ + fftw-dev \ firebird-dev \ freetds-dev \ ghostscript \ + gobject-introspection \ + gtk-doc-tools \ libaio-dev \ libbz2-dev \ libc-client-dev \ libcurl4-openssl-dev \ libenchant-dev \ libevent-dev \ + libexif-dev \ + libexpat1-dev \ libfbclient2 \ + libfftw3-dev \ libfreetype6-dev \ + libgif-dev \ + libglib2.0-dev \ libgmp-dev \ libib-util \ libicu-dev \ + libimagequant-dev \ libjpeg-dev \ libkrb5-dev \ libldap2-dev \ + libmagick++-dev \ + libmagickcore-6.q16-dev \ libmagickwand-dev \ libmcrypt-dev \ libmemcached-dev \ libnghttp2-dev \ libpcre3-dev \ libpng-dev \ + libpoppler-glib-dev \ libpq-dev \ libpspell-dev \ librabbitmq-dev \ librdkafka-dev \ librecode-dev \ + librsvg2-dev \ libsasl2-dev \ libsnmp-dev \ libssh2-1-dev \ libssl-dev \ libtidy-dev \ + libtool \ libvpx-dev \ libwebp-dev \ libwebp6 \ + libwebpdemux2 \ + libwebpmux3 \ libxml2-dev \ libxpm-dev \ libxslt-dev \ @@ -672,6 +688,26 @@ RUN set -eux \ && true +# -------------------- Installing PHP Extension: vips -------------------- +RUN set -eux \ + # Generic pre-command + && git clone https://github.com/libvips/libvips /tmp/libvips \ +&& cd /tmp/libvips \ +&& ./autogen.sh \ +&& make -j$(getconf _NPROCESSORS_ONLN) \ +&& make install \ +&& cd /tmp \ +&& rm -rf /tmp/libvips \ + \ + # Installation: Generic + # Type: PECL extension + # Default: Pecl command + && pecl install vips \ + # Enabling + && docker-php-ext-enable vips \ + && true + + # -------------------- Installing PHP Extension: wddx -------------------- RUN set -eux \ # Installation: Generic @@ -779,6 +815,8 @@ LABEL "org.opencontainers.image.description"="PHP-FPM 7.3-mods" ARG EXT_DIR COPY --from=builder ${EXT_DIR}/ ${EXT_DIR}/ COPY --from=builder /usr/local/etc/php/conf.d/ /usr/local/etc/php/conf.d/ +COPY --from=builder /usr/local/bin/ /usr/local/bin/ +COPY --from=builder /usr/local/lib/ /usr/local/lib/ COPY --from=builder /usr/lib/oracle/ /usr/lib/oracle/ @@ -788,30 +826,48 @@ COPY --from=builder /usr/lib/oracle/ /usr/lib/oracle/ RUN set -eux \ && DEBIAN_FRONTEND=noninteractive apt-get update -qq \ && DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \ + fftw2 \ ghostscript \ + gir1.2-poppler-0.18 \ + imagemagick-6.q16 \ libaio1 \ libaspell15 \ libc-client2007e \ libenchant1c2a \ + libexif12 \ + libexpat1 \ libfbclient2 \ + libfftw3-3 \ libfreetype6 \ + libgif7 \ + libglib2.0-0 \ libicu63 \ + libimagequant0 \ libjpeg62-turbo \ + libmagick++-6.q16-8 \ + libmagick++-6.q16hdri-8 \ + libmagickcore-6.q16-6 \ + libmagickcore-6.q16-6-extra \ libmagickwand-6.q16-6 \ + libmagickwand-6.q16hdri-6 \ libmcrypt4 \ libmemcachedutil2 \ libnghttp2-14 \ libpng16-16 \ + libpoppler-glib8 \ libpq5 \ librabbitmq4 \ librdkafka1 \ librecode0 \ + librsvg2-2 \ libssh2-1 \ libsybdb5 \ libtidy5deb1 \ libvpx5 \ libwebp-dev \ libwebp6 \ + libwebpdemux2 \ + libwebpmux3 \ libxpm4 \ libxslt1.1 \ libyaml-0-2 \ @@ -1022,6 +1078,8 @@ RUN set -eux \ && php-fpm -m | grep -oiE '^tokenizer$' \ && php -m | grep -oiE '^uploadprogress$' \ && php-fpm -m | grep -oiE '^uploadprogress$' \ + && php -m | grep -oiE '^vips$' \ + && php-fpm -m | grep -oiE '^vips$' \ && php -m | grep -oiE '^wddx$' \ && php-fpm -m | grep -oiE '^wddx$' \ && php -m | grep -oiE '^xdebug$' \ diff --git a/Dockerfiles/mods/Dockerfile-7.4 b/Dockerfiles/mods/Dockerfile-7.4 index 81d76c4..c6b69a8 100644 --- a/Dockerfiles/mods/Dockerfile-7.4 +++ b/Dockerfiles/mods/Dockerfile-7.4 @@ -10,42 +10,58 @@ RUN set -eux \ && DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \ && DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \ alien \ + fftw-dev \ firebird-dev \ freetds-dev \ ghostscript \ + gobject-introspection \ + gtk-doc-tools \ libaio-dev \ libbz2-dev \ libc-client-dev \ libcurl4-openssl-dev \ libenchant-dev \ libevent-dev \ + libexif-dev \ + libexpat1-dev \ libfbclient2 \ libffi-dev \ + libfftw3-dev \ libfreetype6-dev \ + libgif-dev \ + libglib2.0-dev \ libgmp-dev \ libib-util \ libicu-dev \ + libimagequant-dev \ libjpeg-dev \ libkrb5-dev \ libldap2-dev \ + libmagick++-dev \ + libmagickcore-6.q16-dev \ libmagickwand-dev \ libmcrypt-dev \ libmemcached-dev \ libnghttp2-dev \ libpcre3-dev \ libpng-dev \ + libpoppler-glib-dev \ libpq-dev \ libpspell-dev \ librabbitmq-dev \ librdkafka-dev \ + librsvg2-dev \ libsasl2-dev \ libsnmp-dev \ libssh2-1-dev \ libssl-dev \ libtidy-dev \ + libtool \ libvpx-dev \ libwebp-dev \ libwebp6 \ + libwebpdemux2 \ + libwebpmux3 \ libxml2-dev \ libxpm-dev \ libxslt-dev \ @@ -635,6 +651,26 @@ RUN set -eux \ && true +# -------------------- Installing PHP Extension: vips -------------------- +RUN set -eux \ + # Generic pre-command + && git clone https://github.com/libvips/libvips /tmp/libvips \ +&& cd /tmp/libvips \ +&& ./autogen.sh \ +&& make -j$(getconf _NPROCESSORS_ONLN) \ +&& make install \ +&& cd /tmp \ +&& rm -rf /tmp/libvips \ + \ + # Installation: Generic + # Type: PECL extension + # Default: Pecl command + && pecl install vips \ + # Enabling + && docker-php-ext-enable vips \ + && true + + # -------------------- Installing PHP Extension: xdebug -------------------- RUN set -eux \ # Installation: Generic @@ -734,6 +770,8 @@ LABEL "org.opencontainers.image.description"="PHP-FPM 7.4-mods" ARG EXT_DIR COPY --from=builder ${EXT_DIR}/ ${EXT_DIR}/ COPY --from=builder /usr/local/etc/php/conf.d/ /usr/local/etc/php/conf.d/ +COPY --from=builder /usr/local/bin/ /usr/local/bin/ +COPY --from=builder /usr/local/lib/ /usr/local/lib/ COPY --from=builder /usr/lib/oracle/ /usr/lib/oracle/ @@ -743,30 +781,48 @@ COPY --from=builder /usr/lib/oracle/ /usr/lib/oracle/ RUN set -eux \ && DEBIAN_FRONTEND=noninteractive apt-get update -qq \ && DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \ + fftw2 \ ghostscript \ + gir1.2-poppler-0.18 \ + imagemagick-6.q16 \ libaio1 \ libaspell15 \ libc-client2007e \ libenchant1c2a \ + libexif12 \ + libexpat1 \ libfbclient2 \ libffi6 \ + libfftw3-3 \ libfreetype6 \ + libgif7 \ + libglib2.0-0 \ libicu63 \ + libimagequant0 \ libjpeg62-turbo \ + libmagick++-6.q16-8 \ + libmagick++-6.q16hdri-8 \ + libmagickcore-6.q16-6 \ + libmagickcore-6.q16-6-extra \ libmagickwand-6.q16-6 \ + libmagickwand-6.q16hdri-6 \ libmcrypt4 \ libmemcachedutil2 \ libnghttp2-14 \ libpng16-16 \ + libpoppler-glib8 \ libpq5 \ librabbitmq4 \ librdkafka1 \ + librsvg2-2 \ libssh2-1 \ libsybdb5 \ libtidy5deb1 \ libvpx5 \ libwebp-dev \ libwebp6 \ + libwebpdemux2 \ + libwebpmux3 \ libxpm4 \ libxslt1.1 \ libyaml-0-2 \ @@ -970,6 +1026,8 @@ RUN set -eux \ && php-fpm -m | grep -oiE '^tokenizer$' \ && php -m | grep -oiE '^uploadprogress$' \ && php-fpm -m | grep -oiE '^uploadprogress$' \ + && php -m | grep -oiE '^vips$' \ + && php-fpm -m | grep -oiE '^vips$' \ && php -m | grep -oiE '^xdebug$' \ && php-fpm -m | grep -oiE '^xdebug$' \ && php -m | grep -oiE '^xml$' \ diff --git a/Dockerfiles/mods/Dockerfile-8.0 b/Dockerfiles/mods/Dockerfile-8.0 index 0ec85d2..ae5281c 100644 --- a/Dockerfiles/mods/Dockerfile-8.0 +++ b/Dockerfiles/mods/Dockerfile-8.0 @@ -494,6 +494,8 @@ LABEL "org.opencontainers.image.description"="PHP-FPM 8.0-mods" ARG EXT_DIR COPY --from=builder ${EXT_DIR}/ ${EXT_DIR}/ COPY --from=builder /usr/local/etc/php/conf.d/ /usr/local/etc/php/conf.d/ +COPY --from=builder /usr/local/bin/ /usr/local/bin/ +COPY --from=builder /usr/local/lib/ /usr/local/lib/ COPY --from=builder /usr/lib/oracle/ /usr/lib/oracle/ diff --git a/README.md b/README.md index affc035..8915b43 100644 --- a/README.md +++ b/README.md @@ -627,27 +627,27 @@ Check out this table to see which Docker image provides what PHP modules. 7.0 Core, ctype, curl, date, dom, fileinfo, filter, ftp, hash, iconv, json, libxml, mbstring, mysqlnd, openssl, pcre, PDO, pdo_sqlite, Phar, posix, readline, Reflection, session, SimpleXML, SPL, sqlite3, standard, tokenizer, xml, xmlreader, xmlwriter, zlib - amqp, apcu, bcmath, blackfire, bz2, calendar, Core, ctype, curl, date, dba, dom, enchant, exif, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, igbinary, imagick, imap, interbase, intl, ioncube, json, ldap, libxml, mbstring, mcrypt, memcache, memcached, mongodb, msgpack, mysqli, mysqlnd, OAuth, oci8, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, PDO_OCI, pdo_pgsql, pdo_sqlite, pdo_sqlsrv, pgsql, phalcon, Phar, posix, pspell, psr, rdkafka, readline, recode, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, SPL, sqlite3, sqlsrv, ssh2, standard, swoole, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, wddx, xdebug, xml, xmlreader, xmlrpc, xmlwriter, xsl, yaml, Zend OPcache, zip, zlib + amqp, apcu, bcmath, blackfire, bz2, calendar, Core, ctype, curl, date, dba, dom, enchant, exif, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, igbinary, imagick, imap, interbase, intl, ioncube, json, ldap, libxml, mbstring, mcrypt, memcache, memcached, mongodb, msgpack, mysqli, mysqlnd, OAuth, oci8, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, PDO_OCI, pdo_pgsql, pdo_sqlite, pdo_sqlsrv, pgsql, phalcon, Phar, posix, pspell, psr, rdkafka, readline, recode, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, SPL, sqlite3, sqlsrv, ssh2, standard, swoole, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, vips, wddx, xdebug, xml, xmlreader, xmlrpc, xmlwriter, xsl, yaml, Zend OPcache, zip, zlib 7.1 Core, ctype, curl, date, dom, fileinfo, filter, ftp, hash, iconv, json, libxml, mbstring, mysqlnd, openssl, pcre, PDO, pdo_sqlite, Phar, posix, readline, Reflection, session, SimpleXML, SPL, sqlite3, standard, tokenizer, xml, xmlreader, xmlwriter, zlib - amqp, apcu, bcmath, blackfire, bz2, calendar, Core, ctype, curl, date, dba, dom, enchant, exif, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, igbinary, imagick, imap, interbase, intl, ioncube, json, ldap, libxml, mbstring, mcrypt, memcache, memcached, mongodb, msgpack, mysqli, mysqlnd, OAuth, oci8, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, PDO_OCI, pdo_pgsql, pdo_sqlite, pdo_sqlsrv, pgsql, phalcon, Phar, posix, pspell, psr, rdkafka, readline, recode, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, solr, SPL, sqlite3, sqlsrv, ssh2, standard, swoole, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, wddx, xdebug, xml, xmlreader, xmlrpc, xmlwriter, xsl, yaml, Zend OPcache, zip, zlib + amqp, apcu, bcmath, blackfire, bz2, calendar, Core, ctype, curl, date, dba, dom, enchant, exif, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, igbinary, imagick, imap, interbase, intl, ioncube, json, ldap, libxml, mbstring, mcrypt, memcache, memcached, mongodb, msgpack, mysqli, mysqlnd, OAuth, oci8, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, PDO_OCI, pdo_pgsql, pdo_sqlite, pdo_sqlsrv, pgsql, phalcon, Phar, posix, pspell, psr, rdkafka, readline, recode, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, solr, SPL, sqlite3, sqlsrv, ssh2, standard, swoole, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, vips, wddx, xdebug, xml, xmlreader, xmlrpc, xmlwriter, xsl, yaml, Zend OPcache, zip, zlib 7.2 Core, ctype, curl, date, dom, fileinfo, filter, ftp, hash, iconv, json, libxml, mbstring, mysqlnd, openssl, pcre, PDO, pdo_sqlite, Phar, posix, readline, Reflection, session, SimpleXML, sodium, SPL, sqlite3, standard, tokenizer, xml, xmlreader, xmlwriter, zlib - amqp, apcu, bcmath, blackfire, bz2, calendar, Core, ctype, curl, date, dba, dom, enchant, exif, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, igbinary, imagick, imap, interbase, intl, ioncube, json, ldap, libxml, mbstring, mcrypt, memcache, memcached, mongodb, msgpack, mysqli, mysqlnd, OAuth, oci8, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, PDO_OCI, pdo_pgsql, pdo_sqlite, pdo_sqlsrv, pgsql, phalcon, Phar, posix, pspell, psr, rdkafka, readline, recode, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, sodium, solr, SPL, sqlite3, sqlsrv, ssh2, standard, swoole, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, wddx, xdebug, xml, xmlreader, xmlrpc, xmlwriter, xsl, yaml, Zend OPcache, zip, zlib + amqp, apcu, bcmath, blackfire, bz2, calendar, Core, ctype, curl, date, dba, dom, enchant, exif, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, igbinary, imagick, imap, interbase, intl, ioncube, json, ldap, libxml, mbstring, mcrypt, memcache, memcached, mongodb, msgpack, mysqli, mysqlnd, OAuth, oci8, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, PDO_OCI, pdo_pgsql, pdo_sqlite, pdo_sqlsrv, pgsql, phalcon, Phar, posix, pspell, psr, rdkafka, readline, recode, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, sodium, solr, SPL, sqlite3, sqlsrv, ssh2, standard, swoole, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, vips, wddx, xdebug, xml, xmlreader, xmlrpc, xmlwriter, xsl, yaml, Zend OPcache, zip, zlib 7.3 Core, ctype, curl, date, dom, fileinfo, filter, ftp, hash, iconv, json, libxml, mbstring, mysqlnd, openssl, pcre, PDO, pdo_sqlite, Phar, posix, readline, Reflection, session, SimpleXML, sodium, SPL, sqlite3, standard, tokenizer, xml, xmlreader, xmlwriter, zlib - amqp, apcu, bcmath, blackfire, bz2, calendar, Core, ctype, curl, date, dba, dom, enchant, exif, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, igbinary, imagick, imap, interbase, intl, ioncube, json, ldap, libxml, mbstring, mcrypt, memcache, memcached, mongodb, msgpack, mysqli, mysqlnd, OAuth, oci8, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, PDO_OCI, pdo_pgsql, pdo_sqlite, pdo_sqlsrv, pgsql, phalcon, Phar, posix, pspell, psr, rdkafka, readline, recode, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, sodium, solr, SPL, sqlite3, sqlsrv, ssh2, standard, swoole, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, wddx, xdebug, xml, xmlreader, xmlrpc, xmlwriter, xsl, yaml, Zend OPcache, zip, zlib + amqp, apcu, bcmath, blackfire, bz2, calendar, Core, ctype, curl, date, dba, dom, enchant, exif, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, igbinary, imagick, imap, interbase, intl, ioncube, json, ldap, libxml, mbstring, mcrypt, memcache, memcached, mongodb, msgpack, mysqli, mysqlnd, OAuth, oci8, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, PDO_OCI, pdo_pgsql, pdo_sqlite, pdo_sqlsrv, pgsql, phalcon, Phar, posix, pspell, psr, rdkafka, readline, recode, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, sodium, solr, SPL, sqlite3, sqlsrv, ssh2, standard, swoole, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, vips, wddx, xdebug, xml, xmlreader, xmlrpc, xmlwriter, xsl, yaml, Zend OPcache, zip, zlib 7.4 Core, ctype, curl, date, dom, fileinfo, filter, ftp, hash, iconv, json, libxml, mbstring, mysqlnd, openssl, pcre, PDO, pdo_sqlite, Phar, posix, readline, Reflection, session, SimpleXML, sodium, SPL, sqlite3, standard, tokenizer, xml, xmlreader, xmlwriter, zlib - amqp, apcu, bcmath, blackfire, bz2, calendar, Core, ctype, curl, date, dba, dom, enchant, exif, FFI, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, igbinary, imagick, imap, intl, json, ldap, libxml, mbstring, mcrypt, memcache, memcached, mongodb, msgpack, mysqli, mysqlnd, OAuth, oci8, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, PDO_OCI, pdo_pgsql, pdo_sqlite, pgsql, phalcon, Phar, posix, pspell, psr, rdkafka, readline, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, sodium, solr, SPL, sqlite3, ssh2, standard, swoole, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, xdebug, xml, xmlreader, xmlrpc, xmlwriter, xsl, yaml, Zend OPcache, zip, zlib + amqp, apcu, bcmath, blackfire, bz2, calendar, Core, ctype, curl, date, dba, dom, enchant, exif, FFI, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, igbinary, imagick, imap, intl, json, ldap, libxml, mbstring, mcrypt, memcache, memcached, mongodb, msgpack, mysqli, mysqlnd, OAuth, oci8, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, PDO_OCI, pdo_pgsql, pdo_sqlite, pgsql, phalcon, Phar, posix, pspell, psr, rdkafka, readline, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, sodium, solr, SPL, sqlite3, ssh2, standard, swoole, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, vips, xdebug, xml, xmlreader, xmlrpc, xmlwriter, xsl, yaml, Zend OPcache, zip, zlib 8.0 diff --git a/build/ansible/DOCKERFILES/Dockerfile-mods.j2 b/build/ansible/DOCKERFILES/Dockerfile-mods.j2 index 421d7d0..c6fc6e4 100644 --- a/build/ansible/DOCKERFILES/Dockerfile-mods.j2 +++ b/build/ansible/DOCKERFILES/Dockerfile-mods.j2 @@ -324,6 +324,8 @@ LABEL "org.opencontainers.image.description"="PHP-FPM {{ php_version }}-mods" ARG EXT_DIR COPY --from=builder ${EXT_DIR}/ ${EXT_DIR}/ COPY --from=builder /usr/local/etc/php/conf.d/ /usr/local/etc/php/conf.d/ +COPY --from=builder /usr/local/bin/ /usr/local/bin/ +COPY --from=builder /usr/local/lib/ /usr/local/lib/ COPY --from=builder /usr/lib/oracle/ /usr/lib/oracle/ diff --git a/build/ansible/group_vars/all/mods.yml b/build/ansible/group_vars/all/mods.yml index a9e00d0..38d3e6d 100644 --- a/build/ansible/group_vars/all/mods.yml +++ b/build/ansible/group_vars/all/mods.yml @@ -101,6 +101,7 @@ extensions_enabled: - tidy - tokenizer - uploadprogress + - vips - wddx - xdebug - xml @@ -560,7 +561,7 @@ extensions_available: \ && phpize \ && ./configure --enable-mongodb \ - && make all \ + && make -j$(getconf _NPROCESSORS_ONLN) \ && make install \ all: type: pecl @@ -1015,6 +1016,58 @@ extensions_available: type: git git_url: https://github.com/php/pecl-php-uploadprogress configure: --enable-uploadprogress + vips: + disabled: [5.2, 5.3, 5.4, 5.5, 5.6, 8.0] + all: + type: pecl + pre: | + git clone https://github.com/libvips/libvips /tmp/libvips \ + && cd /tmp/libvips \ + && ./autogen.sh \ + && make -j$(getconf _NPROCESSORS_ONLN) \ + && make install \ + && cd /tmp \ + && rm -rf /tmp/libvips \ + build_dep: + - fftw-dev + - gobject-introspection + - gtk-doc-tools + - libexif-dev + - libexpat1-dev + - libfftw3-dev + - libgif-dev + - libglib2.0-dev + - libimagequant-dev + - libmagick++-dev + - libmagickcore-6.q16-dev + - libmagickwand-dev + - libpoppler-glib-dev + - librsvg2-dev + - libtool + - libwebp-dev + - libwebpdemux2 + - libwebpmux3 + run_dep: + - fftw2 + - gir1.2-poppler-0.18 + - imagemagick-6.q16 + - libexif12 + - libexpat1 + - libfftw3-3 + - libgif7 + - libglib2.0-0 + - libimagequant0 + - libmagick++-6.q16-8 + - libmagick++-6.q16hdri-8 + - libmagickcore-6.q16-6 + - libmagickcore-6.q16-6-extra + - libmagickwand-6.q16-6 + - libmagickwand-6.q16hdri-6 + - libpoppler-glib8 + - librsvg2-2 + - libwebp6 + - libwebpdemux2 + - libwebpmux3 wddx: # https://wiki.php.net/rfc/deprecate-and-remove-ext-wddx disabled: [7.4, 8.0] From c40082e88621e9cd4811ea382f6ca5f9a210fe70 Mon Sep 17 00:00:00 2001 From: cytopia Date: Sun, 13 Sep 2020 15:51:30 +0200 Subject: [PATCH 2/8] Added xlswriter extension --- CHANGELOG.md | 1 + Dockerfiles/mods/Dockerfile-7.0 | 13 +++++++++++++ Dockerfiles/mods/Dockerfile-7.1 | 13 +++++++++++++ Dockerfiles/mods/Dockerfile-7.2 | 13 +++++++++++++ Dockerfiles/mods/Dockerfile-7.3 | 13 +++++++++++++ Dockerfiles/mods/Dockerfile-7.4 | 13 +++++++++++++ README.md | 10 +++++----- build/ansible/group_vars/all/mods.yml | 7 +++++++ 8 files changed, 78 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f2275a2..8c5d884 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,7 @@ #### Added - Added vips extension +- Added xlswriter extension ## Release 0.111 diff --git a/Dockerfiles/mods/Dockerfile-7.0 b/Dockerfiles/mods/Dockerfile-7.0 index bd9d9c5..439ec16 100644 --- a/Dockerfiles/mods/Dockerfile-7.0 +++ b/Dockerfiles/mods/Dockerfile-7.0 @@ -734,6 +734,17 @@ RUN set -eux \ && true +# -------------------- Installing PHP Extension: xlswriter -------------------- +RUN set -eux \ + # Installation: Generic + # Type: PECL extension + # Default: Pecl command + && pecl install xlswriter \ + # Enabling + && docker-php-ext-enable xlswriter \ + && true + + # -------------------- Installing PHP Extension: yaml -------------------- RUN set -eux \ # Installation: Version specific @@ -1077,6 +1088,8 @@ RUN set -eux \ && php-fpm -m | grep -oiE '^xmlwriter$' \ && php -m | grep -oiE '^xsl$' \ && php-fpm -m | grep -oiE '^xsl$' \ + && php -m | grep -oiE '^xlswriter$' \ + && php-fpm -m | grep -oiE '^xlswriter$' \ && php -m | grep -oiE '^yaml$' \ && php-fpm -m | grep -oiE '^yaml$' \ && php -m | grep -oiE '^zip$' \ diff --git a/Dockerfiles/mods/Dockerfile-7.1 b/Dockerfiles/mods/Dockerfile-7.1 index 5a69933..4f421f6 100644 --- a/Dockerfiles/mods/Dockerfile-7.1 +++ b/Dockerfiles/mods/Dockerfile-7.1 @@ -743,6 +743,17 @@ RUN set -eux \ && true +# -------------------- Installing PHP Extension: xlswriter -------------------- +RUN set -eux \ + # Installation: Generic + # Type: PECL extension + # Default: Pecl command + && pecl install xlswriter \ + # Enabling + && docker-php-ext-enable xlswriter \ + && true + + # -------------------- Installing PHP Extension: yaml -------------------- RUN set -eux \ # Installation: Generic @@ -1088,6 +1099,8 @@ RUN set -eux \ && php-fpm -m | grep -oiE '^xmlwriter$' \ && php -m | grep -oiE '^xsl$' \ && php-fpm -m | grep -oiE '^xsl$' \ + && php -m | grep -oiE '^xlswriter$' \ + && php-fpm -m | grep -oiE '^xlswriter$' \ && php -m | grep -oiE '^yaml$' \ && php-fpm -m | grep -oiE '^yaml$' \ && php -m | grep -oiE '^zip$' \ diff --git a/Dockerfiles/mods/Dockerfile-7.2 b/Dockerfiles/mods/Dockerfile-7.2 index 6c87196..1e5e404 100644 --- a/Dockerfiles/mods/Dockerfile-7.2 +++ b/Dockerfiles/mods/Dockerfile-7.2 @@ -747,6 +747,17 @@ RUN set -eux \ && true +# -------------------- Installing PHP Extension: xlswriter -------------------- +RUN set -eux \ + # Installation: Generic + # Type: PECL extension + # Default: Pecl command + && pecl install xlswriter \ + # Enabling + && docker-php-ext-enable xlswriter \ + && true + + # -------------------- Installing PHP Extension: yaml -------------------- RUN set -eux \ # Installation: Generic @@ -1094,6 +1105,8 @@ RUN set -eux \ && php-fpm -m | grep -oiE '^xmlwriter$' \ && php -m | grep -oiE '^xsl$' \ && php-fpm -m | grep -oiE '^xsl$' \ + && php -m | grep -oiE '^xlswriter$' \ + && php-fpm -m | grep -oiE '^xlswriter$' \ && php -m | grep -oiE '^yaml$' \ && php-fpm -m | grep -oiE '^yaml$' \ && php -m | grep -oiE '^zip$' \ diff --git a/Dockerfiles/mods/Dockerfile-7.3 b/Dockerfiles/mods/Dockerfile-7.3 index 05d0811..af25859 100644 --- a/Dockerfiles/mods/Dockerfile-7.3 +++ b/Dockerfiles/mods/Dockerfile-7.3 @@ -747,6 +747,17 @@ RUN set -eux \ && true +# -------------------- Installing PHP Extension: xlswriter -------------------- +RUN set -eux \ + # Installation: Generic + # Type: PECL extension + # Default: Pecl command + && pecl install xlswriter \ + # Enabling + && docker-php-ext-enable xlswriter \ + && true + + # -------------------- Installing PHP Extension: yaml -------------------- RUN set -eux \ # Installation: Generic @@ -1094,6 +1105,8 @@ RUN set -eux \ && php-fpm -m | grep -oiE '^xmlwriter$' \ && php -m | grep -oiE '^xsl$' \ && php-fpm -m | grep -oiE '^xsl$' \ + && php -m | grep -oiE '^xlswriter$' \ + && php-fpm -m | grep -oiE '^xlswriter$' \ && php -m | grep -oiE '^yaml$' \ && php-fpm -m | grep -oiE '^yaml$' \ && php -m | grep -oiE '^zip$' \ diff --git a/Dockerfiles/mods/Dockerfile-7.4 b/Dockerfiles/mods/Dockerfile-7.4 index c6b69a8..b71d651 100644 --- a/Dockerfiles/mods/Dockerfile-7.4 +++ b/Dockerfiles/mods/Dockerfile-7.4 @@ -701,6 +701,17 @@ RUN set -eux \ && true +# -------------------- Installing PHP Extension: xlswriter -------------------- +RUN set -eux \ + # Installation: Generic + # Type: PECL extension + # Default: Pecl command + && pecl install xlswriter \ + # Enabling + && docker-php-ext-enable xlswriter \ + && true + + # -------------------- Installing PHP Extension: yaml -------------------- RUN set -eux \ # Installation: Generic @@ -1040,6 +1051,8 @@ RUN set -eux \ && php-fpm -m | grep -oiE '^xmlwriter$' \ && php -m | grep -oiE '^xsl$' \ && php-fpm -m | grep -oiE '^xsl$' \ + && php -m | grep -oiE '^xlswriter$' \ + && php-fpm -m | grep -oiE '^xlswriter$' \ && php -m | grep -oiE '^yaml$' \ && php-fpm -m | grep -oiE '^yaml$' \ && php -m | grep -oiE '^zip$' \ diff --git a/README.md b/README.md index 8915b43..5a3f4b4 100644 --- a/README.md +++ b/README.md @@ -627,27 +627,27 @@ Check out this table to see which Docker image provides what PHP modules. 7.0 Core, ctype, curl, date, dom, fileinfo, filter, ftp, hash, iconv, json, libxml, mbstring, mysqlnd, openssl, pcre, PDO, pdo_sqlite, Phar, posix, readline, Reflection, session, SimpleXML, SPL, sqlite3, standard, tokenizer, xml, xmlreader, xmlwriter, zlib - amqp, apcu, bcmath, blackfire, bz2, calendar, Core, ctype, curl, date, dba, dom, enchant, exif, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, igbinary, imagick, imap, interbase, intl, ioncube, json, ldap, libxml, mbstring, mcrypt, memcache, memcached, mongodb, msgpack, mysqli, mysqlnd, OAuth, oci8, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, PDO_OCI, pdo_pgsql, pdo_sqlite, pdo_sqlsrv, pgsql, phalcon, Phar, posix, pspell, psr, rdkafka, readline, recode, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, SPL, sqlite3, sqlsrv, ssh2, standard, swoole, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, vips, wddx, xdebug, xml, xmlreader, xmlrpc, xmlwriter, xsl, yaml, Zend OPcache, zip, zlib + amqp, apcu, bcmath, blackfire, bz2, calendar, Core, ctype, curl, date, dba, dom, enchant, exif, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, igbinary, imagick, imap, interbase, intl, ioncube, json, ldap, libxml, mbstring, mcrypt, memcache, memcached, mongodb, msgpack, mysqli, mysqlnd, OAuth, oci8, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, PDO_OCI, pdo_pgsql, pdo_sqlite, pdo_sqlsrv, pgsql, phalcon, Phar, posix, pspell, psr, rdkafka, readline, recode, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, SPL, sqlite3, sqlsrv, ssh2, standard, swoole, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, vips, wddx, xdebug, xlswriter, xml, xmlreader, xmlrpc, xmlwriter, xsl, yaml, Zend OPcache, zip, zlib 7.1 Core, ctype, curl, date, dom, fileinfo, filter, ftp, hash, iconv, json, libxml, mbstring, mysqlnd, openssl, pcre, PDO, pdo_sqlite, Phar, posix, readline, Reflection, session, SimpleXML, SPL, sqlite3, standard, tokenizer, xml, xmlreader, xmlwriter, zlib - amqp, apcu, bcmath, blackfire, bz2, calendar, Core, ctype, curl, date, dba, dom, enchant, exif, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, igbinary, imagick, imap, interbase, intl, ioncube, json, ldap, libxml, mbstring, mcrypt, memcache, memcached, mongodb, msgpack, mysqli, mysqlnd, OAuth, oci8, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, PDO_OCI, pdo_pgsql, pdo_sqlite, pdo_sqlsrv, pgsql, phalcon, Phar, posix, pspell, psr, rdkafka, readline, recode, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, solr, SPL, sqlite3, sqlsrv, ssh2, standard, swoole, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, vips, wddx, xdebug, xml, xmlreader, xmlrpc, xmlwriter, xsl, yaml, Zend OPcache, zip, zlib + amqp, apcu, bcmath, blackfire, bz2, calendar, Core, ctype, curl, date, dba, dom, enchant, exif, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, igbinary, imagick, imap, interbase, intl, ioncube, json, ldap, libxml, mbstring, mcrypt, memcache, memcached, mongodb, msgpack, mysqli, mysqlnd, OAuth, oci8, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, PDO_OCI, pdo_pgsql, pdo_sqlite, pdo_sqlsrv, pgsql, phalcon, Phar, posix, pspell, psr, rdkafka, readline, recode, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, solr, SPL, sqlite3, sqlsrv, ssh2, standard, swoole, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, vips, wddx, xdebug, xlswriter, xml, xmlreader, xmlrpc, xmlwriter, xsl, yaml, Zend OPcache, zip, zlib 7.2 Core, ctype, curl, date, dom, fileinfo, filter, ftp, hash, iconv, json, libxml, mbstring, mysqlnd, openssl, pcre, PDO, pdo_sqlite, Phar, posix, readline, Reflection, session, SimpleXML, sodium, SPL, sqlite3, standard, tokenizer, xml, xmlreader, xmlwriter, zlib - amqp, apcu, bcmath, blackfire, bz2, calendar, Core, ctype, curl, date, dba, dom, enchant, exif, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, igbinary, imagick, imap, interbase, intl, ioncube, json, ldap, libxml, mbstring, mcrypt, memcache, memcached, mongodb, msgpack, mysqli, mysqlnd, OAuth, oci8, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, PDO_OCI, pdo_pgsql, pdo_sqlite, pdo_sqlsrv, pgsql, phalcon, Phar, posix, pspell, psr, rdkafka, readline, recode, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, sodium, solr, SPL, sqlite3, sqlsrv, ssh2, standard, swoole, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, vips, wddx, xdebug, xml, xmlreader, xmlrpc, xmlwriter, xsl, yaml, Zend OPcache, zip, zlib + amqp, apcu, bcmath, blackfire, bz2, calendar, Core, ctype, curl, date, dba, dom, enchant, exif, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, igbinary, imagick, imap, interbase, intl, ioncube, json, ldap, libxml, mbstring, mcrypt, memcache, memcached, mongodb, msgpack, mysqli, mysqlnd, OAuth, oci8, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, PDO_OCI, pdo_pgsql, pdo_sqlite, pdo_sqlsrv, pgsql, phalcon, Phar, posix, pspell, psr, rdkafka, readline, recode, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, sodium, solr, SPL, sqlite3, sqlsrv, ssh2, standard, swoole, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, vips, wddx, xdebug, xlswriter, xml, xmlreader, xmlrpc, xmlwriter, xsl, yaml, Zend OPcache, zip, zlib 7.3 Core, ctype, curl, date, dom, fileinfo, filter, ftp, hash, iconv, json, libxml, mbstring, mysqlnd, openssl, pcre, PDO, pdo_sqlite, Phar, posix, readline, Reflection, session, SimpleXML, sodium, SPL, sqlite3, standard, tokenizer, xml, xmlreader, xmlwriter, zlib - amqp, apcu, bcmath, blackfire, bz2, calendar, Core, ctype, curl, date, dba, dom, enchant, exif, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, igbinary, imagick, imap, interbase, intl, ioncube, json, ldap, libxml, mbstring, mcrypt, memcache, memcached, mongodb, msgpack, mysqli, mysqlnd, OAuth, oci8, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, PDO_OCI, pdo_pgsql, pdo_sqlite, pdo_sqlsrv, pgsql, phalcon, Phar, posix, pspell, psr, rdkafka, readline, recode, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, sodium, solr, SPL, sqlite3, sqlsrv, ssh2, standard, swoole, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, vips, wddx, xdebug, xml, xmlreader, xmlrpc, xmlwriter, xsl, yaml, Zend OPcache, zip, zlib + amqp, apcu, bcmath, blackfire, bz2, calendar, Core, ctype, curl, date, dba, dom, enchant, exif, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, igbinary, imagick, imap, interbase, intl, ioncube, json, ldap, libxml, mbstring, mcrypt, memcache, memcached, mongodb, msgpack, mysqli, mysqlnd, OAuth, oci8, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, PDO_OCI, pdo_pgsql, pdo_sqlite, pdo_sqlsrv, pgsql, phalcon, Phar, posix, pspell, psr, rdkafka, readline, recode, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, sodium, solr, SPL, sqlite3, sqlsrv, ssh2, standard, swoole, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, vips, wddx, xdebug, xlswriter, xml, xmlreader, xmlrpc, xmlwriter, xsl, yaml, Zend OPcache, zip, zlib 7.4 Core, ctype, curl, date, dom, fileinfo, filter, ftp, hash, iconv, json, libxml, mbstring, mysqlnd, openssl, pcre, PDO, pdo_sqlite, Phar, posix, readline, Reflection, session, SimpleXML, sodium, SPL, sqlite3, standard, tokenizer, xml, xmlreader, xmlwriter, zlib - amqp, apcu, bcmath, blackfire, bz2, calendar, Core, ctype, curl, date, dba, dom, enchant, exif, FFI, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, igbinary, imagick, imap, intl, json, ldap, libxml, mbstring, mcrypt, memcache, memcached, mongodb, msgpack, mysqli, mysqlnd, OAuth, oci8, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, PDO_OCI, pdo_pgsql, pdo_sqlite, pgsql, phalcon, Phar, posix, pspell, psr, rdkafka, readline, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, sodium, solr, SPL, sqlite3, ssh2, standard, swoole, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, vips, xdebug, xml, xmlreader, xmlrpc, xmlwriter, xsl, yaml, Zend OPcache, zip, zlib + amqp, apcu, bcmath, blackfire, bz2, calendar, Core, ctype, curl, date, dba, dom, enchant, exif, FFI, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, igbinary, imagick, imap, intl, json, ldap, libxml, mbstring, mcrypt, memcache, memcached, mongodb, msgpack, mysqli, mysqlnd, OAuth, oci8, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, PDO_OCI, pdo_pgsql, pdo_sqlite, pgsql, phalcon, Phar, posix, pspell, psr, rdkafka, readline, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, sodium, solr, SPL, sqlite3, ssh2, standard, swoole, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, vips, xdebug, xlswriter, xml, xmlreader, xmlrpc, xmlwriter, xsl, yaml, Zend OPcache, zip, zlib 8.0 diff --git a/build/ansible/group_vars/all/mods.yml b/build/ansible/group_vars/all/mods.yml index 38d3e6d..d154fa4 100644 --- a/build/ansible/group_vars/all/mods.yml +++ b/build/ansible/group_vars/all/mods.yml @@ -109,6 +109,7 @@ extensions_enabled: - xmlrpc - xmlwriter - xsl + - xlswriter - yaml - zip @@ -1101,6 +1102,12 @@ extensions_available: configure: --enable-xdebug all: type: pecl + xlswriter: + disabled: [5.2, 5.3, 5.4, 5.5, 5.6, 8.0] + all: + type: pecl + build_dep: [zlib1g-dev] + run_dep: [] xml: already_avail: "{{ php_all_versions }}" xmlreader: From 7019b00e55087ffe9e37b359b4ca6f659af9b57e Mon Sep 17 00:00:00 2001 From: cytopia Date: Sun, 13 Sep 2020 16:13:02 +0200 Subject: [PATCH 3/8] Fix apt packages for PHP 7.0 --- Dockerfiles/mods/Dockerfile-7.0 | 17 +++++------- build/ansible/group_vars/all/mods.yml | 39 +++++++++++++++++++++++++++ 2 files changed, 46 insertions(+), 10 deletions(-) diff --git a/Dockerfiles/mods/Dockerfile-7.0 b/Dockerfiles/mods/Dockerfile-7.0 index 439ec16..e7c47fc 100644 --- a/Dockerfiles/mods/Dockerfile-7.0 +++ b/Dockerfiles/mods/Dockerfile-7.0 @@ -32,7 +32,6 @@ RUN set -eux \ libgmp-dev \ libib-util \ libicu-dev \ - libimagequant-dev \ libjpeg-dev \ libkrb5-dev \ libldap2-dev \ @@ -61,7 +60,7 @@ RUN set -eux \ libwebp-dev \ libwebp6 \ libwebpdemux2 \ - libwebpmux3 \ + libwebpmux2 \ libxml2-dev \ libxpm-dev \ libxslt-dev \ @@ -840,15 +839,13 @@ RUN set -eux \ libgif7 \ libglib2.0-0 \ libicu57 \ - libimagequant0 \ libjpeg62-turbo \ - libmagick++-6.q16-8 \ - libmagick++-6.q16hdri-8 \ - libmagickcore-6.q16-6 \ - libmagickcore-6.q16-6-extra \ + libmagick++-6.q16-7 \ + libmagick++-6.q16hdri-7 \ + libmagickcore-6.q16-3 \ + libmagickcore-6.q16-3-extra \ libmagickwand-6.q16-3 \ - libmagickwand-6.q16-6 \ - libmagickwand-6.q16hdri-6 \ + libmagickwand-6.q16hdri-3 \ libmcrypt4 \ libmemcachedutil2 \ libnghttp2-14 \ @@ -865,7 +862,7 @@ RUN set -eux \ libvpx4 \ libwebp6 \ libwebpdemux2 \ - libwebpmux3 \ + libwebpmux2 \ libxpm4 \ libxslt1.1 \ libyaml-0-2 \ diff --git a/build/ansible/group_vars/all/mods.yml b/build/ansible/group_vars/all/mods.yml index d154fa4..b977e8f 100644 --- a/build/ansible/group_vars/all/mods.yml +++ b/build/ansible/group_vars/all/mods.yml @@ -1019,6 +1019,45 @@ extensions_available: configure: --enable-uploadprogress vips: disabled: [5.2, 5.3, 5.4, 5.5, 5.6, 8.0] + 7.0: + build_dep: + - fftw-dev + - gobject-introspection + - gtk-doc-tools + - libexif-dev + - libexpat1-dev + - libfftw3-dev + - libgif-dev + - libglib2.0-dev + - libmagick++-dev + - libmagickcore-6.q16-dev + - libmagickwand-dev + - libpoppler-glib-dev + - librsvg2-dev + - libtool + - libwebp-dev + - libwebpdemux2 + - libwebpmux2 + run_dep: + - fftw2 + - gir1.2-poppler-0.18 + - imagemagick-6.q16 + - libexif12 + - libexpat1 + - libfftw3-3 + - libgif7 + - libglib2.0-0 + - libmagick++-6.q16-7 + - libmagick++-6.q16hdri-7 + - libmagickcore-6.q16-3 + - libmagickcore-6.q16-3-extra + - libmagickwand-6.q16-3 + - libmagickwand-6.q16hdri-3 + - libpoppler-glib8 + - librsvg2-2 + - libwebp6 + - libwebpdemux2 + - libwebpmux2 all: type: pecl pre: | From ca6b176620fcfae7c71e4756d5e6420c015a56df Mon Sep 17 00:00:00 2001 From: cytopia Date: Sun, 13 Sep 2020 16:51:19 +0200 Subject: [PATCH 4/8] Fixes #169: Missing locale-gen binary --- CHANGELOG.md | 3 +++ Dockerfiles/work/Dockerfile-5.2 | 1 + Dockerfiles/work/Dockerfile-5.3 | 1 + Dockerfiles/work/Dockerfile-5.4 | 1 + Dockerfiles/work/Dockerfile-5.5 | 1 + Dockerfiles/work/Dockerfile-5.6 | 1 + Dockerfiles/work/Dockerfile-7.0 | 1 + Dockerfiles/work/Dockerfile-7.1 | 1 + Dockerfiles/work/Dockerfile-7.2 | 1 + Dockerfiles/work/Dockerfile-7.3 | 1 + Dockerfiles/work/Dockerfile-7.4 | 1 + Dockerfiles/work/Dockerfile-8.0 | 1 + build/ansible/DOCKERFILES/Dockerfile-work.j2 | 1 + 13 files changed, 15 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8c5d884..5e4679c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,9 @@ ## Release 0.112 +#### Fixed +- Fixes [166](https://github.com/devilbox/docker-php-fpm/issues/166) Missing `locale-gen` binary + #### Added - Added vips extension - Added xlswriter extension diff --git a/Dockerfiles/work/Dockerfile-5.2 b/Dockerfiles/work/Dockerfile-5.2 index b7f42a8..c7a459c 100644 --- a/Dockerfiles/work/Dockerfile-5.2 +++ b/Dockerfiles/work/Dockerfile-5.2 @@ -85,6 +85,7 @@ RUN set -eux \ libffi-dev \ libssl-dev \ libyaml-dev \ + locales \ make \ mongodb-org-shell \ mongodb-org-tools \ diff --git a/Dockerfiles/work/Dockerfile-5.3 b/Dockerfiles/work/Dockerfile-5.3 index 7f48ddd..e79513d 100644 --- a/Dockerfiles/work/Dockerfile-5.3 +++ b/Dockerfiles/work/Dockerfile-5.3 @@ -85,6 +85,7 @@ RUN set -eux \ libffi-dev \ libssl-dev \ libyaml-dev \ + locales \ make \ mongodb-org-shell \ mongodb-org-tools \ diff --git a/Dockerfiles/work/Dockerfile-5.4 b/Dockerfiles/work/Dockerfile-5.4 index 62697aa..74a148b 100644 --- a/Dockerfiles/work/Dockerfile-5.4 +++ b/Dockerfiles/work/Dockerfile-5.4 @@ -85,6 +85,7 @@ RUN set -eux \ libffi-dev \ libssl-dev \ libyaml-dev \ + locales \ make \ mongodb-org-shell \ mongodb-org-tools \ diff --git a/Dockerfiles/work/Dockerfile-5.5 b/Dockerfiles/work/Dockerfile-5.5 index b4875a9..1286a3b 100644 --- a/Dockerfiles/work/Dockerfile-5.5 +++ b/Dockerfiles/work/Dockerfile-5.5 @@ -85,6 +85,7 @@ RUN set -eux \ libffi-dev \ libssl-dev \ libyaml-dev \ + locales \ make \ mongodb-org-shell \ mongodb-org-tools \ diff --git a/Dockerfiles/work/Dockerfile-5.6 b/Dockerfiles/work/Dockerfile-5.6 index 4ee91bb..61d3a0c 100644 --- a/Dockerfiles/work/Dockerfile-5.6 +++ b/Dockerfiles/work/Dockerfile-5.6 @@ -85,6 +85,7 @@ RUN set -eux \ libffi-dev \ libssl-dev \ libyaml-dev \ + locales \ make \ mongodb-org-shell \ mongodb-org-tools \ diff --git a/Dockerfiles/work/Dockerfile-7.0 b/Dockerfiles/work/Dockerfile-7.0 index 93ddaf2..b7ee845 100644 --- a/Dockerfiles/work/Dockerfile-7.0 +++ b/Dockerfiles/work/Dockerfile-7.0 @@ -85,6 +85,7 @@ RUN set -eux \ libffi-dev \ libssl-dev \ libyaml-dev \ + locales \ make \ mongodb-org-shell \ mongodb-org-tools \ diff --git a/Dockerfiles/work/Dockerfile-7.1 b/Dockerfiles/work/Dockerfile-7.1 index b75ac18..3069fa6 100644 --- a/Dockerfiles/work/Dockerfile-7.1 +++ b/Dockerfiles/work/Dockerfile-7.1 @@ -85,6 +85,7 @@ RUN set -eux \ libffi-dev \ libssl-dev \ libyaml-dev \ + locales \ make \ mongodb-org-shell \ mongodb-org-tools \ diff --git a/Dockerfiles/work/Dockerfile-7.2 b/Dockerfiles/work/Dockerfile-7.2 index 758b320..9a6096b 100644 --- a/Dockerfiles/work/Dockerfile-7.2 +++ b/Dockerfiles/work/Dockerfile-7.2 @@ -85,6 +85,7 @@ RUN set -eux \ libffi-dev \ libssl-dev \ libyaml-dev \ + locales \ make \ mongodb-org-shell \ mongodb-org-tools \ diff --git a/Dockerfiles/work/Dockerfile-7.3 b/Dockerfiles/work/Dockerfile-7.3 index 17bebde..c9a1ab8 100644 --- a/Dockerfiles/work/Dockerfile-7.3 +++ b/Dockerfiles/work/Dockerfile-7.3 @@ -85,6 +85,7 @@ RUN set -eux \ libffi-dev \ libssl-dev \ libyaml-dev \ + locales \ make \ mongodb-org-shell \ mongodb-org-tools \ diff --git a/Dockerfiles/work/Dockerfile-7.4 b/Dockerfiles/work/Dockerfile-7.4 index 4335ab1..4322b49 100644 --- a/Dockerfiles/work/Dockerfile-7.4 +++ b/Dockerfiles/work/Dockerfile-7.4 @@ -85,6 +85,7 @@ RUN set -eux \ libffi-dev \ libssl-dev \ libyaml-dev \ + locales \ make \ mongodb-org-shell \ mongodb-org-tools \ diff --git a/Dockerfiles/work/Dockerfile-8.0 b/Dockerfiles/work/Dockerfile-8.0 index 20a35e4..cc45986 100644 --- a/Dockerfiles/work/Dockerfile-8.0 +++ b/Dockerfiles/work/Dockerfile-8.0 @@ -85,6 +85,7 @@ RUN set -eux \ libffi-dev \ libssl-dev \ libyaml-dev \ + locales \ make \ mongodb-org-shell \ mongodb-org-tools \ diff --git a/build/ansible/DOCKERFILES/Dockerfile-work.j2 b/build/ansible/DOCKERFILES/Dockerfile-work.j2 index 6d36a7d..a31331d 100644 --- a/build/ansible/DOCKERFILES/Dockerfile-work.j2 +++ b/build/ansible/DOCKERFILES/Dockerfile-work.j2 @@ -101,6 +101,7 @@ RUN set -eux \ libffi-dev \ libssl-dev \ libyaml-dev \ + locales \ make \ mongodb-org-shell \ mongodb-org-tools \ From 6a49ffce10e7db6f4c3caf3b000f67b48e783fa9 Mon Sep 17 00:00:00 2001 From: cytopia Date: Tue, 15 Sep 2020 15:46:48 +0200 Subject: [PATCH 5/8] Adjust workflows --- .github/workflows/php-ci.yml | 9 +-- .github/workflows/php-nightly.yml | 30 +++++----- .github/workflows/schedule.yml | 97 ------------------------------- .travis.yml | 8 --- 4 files changed, 17 insertions(+), 127 deletions(-) delete mode 100644 .github/workflows/schedule.yml diff --git a/.github/workflows/php-ci.yml b/.github/workflows/php-ci.yml index 3f204aa..a17141a 100644 --- a/.github/workflows/php-ci.yml +++ b/.github/workflows/php-ci.yml @@ -62,14 +62,11 @@ jobs: build: - name: "[ ${{ matrix.version }} ]" + name: "[ PHP-${{ matrix.version }} ]" runs-on: ubuntu-latest strategy: fail-fast: False matrix: - # Adding all targets and only run them if they exist. - # Prevents us from forgetting to update this in case - # we add new envs in terragrunt. version: - '5.2' - '5.3' @@ -88,7 +85,7 @@ jobs: # Checkout repository # ------------------------------------------------------------ - name: Checkout repository - uses: actions/checkout@v1 + uses: actions/checkout@v2 - name: Set variables id: vars @@ -105,7 +102,6 @@ jobs: GIT_SLUG="${GITHUB_REF/refs\/heads\//}" fi fi - # Export variable # # https://help.github.com/en/actions/automating-your-workflow-with-github-actions/development-tools-for-github-actions#set-an-environment-variable-set-env echo ::set-env name=GIT_TYPE::${GIT_TYPE} @@ -278,7 +274,6 @@ jobs: # ------------------------------------------------------------ # Push build artifacts # ------------------------------------------------------------ - # Only run this, if the PR was created by the repo owner - name: Publish images (only repo owner) run: | diff --git a/.github/workflows/php-nightly.yml b/.github/workflows/php-nightly.yml index 5cd1121..c10de93 100644 --- a/.github/workflows/php-nightly.yml +++ b/.github/workflows/php-nightly.yml @@ -62,14 +62,11 @@ jobs: build: - name: "[ ${{ matrix.version }} ]" + name: "[ PHP-${{ matrix.version }} (ref: ${{ matrix.refs }}) ]" runs-on: ubuntu-latest strategy: fail-fast: False matrix: - # Adding all targets and only run them if they exist. - # Prevents us from forgetting to update this in case - # we add new envs in terragrunt. version: - '5.2' - '5.3' @@ -82,30 +79,34 @@ jobs: - '7.3' - '7.4' - '8.0' + refs: + - 'master' + - '0.111' + - '0.112' steps: # ------------------------------------------------------------ # Checkout repository # ------------------------------------------------------------ - name: Checkout repository - uses: actions/checkout@v1 + uses: actions/checkout@v2 + with: + fetch-depth: 0 + ref: ${{ matrix.refs }} - name: Set variables id: vars run: | # Set git branch or git tag as slug - if [[ ${GITHUB_REF} =~ ^refs\/tags\/ ]]; then + if [ -n "$( git tag --points-at HEAD )" ]; then GIT_TYPE=TAG - GIT_SLUG="${GITHUB_REF/refs\/tags\//}" - else + GIT SLUG="$( git tag --points-at HEAD )" + elif [ "$( git rev-parse --abbrev-ref HEAD )" != "HEAD" ]; then GIT_TYPE=BRANCH - if [ -n "${GITHUB_HEAD_REF}" ]; then - GIT_SLUG="${GITHUB_HEAD_REF}" - else - GIT_SLUG="${GITHUB_REF/refs\/heads\//}" - fi + GIT SLUG="$( git rev-parse --abbrev-ref HEAD )" + else + false fi - # Export variable # # https://help.github.com/en/actions/automating-your-workflow-with-github-actions/development-tools-for-github-actions#set-an-environment-variable-set-env echo ::set-env name=GIT_TYPE::${GIT_TYPE} @@ -278,7 +279,6 @@ jobs: # ------------------------------------------------------------ # Push build artifacts # ------------------------------------------------------------ - # Only run this, if the PR was created by the repo owner - name: Publish images (only repo owner) run: | diff --git a/.github/workflows/schedule.yml b/.github/workflows/schedule.yml deleted file mode 100644 index 8bc7efc..0000000 --- a/.github/workflows/schedule.yml +++ /dev/null @@ -1,97 +0,0 @@ ---- - -name: schedule - -on: - schedule: - - cron: '*/5 * * * *' - -jobs: - build: - name: "[ PHP-${{ matrix.version }} (ref: ${{ matrix.refs }}) ]" - runs-on: ubuntu-latest - strategy: - fail-fast: False - matrix: - version: - - '5.2' - - '5.3' - - '5.4' - - '5.5' - - '5.6' - - '7.0' - - '7.1' - - '7.2' - - '7.3' - - '7.4' - - '8.0' - refs: - - 'master' - - '0.110' - steps: - - name: Checkout repository - uses: actions/checkout@v2 - with: - fetch-depth: 0 - ref: ${{ matrix.refs }} - - - name: Show git info - run: | - git branch - git log | head - - - name: Set variables - id: vars - run: | - if [ -n "$( git tag --points-at HEAD )" ]; then - GIT_TYPE=TAG - GIT_SLUG="$( git tag --points-at HEAD )" - elif [ "$( git rev-parse --abbrev-ref HEAD )" != "HEAD" ]; then - GIT_TYPE=BRANCH - GIT_SLUG="$( git rev-parse --abbrev-ref HEAD )" - else - false - fi - echo ::set-env name=GIT_TYPE::${GIT_TYPE} - echo ::set-env name=GIT_SLUG::${GIT_SLUG} - - - name: Publish images (only repo owner) - run: | - retry() { - for n in $(seq ${RETRIES}); do - echo "[${n}/${RETRIES}] ${*}"; - if eval "${*}"; then - return 0; - fi; - sleep 10; - done; - return 1; - } - - # Info output - echo "Git Type: ${GIT_TYPE}" - echo "Git Slug: ${GIT_SLUG}" - # Login - echo "retry make login USER= PASS=" - # Push - if [ "${GIT_TYPE}" = "TAG" ]; then - echo "retry make push-base VERSION=${VERSION}-${GIT_SLUG}" - echo "retry make push-mods VERSION=${VERSION}-${GIT_SLUG}" - echo "retry make push-prod VERSION=${VERSION}-${GIT_SLUG}" - echo "retry make push-work VERSION=${VERSION}-${GIT_SLUG}" - else - if [ "${GIT_SLUG}" = "master" ]; then - echo "retry make push-base VERSION=${VERSION}" - echo "retry make push-mods VERSION=${VERSION}" - echo "retry make push-prod VERSION=${VERSION}" - echo "retry make push-work VERSION=${VERSION}" - else - echo "retry make push-base VERSION=${VERSION}-${GIT_SLUG}" - echo "retry make push-mods VERSION=${VERSION}-${GIT_SLUG}" - echo "retry make push-prod VERSION=${VERSION}-${GIT_SLUG}" - echo "retry make push-work VERSION=${VERSION}-${GIT_SLUG}" - fi - fi - env: - VERSION: ${{ matrix.version }} - RETRIES: 5 diff --git a/.travis.yml b/.travis.yml index 4be2175..5a4d6c9 100644 --- a/.travis.yml +++ b/.travis.yml @@ -69,10 +69,6 @@ install: ### Check generation changes, build and test ### before_script: - # Regenerate Dockerfiles and make sure nothing has changed (every stage) - - make gen-dockerfiles - - git diff --quiet || { echo "Build Changes"; git diff; git status; false; } - # Build (multiple tries due to network outages) - retry make build-base VERSION=${PHP} #- retry make test-base VERSION=${PHP} @@ -86,10 +82,6 @@ before_script: - retry make build-work VERSION=${PHP} - retry make test-work VERSION=${PHP} - # Test if PHP modules have changed - - make gen-readme VERSION=${PHP} - - git diff --quiet || { echo "Build Changes"; git diff; git status; false; } - ### ### Push to Dockerhub From 4be4c2ededbfc42e7e027a636bfbe089a9982255 Mon Sep 17 00:00:00 2001 From: cytopia Date: Tue, 15 Sep 2020 18:28:54 +0200 Subject: [PATCH 6/8] More verbose CI output --- .github/workflows/php-ci.yml | 18 ++++++++++++++++++ .github/workflows/php-nightly.yml | 18 ++++++++++++++++++ 2 files changed, 36 insertions(+) diff --git a/.github/workflows/php-ci.yml b/.github/workflows/php-ci.yml index a17141a..69e5d62 100644 --- a/.github/workflows/php-ci.yml +++ b/.github/workflows/php-ci.yml @@ -117,9 +117,11 @@ jobs: for n in $(seq ${RETRIES}); do echo "[${n}/${RETRIES}] ${*}"; if eval "${*}"; then + echo "[SUCC] ${n}/${RETRIES}"; return 0; fi; sleep 10; + echo "[FAIL] ${n}/${RETRIES}"; done; return 1; } @@ -134,9 +136,11 @@ jobs: for n in $(seq ${RETRIES}); do echo "[${n}/${RETRIES}] ${*}"; if eval "${*}"; then + echo "[SUCC] ${n}/${RETRIES}"; return 0; fi; sleep 10; + echo "[FAIL] ${n}/${RETRIES}"; done; return 1; } @@ -155,9 +159,11 @@ jobs: for n in $(seq ${RETRIES}); do echo "[${n}/${RETRIES}] ${*}"; if eval "${*}"; then + echo "[SUCC] ${n}/${RETRIES}"; return 0; fi; sleep 10; + echo "[FAIL] ${n}/${RETRIES}"; done; return 1; } @@ -172,9 +178,11 @@ jobs: for n in $(seq ${RETRIES}); do echo "[${n}/${RETRIES}] ${*}"; if eval "${*}"; then + echo "[SUCC] ${n}/${RETRIES}"; return 0; fi; sleep 10; + echo "[FAIL] ${n}/${RETRIES}"; done; return 1; } @@ -193,9 +201,11 @@ jobs: for n in $(seq ${RETRIES}); do echo "[${n}/${RETRIES}] ${*}"; if eval "${*}"; then + echo "[SUCC] ${n}/${RETRIES}"; return 0; fi; sleep 10; + echo "[FAIL] ${n}/${RETRIES}"; done; return 1; } @@ -210,9 +220,11 @@ jobs: for n in $(seq ${RETRIES}); do echo "[${n}/${RETRIES}] ${*}"; if eval "${*}"; then + echo "[SUCC] ${n}/${RETRIES}"; return 0; fi; sleep 10; + echo "[FAIL] ${n}/${RETRIES}"; done; return 1; } @@ -231,9 +243,11 @@ jobs: for n in $(seq ${RETRIES}); do echo "[${n}/${RETRIES}] ${*}"; if eval "${*}"; then + echo "[SUCC] ${n}/${RETRIES}"; return 0; fi; sleep 10; + echo "[FAIL] ${n}/${RETRIES}"; done; return 1; } @@ -248,9 +262,11 @@ jobs: for n in $(seq ${RETRIES}); do echo "[${n}/${RETRIES}] ${*}"; if eval "${*}"; then + echo "[SUCC] ${n}/${RETRIES}"; return 0; fi; sleep 10; + echo "[FAIL] ${n}/${RETRIES}"; done; return 1; } @@ -281,9 +297,11 @@ jobs: for n in $(seq ${RETRIES}); do echo "[${n}/${RETRIES}] ${*}"; if eval "${*}"; then + echo "[SUCC] ${n}/${RETRIES}"; return 0; fi; sleep 10; + echo "[FAIL] ${n}/${RETRIES}"; done; return 1; } diff --git a/.github/workflows/php-nightly.yml b/.github/workflows/php-nightly.yml index c10de93..513d857 100644 --- a/.github/workflows/php-nightly.yml +++ b/.github/workflows/php-nightly.yml @@ -122,9 +122,11 @@ jobs: for n in $(seq ${RETRIES}); do echo "[${n}/${RETRIES}] ${*}"; if eval "${*}"; then + echo "[SUCC] ${n}/${RETRIES}"; return 0; fi; sleep 10; + echo "[FAIL] ${n}/${RETRIES}"; done; return 1; } @@ -139,9 +141,11 @@ jobs: for n in $(seq ${RETRIES}); do echo "[${n}/${RETRIES}] ${*}"; if eval "${*}"; then + echo "[SUCC] ${n}/${RETRIES}"; return 0; fi; sleep 10; + echo "[FAIL] ${n}/${RETRIES}"; done; return 1; } @@ -160,9 +164,11 @@ jobs: for n in $(seq ${RETRIES}); do echo "[${n}/${RETRIES}] ${*}"; if eval "${*}"; then + echo "[SUCC] ${n}/${RETRIES}"; return 0; fi; sleep 10; + echo "[FAIL] ${n}/${RETRIES}"; done; return 1; } @@ -177,9 +183,11 @@ jobs: for n in $(seq ${RETRIES}); do echo "[${n}/${RETRIES}] ${*}"; if eval "${*}"; then + echo "[SUCC] ${n}/${RETRIES}"; return 0; fi; sleep 10; + echo "[FAIL] ${n}/${RETRIES}"; done; return 1; } @@ -198,9 +206,11 @@ jobs: for n in $(seq ${RETRIES}); do echo "[${n}/${RETRIES}] ${*}"; if eval "${*}"; then + echo "[SUCC] ${n}/${RETRIES}"; return 0; fi; sleep 10; + echo "[FAIL] ${n}/${RETRIES}"; done; return 1; } @@ -215,9 +225,11 @@ jobs: for n in $(seq ${RETRIES}); do echo "[${n}/${RETRIES}] ${*}"; if eval "${*}"; then + echo "[SUCC] ${n}/${RETRIES}"; return 0; fi; sleep 10; + echo "[FAIL] ${n}/${RETRIES}"; done; return 1; } @@ -236,9 +248,11 @@ jobs: for n in $(seq ${RETRIES}); do echo "[${n}/${RETRIES}] ${*}"; if eval "${*}"; then + echo "[SUCC] ${n}/${RETRIES}"; return 0; fi; sleep 10; + echo "[FAIL] ${n}/${RETRIES}"; done; return 1; } @@ -253,9 +267,11 @@ jobs: for n in $(seq ${RETRIES}); do echo "[${n}/${RETRIES}] ${*}"; if eval "${*}"; then + echo "[SUCC] ${n}/${RETRIES}"; return 0; fi; sleep 10; + echo "[FAIL] ${n}/${RETRIES}"; done; return 1; } @@ -286,9 +302,11 @@ jobs: for n in $(seq ${RETRIES}); do echo "[${n}/${RETRIES}] ${*}"; if eval "${*}"; then + echo "[SUCC] ${n}/${RETRIES}"; return 0; fi; sleep 10; + echo "[FAIL] ${n}/${RETRIES}"; done; return 1; } From 42df41937641a52c8658d71ff057a354d8010c48 Mon Sep 17 00:00:00 2001 From: cytopia Date: Tue, 15 Sep 2020 23:25:10 +0200 Subject: [PATCH 7/8] CI: Ensure travis retries during push --- .travis.yml | 58 ++++++++++++++++++++++++++--------------------------- 1 file changed, 29 insertions(+), 29 deletions(-) diff --git a/.travis.yml b/.travis.yml index 5a4d6c9..21ca3f1 100644 --- a/.travis.yml +++ b/.travis.yml @@ -88,44 +88,44 @@ before_script: ### script: - if [ "${TRAVIS_PULL_REQUEST}" == "false" ]; then - make login USERNAME="${DOCKER_USERNAME}" PASSWORD="${DOCKER_PASSWORD}"; + retry make login USERNAME="${DOCKER_USERNAME}" PASSWORD="${DOCKER_PASSWORD}"; if [ "${TRAVIS_BRANCH}" == "master" ]; then echo "Pushing latest"; - make push TAG="${PHP}-base" && - make push TAG="${PHP}-mods" && - make push TAG="${PHP}-prod" && - make push TAG="${PHP}-work"; + retry make push TAG="${PHP}-base" && + retry make push TAG="${PHP}-mods" && + retry make push TAG="${PHP}-prod" && + retry make push TAG="${PHP}-work"; elif [[ ${TRAVIS_BRANCH} =~ ^(release-[.0-9]+)$ ]]; then echo "Pushing branch ${TRAVIS_BRANCH}"; - make tag OLD_TAG="${PHP}-base" NEW_TAG="${PHP}-base-${TRAVIS_BRANCH}" && - make tag OLD_TAG="${PHP}-mods" NEW_TAG="${PHP}-mods-${TRAVIS_BRANCH}" && - make tag OLD_TAG="${PHP}-prod" NEW_TAG="${PHP}-prod-${TRAVIS_BRANCH}" && - make tag OLD_TAG="${PHP}-work" NEW_TAG="${PHP}-work-${TRAVIS_BRANCH}" && - make push TAG="${PHP}-base-${TRAVIS_BRANCH}" && - make push TAG="${PHP}-mods-${TRAVIS_BRANCH}" && - make push TAG="${PHP}-prod-${TRAVIS_BRANCH}" && - make push TAG="${PHP}-work-${TRAVIS_BRANCH}"; + retry make tag OLD_TAG="${PHP}-base" NEW_TAG="${PHP}-base-${TRAVIS_BRANCH}" && + retry make tag OLD_TAG="${PHP}-mods" NEW_TAG="${PHP}-mods-${TRAVIS_BRANCH}" && + retry make tag OLD_TAG="${PHP}-prod" NEW_TAG="${PHP}-prod-${TRAVIS_BRANCH}" && + retry make tag OLD_TAG="${PHP}-work" NEW_TAG="${PHP}-work-${TRAVIS_BRANCH}" && + retry make push TAG="${PHP}-base-${TRAVIS_BRANCH}" && + retry make push TAG="${PHP}-mods-${TRAVIS_BRANCH}" && + retry make push TAG="${PHP}-prod-${TRAVIS_BRANCH}" && + retry make push TAG="${PHP}-work-${TRAVIS_BRANCH}"; elif [ -n "${TRAVIS_TAG}" ]; then echo "Pushing tag ${TRAVIS_TAG}"; - make tag OLD_TAG="${PHP}-base" NEW_TAG="${PHP}-base-${TRAVIS_TAG}" && - make tag OLD_TAG="${PHP}-mods" NEW_TAG="${PHP}-mods-${TRAVIS_TAG}" && - make tag OLD_TAG="${PHP}-prod" NEW_TAG="${PHP}-prod-${TRAVIS_TAG}" && - make tag OLD_TAG="${PHP}-work" NEW_TAG="${PHP}-work-${TRAVIS_TAG}" && - make push TAG="${PHP}-base-${TRAVIS_TAG}" && - make push TAG="${PHP}-mods-${TRAVIS_TAG}" && - make push TAG="${PHP}-prod-${TRAVIS_TAG}" && - make push TAG="${PHP}-work-${TRAVIS_TAG}"; + retry make tag OLD_TAG="${PHP}-base" NEW_TAG="${PHP}-base-${TRAVIS_TAG}" && + retry make tag OLD_TAG="${PHP}-mods" NEW_TAG="${PHP}-mods-${TRAVIS_TAG}" && + retry make tag OLD_TAG="${PHP}-prod" NEW_TAG="${PHP}-prod-${TRAVIS_TAG}" && + retry make tag OLD_TAG="${PHP}-work" NEW_TAG="${PHP}-work-${TRAVIS_TAG}" && + retry make push TAG="${PHP}-base-${TRAVIS_TAG}" && + retry make push TAG="${PHP}-mods-${TRAVIS_TAG}" && + retry make push TAG="${PHP}-prod-${TRAVIS_TAG}" && + retry make push TAG="${PHP}-work-${TRAVIS_TAG}"; elif [ "${TRAVIS_EVENT_TYPE}" = "cron" ]; then if MY_TAG="$( git describe --exact-match "$(git rev-parse HEAD)" 2>/dev/null )"; then echo "Pushing cron tag ${MY_TAG}"; - make tag OLD_TAG="${PHP}-base" NEW_TAG="${PHP}-base-${MY_TAG}" && - make tag OLD_TAG="${PHP}-mods" NEW_TAG="${PHP}-mods-${MY_TAG}" && - make tag OLD_TAG="${PHP}-prod" NEW_TAG="${PHP}-prod-${MY_TAG}" && - make tag OLD_TAG="${PHP}-work" NEW_TAG="${PHP}-work-${MY_TAG}" && - make push TAG="${PHP}-base-${MY_TAG}" && - make push TAG="${PHP}-mods-${MY_TAG}" && - make push TAG="${PHP}-prod-${MY_TAG}" && - make push TAG="${PHP}-work-${MY_TAG}"; + retry make tag OLD_TAG="${PHP}-base" NEW_TAG="${PHP}-base-${MY_TAG}" && + retry make tag OLD_TAG="${PHP}-mods" NEW_TAG="${PHP}-mods-${MY_TAG}" && + retry make tag OLD_TAG="${PHP}-prod" NEW_TAG="${PHP}-prod-${MY_TAG}" && + retry make tag OLD_TAG="${PHP}-work" NEW_TAG="${PHP}-work-${MY_TAG}" && + retry make push TAG="${PHP}-base-${MY_TAG}" && + retry make push TAG="${PHP}-mods-${MY_TAG}" && + retry make push TAG="${PHP}-prod-${MY_TAG}" && + retry make push TAG="${PHP}-work-${MY_TAG}"; fi else echo "Skipping push to dockerhub on normal branches"; From d9b205f2f1522d92b5e18f2bec2a4cbd2280802c Mon Sep 17 00:00:00 2001 From: cytopia Date: Wed, 16 Sep 2020 00:26:27 +0200 Subject: [PATCH 8/8] CI: increase retries --- .github/workflows/php-ci.yml | 36 +++++++++++++++---------------- .github/workflows/php-nightly.yml | 36 +++++++++++++++---------------- 2 files changed, 36 insertions(+), 36 deletions(-) diff --git a/.github/workflows/php-ci.yml b/.github/workflows/php-ci.yml index 69e5d62..7d1f0e4 100644 --- a/.github/workflows/php-ci.yml +++ b/.github/workflows/php-ci.yml @@ -120,7 +120,7 @@ jobs: echo "[SUCC] ${n}/${RETRIES}"; return 0; fi; - sleep 10; + sleep 2; echo "[FAIL] ${n}/${RETRIES}"; done; return 1; @@ -128,7 +128,7 @@ jobs: retry make build-base VERSION=${VERSION} env: VERSION: ${{ matrix.version }} - RETRIES: 5 + RETRIES: 20 - name: Test Base run: | @@ -139,7 +139,7 @@ jobs: echo "[SUCC] ${n}/${RETRIES}"; return 0; fi; - sleep 10; + sleep 2; echo "[FAIL] ${n}/${RETRIES}"; done; return 1; @@ -147,7 +147,7 @@ jobs: retry make test-base VERSION=${VERSION} env: VERSION: ${{ matrix.version }} - RETRIES: 5 + RETRIES: 20 # ------------------------------------------------------------ @@ -162,7 +162,7 @@ jobs: echo "[SUCC] ${n}/${RETRIES}"; return 0; fi; - sleep 10; + sleep 2; echo "[FAIL] ${n}/${RETRIES}"; done; return 1; @@ -170,7 +170,7 @@ jobs: retry make build-mods VERSION=${VERSION} env: VERSION: ${{ matrix.version }} - RETRIES: 5 + RETRIES: 20 - name: Test Mods run: | @@ -181,7 +181,7 @@ jobs: echo "[SUCC] ${n}/${RETRIES}"; return 0; fi; - sleep 10; + sleep 2; echo "[FAIL] ${n}/${RETRIES}"; done; return 1; @@ -189,7 +189,7 @@ jobs: retry make test-mods VERSION=${VERSION} env: VERSION: ${{ matrix.version }} - RETRIES: 5 + RETRIES: 20 # ------------------------------------------------------------ @@ -204,7 +204,7 @@ jobs: echo "[SUCC] ${n}/${RETRIES}"; return 0; fi; - sleep 10; + sleep 2; echo "[FAIL] ${n}/${RETRIES}"; done; return 1; @@ -212,7 +212,7 @@ jobs: retry make build-prod VERSION=${VERSION} env: VERSION: ${{ matrix.version }} - RETRIES: 5 + RETRIES: 20 - name: Test Prod run: | @@ -223,7 +223,7 @@ jobs: echo "[SUCC] ${n}/${RETRIES}"; return 0; fi; - sleep 10; + sleep 2; echo "[FAIL] ${n}/${RETRIES}"; done; return 1; @@ -231,7 +231,7 @@ jobs: retry make test-prod VERSION=${VERSION} env: VERSION: ${{ matrix.version }} - RETRIES: 5 + RETRIES: 20 # ------------------------------------------------------------ @@ -246,7 +246,7 @@ jobs: echo "[SUCC] ${n}/${RETRIES}"; return 0; fi; - sleep 10; + sleep 2; echo "[FAIL] ${n}/${RETRIES}"; done; return 1; @@ -254,7 +254,7 @@ jobs: retry make build-work VERSION=${VERSION} env: VERSION: ${{ matrix.version }} - RETRIES: 5 + RETRIES: 20 - name: Test Work run: | @@ -265,7 +265,7 @@ jobs: echo "[SUCC] ${n}/${RETRIES}"; return 0; fi; - sleep 10; + sleep 2; echo "[FAIL] ${n}/${RETRIES}"; done; return 1; @@ -273,7 +273,7 @@ jobs: retry make test-work VERSION=${VERSION} env: VERSION: ${{ matrix.version }} - RETRIES: 5 + RETRIES: 20 # ------------------------------------------------------------ @@ -300,7 +300,7 @@ jobs: echo "[SUCC] ${n}/${RETRIES}"; return 0; fi; - sleep 10; + sleep 2; echo "[FAIL] ${n}/${RETRIES}"; done; return 1; @@ -334,7 +334,7 @@ jobs: fi env: VERSION: ${{ matrix.version }} - RETRIES: 5 + RETRIES: 20 # https://help.github.com/en/github/automating-your-workflow-with-github-actions/contexts-and-expression-syntax-for-github-actions#functions if: github.event.pull_request.base.repo.id == github.event.pull_request.head.repo.id && ( diff --git a/.github/workflows/php-nightly.yml b/.github/workflows/php-nightly.yml index 513d857..4810a52 100644 --- a/.github/workflows/php-nightly.yml +++ b/.github/workflows/php-nightly.yml @@ -125,7 +125,7 @@ jobs: echo "[SUCC] ${n}/${RETRIES}"; return 0; fi; - sleep 10; + sleep 2; echo "[FAIL] ${n}/${RETRIES}"; done; return 1; @@ -133,7 +133,7 @@ jobs: retry make build-base VERSION=${VERSION} env: VERSION: ${{ matrix.version }} - RETRIES: 5 + RETRIES: 20 - name: Test Base run: | @@ -144,7 +144,7 @@ jobs: echo "[SUCC] ${n}/${RETRIES}"; return 0; fi; - sleep 10; + sleep 2; echo "[FAIL] ${n}/${RETRIES}"; done; return 1; @@ -152,7 +152,7 @@ jobs: retry make test-base VERSION=${VERSION} env: VERSION: ${{ matrix.version }} - RETRIES: 5 + RETRIES: 20 # ------------------------------------------------------------ @@ -167,7 +167,7 @@ jobs: echo "[SUCC] ${n}/${RETRIES}"; return 0; fi; - sleep 10; + sleep 2; echo "[FAIL] ${n}/${RETRIES}"; done; return 1; @@ -175,7 +175,7 @@ jobs: retry make build-mods VERSION=${VERSION} env: VERSION: ${{ matrix.version }} - RETRIES: 5 + RETRIES: 20 - name: Test Mods run: | @@ -186,7 +186,7 @@ jobs: echo "[SUCC] ${n}/${RETRIES}"; return 0; fi; - sleep 10; + sleep 2; echo "[FAIL] ${n}/${RETRIES}"; done; return 1; @@ -194,7 +194,7 @@ jobs: retry make test-mods VERSION=${VERSION} env: VERSION: ${{ matrix.version }} - RETRIES: 5 + RETRIES: 20 # ------------------------------------------------------------ @@ -209,7 +209,7 @@ jobs: echo "[SUCC] ${n}/${RETRIES}"; return 0; fi; - sleep 10; + sleep 2; echo "[FAIL] ${n}/${RETRIES}"; done; return 1; @@ -217,7 +217,7 @@ jobs: retry make build-prod VERSION=${VERSION} env: VERSION: ${{ matrix.version }} - RETRIES: 5 + RETRIES: 20 - name: Test Prod run: | @@ -228,7 +228,7 @@ jobs: echo "[SUCC] ${n}/${RETRIES}"; return 0; fi; - sleep 10; + sleep 2; echo "[FAIL] ${n}/${RETRIES}"; done; return 1; @@ -236,7 +236,7 @@ jobs: retry make test-prod VERSION=${VERSION} env: VERSION: ${{ matrix.version }} - RETRIES: 5 + RETRIES: 20 # ------------------------------------------------------------ @@ -251,7 +251,7 @@ jobs: echo "[SUCC] ${n}/${RETRIES}"; return 0; fi; - sleep 10; + sleep 2; echo "[FAIL] ${n}/${RETRIES}"; done; return 1; @@ -259,7 +259,7 @@ jobs: retry make build-work VERSION=${VERSION} env: VERSION: ${{ matrix.version }} - RETRIES: 5 + RETRIES: 20 - name: Test Work run: | @@ -270,7 +270,7 @@ jobs: echo "[SUCC] ${n}/${RETRIES}"; return 0; fi; - sleep 10; + sleep 2; echo "[FAIL] ${n}/${RETRIES}"; done; return 1; @@ -278,7 +278,7 @@ jobs: retry make test-work VERSION=${VERSION} env: VERSION: ${{ matrix.version }} - RETRIES: 5 + RETRIES: 20 # ------------------------------------------------------------ @@ -305,7 +305,7 @@ jobs: echo "[SUCC] ${n}/${RETRIES}"; return 0; fi; - sleep 10; + sleep 2; echo "[FAIL] ${n}/${RETRIES}"; done; return 1; @@ -339,7 +339,7 @@ jobs: fi env: VERSION: ${{ matrix.version }} - RETRIES: 5 + RETRIES: 20 # https://help.github.com/en/github/automating-your-workflow-with-github-actions/contexts-and-expression-syntax-for-github-actions#functions if: github.event.pull_request.base.repo.id == github.event.pull_request.head.repo.id && (