From 43df135ca463c11bb54a23bc5a6a012e72b8389d Mon Sep 17 00:00:00 2001 From: Pavel Savushkin Date: Thu, 18 Mar 2021 10:11:30 +0200 Subject: [PATCH 1/4] feat(AMQP extension): normalize installation of AMQP for php-fpm 8.0 Update installation process of AMQP for PHP 8.0 (fpm service) Closes #2891 --- php-fpm/Dockerfile | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/php-fpm/Dockerfile b/php-fpm/Dockerfile index f32e8a7..e1b121f 100644 --- a/php-fpm/Dockerfile +++ b/php-fpm/Dockerfile @@ -381,7 +381,8 @@ ARG INSTALL_AMQP=false RUN if [ ${INSTALL_AMQP} = true ]; then \ # download and install manually, to make sure it's compatible with ampq installed by pecl later # install cmake first - apt-get -y install cmake && \ + apt-get -yqq update && \ + apt-get -yqq install cmake && \ curl -L -o /tmp/rabbitmq-c.tar.gz https://github.com/alanxz/rabbitmq-c/archive/master.tar.gz && \ mkdir -p rabbitmq-c && \ tar -C rabbitmq-c -zxvf /tmp/rabbitmq-c.tar.gz --strip 1 && \ @@ -390,7 +391,11 @@ RUN if [ ${INSTALL_AMQP} = true ]; then \ cmake .. && \ cmake --build . --target install && \ # Install the amqp extension - pecl install amqp && \ + if [ $(php -r "echo PHP_MAJOR_VERSION;") = "8" ]; then \ + printf "\n" | pecl install amqp-1.11.0beta; \ + else \ + printf "\n" | pecl install amqp; \ + fi && \ docker-php-ext-enable amqp && \ # Install the sockets extension docker-php-ext-install sockets \ From 2a953c1a9af7b90b20f0bbcd92e3008b110b4114 Mon Sep 17 00:00:00 2001 From: Pavel Savushkin Date: Fri, 19 Mar 2021 23:03:51 +0200 Subject: [PATCH 2/4] fix(AMQP extension): get it worked for php-worker image We need to be able to build AMQP for php-worker on PHP 7.0: there are some version conflicts. Closes #2891 --- php-worker/Dockerfile | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/php-worker/Dockerfile b/php-worker/Dockerfile index d3f9743..4c21bda 100644 --- a/php-worker/Dockerfile +++ b/php-worker/Dockerfile @@ -214,14 +214,20 @@ RUN if [ ${INSTALL_AUDIOWAVEFORM} = true ]; then \ && make install \ ;fi - # Install AMQP: ARG INSTALL_AMQP=false RUN if [ ${INSTALL_AMQP} = true ]; then \ - apk --update add rabbitmq-c rabbitmq-c-dev && \ - pecl install amqp && \ + apk del -q openssl openssl-dev && \ + apk --update add -q rabbitmq-c rabbitmq-c-dev && \ + if [ $(php -r "echo PHP_MAJOR_VERSION;") = "8" ]; then \ + printf "\n" | pecl install amqp-1.11.0beta; \ + else \ + printf "\n" | pecl install amqp; \ + fi && \ docker-php-ext-enable amqp && \ + apk del -q rabbitmq-c-dev && \ + apk add --update -q openssl openssl-dev && \ docker-php-ext-install sockets \ ;fi From 267b972d17225fae0e9c781a38be4dd7b4ec1dd3 Mon Sep 17 00:00:00 2001 From: Pavel Savushkin Date: Sat, 20 Mar 2021 00:37:43 +0200 Subject: [PATCH 3/4] fix(AMQP extension): remove unnecessary apt update Avoid extra update. Closes #2891 --- php-fpm/Dockerfile | 1 - 1 file changed, 1 deletion(-) diff --git a/php-fpm/Dockerfile b/php-fpm/Dockerfile index e1b121f..472dc85 100644 --- a/php-fpm/Dockerfile +++ b/php-fpm/Dockerfile @@ -381,7 +381,6 @@ ARG INSTALL_AMQP=false RUN if [ ${INSTALL_AMQP} = true ]; then \ # download and install manually, to make sure it's compatible with ampq installed by pecl later # install cmake first - apt-get -yqq update && \ apt-get -yqq install cmake && \ curl -L -o /tmp/rabbitmq-c.tar.gz https://github.com/alanxz/rabbitmq-c/archive/master.tar.gz && \ mkdir -p rabbitmq-c && \ From 3c6cfc8dfd99fd356638fda36256844b9b32e67f Mon Sep 17 00:00:00 2001 From: Pavel Savushkin Date: Sun, 21 Mar 2021 13:41:25 +0200 Subject: [PATCH 4/4] feat(amqp extension): add github actions installation We need to be able to test installation of AMQP with GitHub Actions. --- .github/workflows/main-ci.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/main-ci.yml b/.github/workflows/main-ci.yml index ad44a60..331b4a2 100644 --- a/.github/workflows/main-ci.yml +++ b/.github/workflows/main-ci.yml @@ -1,6 +1,6 @@ name: CI -on: +on: push: branches: '**' tags: '**' @@ -34,7 +34,6 @@ jobs: sed -i -- 's/MAILPARSE=true/MAILPARSE=false/g' .env sed -i -- 's/YAML=true/YAML=false/g' .env sed -i -- 's/MSSQL=true/MSSQL=false/g' .env - sed -i -- 's/AMQP=true/AMQP=false/g' .env sed -i -- 's/MEMCACHED=true/MEMCACHED=false/g' .env sed -i -- 's/OCI8=true/OCI8=false/g' .env sed -i -- 's/IONCUBE=true/IONCUBE=false/g' .env