Commit 538985a4 authored by Anja Leichsenring's avatar Anja Leichsenring
Browse files

Release 3.1.6

parents 2e6904e7 00615766
......@@ -10,6 +10,7 @@ build_php70
build_php71
build_php72
build_php73
build_php74
build_bamboo
build_js
.idea
NAME_BASEIMAGE = typo3gmbh/baseimage
MAJOR_BASEIMAGE=3
MINOR_BASEIMAGE=0
PATCHLEVEL_BASEIMAGE=13
PATCHLEVEL_BASEIMAGE=15
FULLVERSION_BASEIMAGE=$(MAJOR_BASEIMAGE).$(MINOR_BASEIMAGE).$(PATCHLEVEL_BASEIMAGE)
SHORTVERSION_BASEIMAGE=$(MAJOR_BASEIMAGE).$(MINOR_BASEIMAGE)
......@@ -9,70 +9,77 @@ SHORTVERSION_BASEIMAGE=$(MAJOR_BASEIMAGE).$(MINOR_BASEIMAGE)
NAME_PHP53 = typo3gmbh/php53
MAJOR_PHP53=3
MINOR_PHP53=0
PATCHLEVEL_PHP53=13
PATCHLEVEL_PHP53=15
FULLVERSION_PHP53=$(MAJOR_PHP53).$(MINOR_PHP53).$(PATCHLEVEL_PHP53)
SHORTVERSION_PHP53=$(MAJOR_PHP53).$(MINOR_PHP53)
NAME_PHP54 = typo3gmbh/php54
MAJOR_PHP54=3
MINOR_PHP54=0
PATCHLEVEL_PHP54=13
PATCHLEVEL_PHP54=15
FULLVERSION_PHP54=$(MAJOR_PHP54).$(MINOR_PHP54).$(PATCHLEVEL_PHP54)
SHORTVERSION_PHP54=$(MAJOR_PHP54).$(MINOR_PHP54)
NAME_PHP55 = typo3gmbh/php55
MAJOR_PHP55=3
MINOR_PHP55=0
PATCHLEVEL_PHP55=14
PATCHLEVEL_PHP55=16
FULLVERSION_PHP55=$(MAJOR_PHP55).$(MINOR_PHP55).$(PATCHLEVEL_PHP55)
SHORTVERSION_PHP55=$(MAJOR_PHP55).$(MINOR_PHP55)
NAME_PHP56 = typo3gmbh/php56
MAJOR_PHP56=3
MINOR_PHP56=0
PATCHLEVEL_PHP56=14
PATCHLEVEL_PHP56=16
FULLVERSION_PHP56=$(MAJOR_PHP56).$(MINOR_PHP56).$(PATCHLEVEL_PHP56)
SHORTVERSION_PHP56=$(MAJOR_PHP56).$(MINOR_PHP56)
NAME_PHP70 = typo3gmbh/php70
MAJOR_PHP70=3
MINOR_PHP70=0
PATCHLEVEL_PHP70=14
PATCHLEVEL_PHP70=16
FULLVERSION_PHP70=$(MAJOR_PHP70).$(MINOR_PHP70).$(PATCHLEVEL_PHP70)
SHORTVERSION_PHP70=$(MAJOR_PHP70).$(MINOR_PHP70)
NAME_PHP71 = typo3gmbh/php71
MAJOR_PHP71=3
MINOR_PHP71=0
PATCHLEVEL_PHP71=13
PATCHLEVEL_PHP71=15
FULLVERSION_PHP71=$(MAJOR_PHP71).$(MINOR_PHP71).$(PATCHLEVEL_PHP71)
SHORTVERSION_PHP71=$(MAJOR_PHP71).$(MINOR_PHP71)
NAME_PHP72 = typo3gmbh/php72
MAJOR_PHP72=3
MINOR_PHP72=0
PATCHLEVEL_PHP72=13
PATCHLEVEL_PHP72=15
FULLVERSION_PHP72=$(MAJOR_PHP72).$(MINOR_PHP72).$(PATCHLEVEL_PHP72)
SHORTVERSION_PHP72=$(MAJOR_PHP72).$(MINOR_PHP72)
NAME_PHP73 = typo3gmbh/php73
MAJOR_PHP73=3
MINOR_PHP73=0
PATCHLEVEL_PHP73=9
PATCHLEVEL_PHP73=11
FULLVERSION_PHP73=$(MAJOR_PHP73).$(MINOR_PHP73).$(PATCHLEVEL_PHP73)
SHORTVERSION_PHP73=$(MAJOR_PHP73).$(MINOR_PHP73)
NAME_PHP74 = typo3gmbh/php74
MAJOR_PHP74=3
MINOR_PHP74=0
PATCHLEVEL_PHP74=2
FULLVERSION_PHP74=$(MAJOR_PHP74).$(MINOR_PHP74).$(PATCHLEVEL_PHP74)
SHORTVERSION_PHP74=$(MAJOR_PHP74).$(MINOR_PHP74)
NAME_JS = typo3gmbh/js
MAJOR_JS=2
MINOR_JS=0
PATCHLEVEL_JS=0
PATCHLEVEL_JS=1
FULLVERSION_JS=$(MAJOR_JS).$(MINOR_JS).$(PATCHLEVEL_JS)
SHORTVERSION_JS=$(MAJOR_JS).$(MINOR_JS)
NAME_BAMBOO = typo3gmbh/bamboo-remote-agent
MAJOR_BAMBOO=1
MINOR_BAMBOO=0
PATCHLEVEL_BAMBOO=12
PATCHLEVEL_BAMBOO=13
FULLVERSION_BAMBOO=$(MAJOR_BAMBOO).$(MINOR_BAMBOO).$(PATCHLEVEL_BAMBOO)
SHORTVERSION_BAMBOO=$(MAJOR_BAMBOO).$(MINOR_BAMBOO)
......@@ -90,6 +97,7 @@ SHORTVERSION_BAMBOO=$(MAJOR_BAMBOO).$(MINOR_BAMBOO)
build_php71 \
build_php72 \
build_php73 \
build_php74 \
build_js \
build_bamboo \
release \
......@@ -102,6 +110,7 @@ SHORTVERSION_BAMBOO=$(MAJOR_BAMBOO).$(MINOR_BAMBOO)
release_php71 \
release_php72 \
release_php73 \
release_php74 \
release_js \
release_bamboo \
clean \
......@@ -114,6 +123,7 @@ SHORTVERSION_BAMBOO=$(MAJOR_BAMBOO).$(MINOR_BAMBOO)
clean_php71 \
clean_php72 \
clean_php73 \
clean_php74 \
clean_js \
clean_bamboo \
clean_images \
......@@ -126,6 +136,7 @@ SHORTVERSION_BAMBOO=$(MAJOR_BAMBOO).$(MINOR_BAMBOO)
clean_images_php71 \
clean_images_php72 \
clean_images_php73 \
clean_images_php74 \
clean_images_js \
clean_images_bamboo
......@@ -148,7 +159,8 @@ build_php: \
build_php70 \
build_php71 \
build_php72 \
build_php73
build_php73 \
build_php74
release: \
release_baseimage \
......@@ -164,7 +176,8 @@ release_php: \
release_php70 \
release_php71 \
release_php72 \
release_php73
release_php73 \
release_php74
clean: \
clean_baseimage \
......@@ -176,6 +189,7 @@ clean: \
clean_php71 \
clean_php72 \
clean_php73 \
clean_php74 \
clean_bamboo \
clean_js
......@@ -190,6 +204,7 @@ clean_images: \
clean_images_php71 \
clean_images_php72 \
clean_images_php73 \
clean_images_php74 \
clean_images_bamboo \
clean_js
......@@ -411,6 +426,29 @@ clean_images_php73:
docker rmi $(NAME_PHP73):$(FULLVERSION_PHP73) || true
build_php74: build_baseimage
rm -rf build_php74
cp -pR php74 build_php74
docker build -t $(NAME_PHP74):$(FULLVERSION_PHP74) build_php74
docker tag $(NAME_PHP74):$(FULLVERSION_PHP74) $(NAME_PHP74):$(SHORTVERSION_PHP74)
release_php74:
@if ! docker images $(NAME_PHP74) | awk '{ print $$2 }' | grep -q -F $(FULLVERSION_PHP74); then \
echo "$(NAME_PHP74) version $(FULLVERSION_PHP74) is not yet built. Please run 'make build'"; false; \
fi
docker tag $(NAME_PHP74):$(FULLVERSION_PHP74) $(NAME_PHP74):latest
docker push $(NAME_PHP74):latest
docker push $(NAME_PHP74):$(FULLVERSION_PHP74)
docker push $(NAME_PHP74):$(SHORTVERSION_PHP74)
clean_php74:
rm -rf build_php74
clean_images_php74:
docker rmi $(NAME_PHP74):latest || true
docker rmi $(NAME_PHP74):$(SHORTVERSION_PHP74) || true
docker rmi $(NAME_PHP74):$(FULLVERSION_PHP74) || true
build_bamboo: build_baseimage
rm -rf build_bamboo
......
......@@ -69,4 +69,5 @@ packages (eg. younger php versions). To create a new set of containers, these st
this will drastically increase build server load, but reduce time. A 'make -j8 build' would build
8 php containers in parallel, after baseimage has been built.
* 'make release' will add tags and push to docker hub. It will ask for according credentials.
\ No newline at end of file
If it doesn't, but reject the push' run 'docker login docker.io' and log in with the credentials from LastPass.
......@@ -201,5 +201,5 @@ sed -i s/';phar.readonly = On'/'phar.readonly = Off'/ /usr/local/lib/php.ini
sed -i s/';date.timezone ='/'date.timezone = UTC'/ /usr/local/lib/php.ini
# Install composer
curl -sSL https://getcomposer.org/download/1.8.4/composer.phar -o /usr/bin/composer
curl -sSL https://getcomposer.org/download/1.9.1/composer.phar -o /usr/bin/composer
chmod +x /usr/bin/composer
......@@ -203,5 +203,5 @@ sed -i s/';phar.readonly = On'/'phar.readonly = Off'/ /usr/local/lib/php.ini
sed -i s/';date.timezone ='/'date.timezone = UTC'/ /usr/local/lib/php.ini
# Install composer
curl -sSL https://getcomposer.org/download/1.8.4/composer.phar -o /usr/bin/composer
curl -sSL https://getcomposer.org/download/1.9.1/composer.phar -o /usr/bin/composer
chmod +x /usr/bin/composer
......@@ -225,5 +225,5 @@ make && make install
echo 'extension=memcache.so' >> /usr/local/lib/php.ini
# Install composer
curl -sSL https://getcomposer.org/download/1.8.4/composer.phar -o /usr/bin/composer
curl -sSL https://getcomposer.org/download/1.9.1/composer.phar -o /usr/bin/composer
chmod +x /usr/bin/composer
......@@ -295,5 +295,5 @@ php -i | \
grep -v '^$' > /etc/php/cli-no-xdebug/php.ini
# Install composer
curl -sSL https://getcomposer.org/download/1.8.4/composer.phar -o /usr/bin/composer
curl -sSL https://getcomposer.org/download/1.9.1/composer.phar -o /usr/bin/composer
chmod +x /usr/bin/composer
......@@ -303,5 +303,5 @@ php -i | \
grep -v '^$' > /etc/php/cli-no-xdebug/php.ini
# Install composer
curl -sSL https://getcomposer.org/download/1.8.4/composer.phar -o /usr/bin/composer
curl -sSL https://getcomposer.org/download/1.9.1/composer.phar -o /usr/bin/composer
chmod +x /usr/bin/composer
......@@ -89,5 +89,5 @@ php -i | \
grep -v '^$' > /etc/php/cli-no-xdebug/php.ini
# Install composer
curl -sSL https://getcomposer.org/download/1.8.4/composer.phar -o /usr/bin/composer
curl -sSL https://getcomposer.org/download/1.9.1/composer.phar -o /usr/bin/composer
chmod +x /usr/bin/composer
......@@ -88,5 +88,5 @@ php -i | \
grep -v '^$' > /etc/php/cli-no-xdebug/php.ini
# Install composer
curl -sSL https://getcomposer.org/download/1.8.4/composer.phar -o /usr/bin/composer
curl -sSL https://getcomposer.org/download/1.9.1/composer.phar -o /usr/bin/composer
chmod +x /usr/bin/composer
......@@ -88,5 +88,5 @@ php -i | \
grep -v '^$' > /etc/php/cli-no-xdebug/php.ini
# Install composer
curl -sSL https://getcomposer.org/download/1.8.4/composer.phar -o /usr/bin/composer
curl -sSL https://getcomposer.org/download/1.9.1/composer.phar -o /usr/bin/composer
chmod +x /usr/bin/composer
FROM typo3gmbh/baseimage:latest
MAINTAINER TYPO3 GmbH <info@typo3.com>
ADD . /pd_build
RUN /pd_build/enable_repos.sh && \
/pd_build/nodejs.sh && \
/pd_build/php.sh && \
/pd_build/finalize.sh
export LC_ALL=C
export DEBIAN_FRONTEND=noninteractive
function minimal_apt_get_install()
{
if [[ ! -e /var/lib/apt/lists/lock ]]; then
apt-get update
fi
apt-get install -y --no-install-recommends "$@"
}
#!/bin/bash
set -e
source /pd_build/buildconfig
set -x
apt-get update
# ondrej with a php 7.4
echo deb http://ppa.launchpad.net/ondrej/php/ubuntu bionic main > /etc/apt/sources.list.d/php.list
# ondrej key - the recv-keys part takes a bit of time, so it's faster to receive multiple keys at once.
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys \
E5267A6C \
#
# for msodbcsql17 mssql-tools sqlserv
curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add -
curl https://packages.microsoft.com/config/ubuntu/18.04/prod.list > /etc/apt/sources.list.d/mssql-release.list
apt-get update
apt-get -y dist-upgrade
#!/bin/bash
set -e
source /pd_build/buildconfig
set -x
# remove a ton of packages needed for compilation of php modules
apt-get remove -y --purge \
autoconf \
autotools-dev \
file \
libquadmath0 \
libtool \
php7.4-dev \
#
apt-get clean
apt-get -y autoremove
rm -rf \
/var/lib/apt/lists/* \
/root/.npm/ \
/tmp/* \
/var/tmp/* \
/usr/local/src/* \
#
rm -rf /pd_build
#!/bin/bash
set -e
source /pd_build/buildconfig
set -x
# Install Node.js and some packages to successfully compile stuff
minimal_apt_get_install npm nodejs make g++
# And have yarn
npm install -g yarn
# And remove npm again
apt-get remove -y --purge npm
#!/bin/bash
set -e
source /pd_build/buildconfig
set -x
minimal_apt_get_install \
make \
php7.4 \
php7.4-bcmath \
php7.4-bz2 \
php7.4-cli \
php7.4-common \
php7.4-curl \
php7.4-dev \
php7.4-gd \
php7.4-gmp \
php7.4-imap \
php7.4-intl \
php7.4-json \
php7.4-ldap \
php7.4-mbstring \
php7.4-mysql \
php7.4-opcache \
php7.4-pgsql \
php7.4-pspell \
php7.4-readline \
php7.4-soap \
php7.4-sqlite3 \
php7.4-xml \
php7.4-xmlrpc \
php7.4-xsl \
php7.4-zip \
php-apcu \
php-pear \
php-redis \
php-memcached \
php-xdebug \
re2c \
graphicsmagick \
imagemagick \
zip \
unzip \
sqlite3 \
#
# Disable opcache on php 7.4 since that triggers segfaults 'zend_mm_heap corrupted' with vfsStream 1.6.4 (currently)
# Note: Still true?
echo "opcache.enable_cli=0" >> /etc/php/7.4/cli/conf.d/10-opcache.ini
# Enable phar writing
sed -i s/';phar.readonly = On'/'phar.readonly = Off'/ /etc/php/7.4/cli/php.ini
# Restrict cli based php.ini settings for php -S web server to have sane values in acceptance tests
sed -i s/'memory_limit = -1'/'memory_limit = 2G'/ /etc/php/7.4/cli/php.ini
sed -i s/'max_execution_time = 30'/'max_execution_time = 240'/ /etc/php/7.4/cli/php.ini
sed -i s/';max_input_vars = 1000'/'max_input_vars = 1500'/ /etc/php/7.4/cli/php.ini
echo "xdebug.max_nesting_level = 400" >> /etc/php/7.4/mods-available/xdebug.ini
# Enable apc on cli for unit tests
echo "apc.enable_cli=1" >> /etc/php/7.4/mods-available/apcu.ini
echo "apc.slam_defense=0" >> /etc/php/7.4/mods-available/apcu.ini
# mssql driver
ACCEPT_EULA=Y minimal_apt_get_install \
msodbcsql17 \
mssql-tools \
unixodbc-dev \
#
pecl channel-update pecl.php.net
minimal_apt_get_install build-essential
pecl install sqlsrv-5.7.0preview
pecl install pdo_sqlsrv-5.7.0preview
echo extension=sqlsrv.so >> /etc/php/7.4/mods-available/sqlsrv.ini
echo extension=pdo_sqlsrv.so >> /etc/php/7.4/mods-available/pdo_sqlsrv.ini
phpenmod sqlsrv
phpenmod pdo_sqlsrv
# Prepare an additional php.ini file that does *NOT* include xdebug
# can be used with: php -n -c /etc/php/cli-no-xdebug/php.ini
mkdir /etc/php/cli-no-xdebug/
php -i | \
grep "\.ini" | \
grep -o -e '\(/[A-Za-z0-9._-]\+\)\+\.ini' | \
grep -v xdebug | \
xargs awk 'FNR==1{print ""}1' | \
grep -v '^;' | \
grep -v '^$' > /etc/php/cli-no-xdebug/php.ini
# Install composer
curl -sSL https://getcomposer.org/download/1.9.1/composer.phar -o /usr/bin/composer
chmod +x /usr/bin/composer
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment