diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index e47eb26bbd56f0f88f91f834891a1a390a214686..d8d749fcfa8eb4bb9140e4e2aee0d0336c1ae363 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -143,6 +143,24 @@ build-debian-wp-org-deploy-build-dev: except: - master +# PHP 8.4 +build-php-8.4-master: + stage: deploy + script: + - docker build --pull -t "$CI_REGISTRY_IMAGE/php:8.4" ./php/8.4 + - docker push "$CI_REGISTRY_IMAGE/php:8.4" + only: + - master + when: manual + +build-php-8.4-dev: + stage: deploy + script: + - docker build --pull -t "$CI_REGISTRY_IMAGE/php:8.4-dev" ./php/8.4 + - docker push "$CI_REGISTRY_IMAGE/php:8.4-dev" + except: + - master + # PHP 8.3 build-php-8.3-master: stage: deploy diff --git a/php/8.4/Dockerfile b/php/8.4/Dockerfile new file mode 100644 index 0000000000000000000000000000000000000000..2d2d4b3c73a6ab2a39be62a02b44f07f6a04af90 --- /dev/null +++ b/php/8.4/Dockerfile @@ -0,0 +1,46 @@ +FROM php:8.4-bullseye + +LABEL maintainer="ethitter" +LABEL version="1.0" + +RUN apt-get update \ + && apt-get -yqqf install \ + lsb-release \ + zip \ + unzip \ + rsync \ + subversion \ + git \ + libicu-dev \ + libpng-dev \ + libbz2-dev \ + default-libmysqlclient-dev \ + libzip-dev \ + libonig-dev \ + --fix-missing \ + --no-install-recommends \ + && apt-get clean \ + && rm -rf /var/lib/apt/lists/* + +RUN docker-php-ext-install \ + mbstring \ + mysqli \ + intl \ + gd \ + zip \ + bz2 \ + && pecl install xdebug \ + && php -m + +ENV NVM_DIR /usr/local/nvm + +SHELL ["/bin/bash", "-o", "pipefail", "-c"] +RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer \ + && chmod +x /usr/local/bin/composer \ + && composer --version \ + && mkdir $NVM_DIR \ + && curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/master/install.sh | bash \ + && . $NVM_DIR/nvm.sh \ + && nvm --version + +ENV PATH=/root/.composer/vendor/bin:$HOME/.composer/vendor/bin:$PATH