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 6b055411..f2275a2e 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 ff590c89..64e34b5b 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 32214ac8..333bd98f 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 27d93b21..666cb34a 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 a159537b..24f1d878 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 4b01ad6a..6cc83002 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 1356589d..bd9d9c5c 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 f5acc5ab..5a699337 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 c0fbed41..6c87196c 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 a50039ea..05d0811d 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 81d76c48..c6b69a8a 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 0ec85d2e..ae5281c4 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 affc0357..8915b43b 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 421d7d0e..c6fc6e4e 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 a9e00d05..38d3e6d5 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 f2275a2e..8c5d8846 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 bd9d9c5c..439ec168 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 5a699337..4f421f60 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 6c87196c..1e5e4045 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 05d0811d..af258592 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 c6b69a8a..b71d6512 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 8915b43b..5a3f4b41 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 38d3e6d5..d154fa41 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 439ec168..e7c47fc6 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 d154fa41..b977e8fa 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 8c5d8846..5e4679c7 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 b7f42a85..c7a459c4 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 7f48dddd..e79513d2 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 62697aa2..74a148b4 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 b4875a98..1286a3b2 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 4ee91bb3..61d3a0ca 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 93ddaf25..b7ee845e 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 b75ac18c..3069fa66 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 758b3203..9a6096bf 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 17bebded..c9a1ab86 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 4335ab14..4322b493 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 20a35e45..cc459862 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 6d36a7dc..a31331db 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 3f204aa6..a17141a3 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 5cd11211..c10de93f 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 8bc7efc0..00000000 --- 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 4be21751..5a4d6c91 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 a17141a3..69e5d62c 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 c10de93f..513d8574 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 5a4d6c91..21ca3f14 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 69e5d62c..7d1f0e4c 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 513d8574..4810a520 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 && (