Update PHP CI images

This commit is contained in:
Philipp Holzer 2021-05-13 22:41:58 +02:00
parent 8175871572
commit 1f16fe6003
No known key found for this signature in database
GPG key ID: 9A28B7D4FF5667BD
5 changed files with 96 additions and 6 deletions

View file

@ -1,20 +1,30 @@
FROM debian:jessie
FROM debian:buster
# install the PHP extensions we need
# see https://friendi.ca/resources/requirements/
RUN set -ex; \
apt-get update; \
apt-get install -y wget gnupg2 libzip2 apt-transport-https lsb-release ca-certificates; \
DEBIAN_FRONTEND=noninteractive apt-get install -q -y wget gnupg2 apt-transport-https lsb-release ca-certificates; \
wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg; \
echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list; \
apt-get update; \
apt-get install -y php7.3-gd git curl openssl \
DEBIAN_FRONTEND=noninteractive apt-get install -q -y php7.3-gd git curl openssl \
php7.3-cli php7.3-curl php7.3-mysql wget make \
php7.3-redis php7.3-memcached php7.3-memcache php7.3-json \
php7.3-apcu php7.3-xdebug php7.3-xml php7.3-zip php7.3-dev php7.3-mbstring \
; \
php7.3-apcu php7.3-xdebug php7.3-xml php7.3-zip php7.3-dev php7.3-mbstring; \
apt-get autoremove -y; apt-get autoclean; apt-get clean; \
rm -rf /tmp/* /var/tmp/* /var/lib/apt/lists/*;
RUN phpenmod curl pdo pdo_mysql xml gd zip opcache mbstring posix ctype json iconv pcntl openssl
RUN set -ex; \
curl -O -L https://phar.phpunit.de/phpunit-8.phar; \
chmod +x phpunit-8.phar; \
mv phpunit-8.phar /usr/local/bin/phpunit;
RUN set -ex; \
curl -O -L https://getcomposer.org/download/1.6.2/composer.phar; \
chmod +x composer.phar; \
mv composer.phar /usr/local/bin/composer;
RUN phpdismod xdebug
ADD php.ini /etc/php/7.1/cli/conf.d/friendica.ini
ADD php.ini /etc/php/7.3/cli/conf.d/friendica.ini

30
php7.4/Dockerfile Normal file
View file

@ -0,0 +1,30 @@
FROM debian:buster
# install the PHP extensions we need
# see https://friendi.ca/resources/requirements/
RUN set -ex; \
apt-get update; \
DEBIAN_FRONTEND=noninteractive apt-get install -q -y wget gnupg2 apt-transport-https lsb-release ca-certificates; \
wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg; \
echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list; \
apt-get update; \
DEBIAN_FRONTEND=noninteractive apt-get install -q -y php7.4-gd git curl openssl \
php7.4-cli php7.4-curl php7.4-mysql wget make \
php7.4-redis php7.4-memcached php7.4-memcache php7.4-json \
php7.4-apcu php7.4-xdebug php7.4-xml php7.4-zip php7.4-dev php7.4-mbstring; \
apt-get autoremove -y; apt-get autoclean; apt-get clean; \
rm -rf /tmp/* /var/tmp/* /var/lib/apt/lists/*;
RUN phpenmod curl pdo pdo_mysql xml gd zip opcache mbstring posix ctype json iconv pcntl openssl
RUN set -ex; \
curl -O -L https://phar.phpunit.de/phpunit-8.phar; \
chmod +x phpunit-8.phar; \
mv phpunit-8.phar /usr/local/bin/phpunit;
RUN set -ex; \
curl -O -L https://getcomposer.org/download/1.6.2/composer.phar; \
chmod +x composer.phar; \
mv composer.phar /usr/local/bin/composer;
RUN phpdismod xdebug
ADD php.ini /etc/php/7.4/cli/conf.d/friendica.ini

10
php7.4/php.ini Normal file
View file

@ -0,0 +1,10 @@
memory_limit = 768M
phar.readonly = 0 ; only for building phar files on CI - should be disabled on production environments
; Opcache
opcache.enable=1
opcache.enable_cli=1
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=10000
opcache.memory_consumption=128
opcache.save_comments=1
opcache.revalidate_freq=1

30
php8.0/Dockerfile Normal file
View file

@ -0,0 +1,30 @@
FROM debian:buster
# install the PHP extensions we need
# see https://friendi.ca/resources/requirements/
RUN set -ex; \
apt-get update; \
DEBIAN_FRONTEND=noninteractive apt-get install -q -y wget gnupg2 apt-transport-https lsb-release ca-certificates; \
wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg; \
echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list; \
apt-get update; \
DEBIAN_FRONTEND=noninteractive apt-get install -q -y php8.0-gd git curl openssl \
php8.0-cli php8.0-curl php8.0-mysql wget make \
php8.0-redis php8.0-memcached php8.0-memcache \
php8.0-apcu php8.0-xdebug php8.0-xml php8.0-zip php8.0-dev php8.0-mbstring; \
apt-get autoremove -y; apt-get autoclean; apt-get clean; \
rm -rf /tmp/* /var/tmp/* /var/lib/apt/lists/*;
RUN phpenmod curl pdo pdo_mysql xml gd zip opcache mbstring posix ctype iconv pcntl openssl
RUN set -ex; \
curl -O -L https://phar.phpunit.de/phpunit-9.4.4.phar; \
chmod +x phpunit-9.4.4.phar; \
mv phpunit-9.4.4.phar /usr/local/bin/phpunit;
RUN set -ex; \
curl -O -L https://getcomposer.org/download/1.10.15/composer.phar; \
chmod +x composer.phar; \
mv composer.phar /usr/local/bin/composer;
RUN phpdismod xdebug
ADD php.ini /etc/php/8.0/cli/conf.d/friendica.ini

10
php8.0/php.ini Normal file
View file

@ -0,0 +1,10 @@
memory_limit = 768M
phar.readonly = 0 ; only for building phar files on CI - should be disabled on production environments
; Opcache
opcache.enable=1
opcache.enable_cli=1
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=10000
opcache.memory_consumption=128
opcache.save_comments=1
opcache.revalidate_freq=1