From 53ef8e8f978f5696f3c366ac993df8fa0923b16f Mon Sep 17 00:00:00 2001 From: Eldad Fux Date: Wed, 1 Nov 2023 19:25:05 -0400 Subject: [PATCH 1/7] Upgrade to PHP 8.2 --- Dockerfile | 44 +++++++++++++++++++++++--------------------- 1 file changed, 23 insertions(+), 21 deletions(-) diff --git a/Dockerfile b/Dockerfile index a3374d9..ea3b4f6 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM php:8.0.30-cli-alpine3.16 as compile +FROM php:8.2.6-cli-alpine3.18 as compile ENV PHP_REDIS_VERSION="5.3.7" \ PHP_MONGODB_VERSION="1.16.1" \ @@ -14,6 +14,7 @@ ENV PHP_REDIS_VERSION="5.3.7" \ RUN \ apk add --no-cache --virtual .deps \ + linux-headers \ make \ automake \ autoconf \ @@ -53,14 +54,14 @@ RUN \ cd .. ## Swoole Debugger setup -RUN cd /tmp && \ - apk add boost-dev && \ - git clone --depth 1 https://github.com/swoole/yasd && \ - cd yasd && \ - phpize && \ - ./configure && \ - make && make install && \ - cd ..; +# RUN cd /tmp && \ +# apk add boost-dev && \ +# git clone --depth 1 https://github.com/swoole/yasd && \ +# cd yasd && \ +# phpize && \ +# ./configure && \ +# make && make install && \ +# cd ..; ## Imagick Extension FROM compile AS imagick @@ -145,7 +146,7 @@ RUN git clone --depth 1 https://github.com/DomBlack/php-scrypt.git \ && ./configure --enable-scrypt \ && make && make install -FROM php:8.0.30-cli-alpine3.16 as final +FROM php:8.2.6-cli-alpine3.18 as final LABEL maintainer="team@appwrite.io" @@ -161,6 +162,7 @@ RUN set -ex \ RUN \ apk update \ && apk add --no-cache --virtual .deps \ + linux-headers \ make \ automake \ autoconf \ @@ -192,17 +194,17 @@ RUN \ WORKDIR /usr/src/code -COPY --from=swoole /usr/local/lib/php/extensions/no-debug-non-zts-20200930/swoole.so /usr/local/lib/php/extensions/no-debug-non-zts-20200930/yasd.so* /usr/local/lib/php/extensions/no-debug-non-zts-20200930/ -COPY --from=redis /usr/local/lib/php/extensions/no-debug-non-zts-20200930/redis.so /usr/local/lib/php/extensions/no-debug-non-zts-20200930/ -COPY --from=imagick /usr/local/lib/php/extensions/no-debug-non-zts-20200930/imagick.so /usr/local/lib/php/extensions/no-debug-non-zts-20200930/ -COPY --from=yaml /usr/local/lib/php/extensions/no-debug-non-zts-20200930/yaml.so /usr/local/lib/php/extensions/no-debug-non-zts-20200930/ -COPY --from=maxmind /usr/local/lib/php/extensions/no-debug-non-zts-20200930/maxminddb.so /usr/local/lib/php/extensions/no-debug-non-zts-20200930/ -COPY --from=mongodb /usr/local/lib/php/extensions/no-debug-non-zts-20200930/mongodb.so /usr/local/lib/php/extensions/no-debug-non-zts-20200930/ -COPY --from=scrypt /usr/local/lib/php/extensions/no-debug-non-zts-20200930/scrypt.so /usr/local/lib/php/extensions/no-debug-non-zts-20200930/ -COPY --from=zstd /usr/local/lib/php/extensions/no-debug-non-zts-20200930/zstd.so /usr/local/lib/php/extensions/no-debug-non-zts-20200930/ -COPY --from=brotli /usr/local/lib/php/extensions/no-debug-non-zts-20200930/brotli.so /usr/local/lib/php/extensions/no-debug-non-zts-20200930/ -COPY --from=lz4 /usr/local/lib/php/extensions/no-debug-non-zts-20200930/lz4.so /usr/local/lib/php/extensions/no-debug-non-zts-20200930/ -COPY --from=snappy /usr/local/lib/php/extensions/no-debug-non-zts-20200930/snappy.so /usr/local/lib/php/extensions/no-debug-non-zts-20200930/ +COPY --from=swoole /usr/local/lib/php/extensions/no-debug-non-zts-20220829/swoole.so /usr/local/lib/php/extensions/no-debug-non-zts-20220829/ +COPY --from=redis /usr/local/lib/php/extensions/no-debug-non-zts-20220829/redis.so /usr/local/lib/php/extensions/no-debug-non-zts-20220829/ +COPY --from=imagick /usr/local/lib/php/extensions/no-debug-non-zts-20220829/imagick.so /usr/local/lib/php/extensions/no-debug-non-zts-20220829/ +COPY --from=yaml /usr/local/lib/php/extensions/no-debug-non-zts-20220829/yaml.so /usr/local/lib/php/extensions/no-debug-non-zts-20220829/ +COPY --from=maxmind /usr/local/lib/php/extensions/no-debug-non-zts-20220829/maxminddb.so /usr/local/lib/php/extensions/no-debug-non-zts-20220829/ +COPY --from=mongodb /usr/local/lib/php/extensions/no-debug-non-zts-20220829/mongodb.so /usr/local/lib/php/extensions/no-debug-non-zts-20220829/ +COPY --from=scrypt /usr/local/lib/php/extensions/no-debug-non-zts-20220829/scrypt.so /usr/local/lib/php/extensions/no-debug-non-zts-20220829/ +COPY --from=zstd /usr/local/lib/php/extensions/no-debug-non-zts-20220829/zstd.so /usr/local/lib/php/extensions/no-debug-non-zts-20220829/ +COPY --from=brotli /usr/local/lib/php/extensions/no-debug-non-zts-20220829/brotli.so /usr/local/lib/php/extensions/no-debug-non-zts-20220829/ +COPY --from=lz4 /usr/local/lib/php/extensions/no-debug-non-zts-20220829/lz4.so /usr/local/lib/php/extensions/no-debug-non-zts-20220829/ +COPY --from=snappy /usr/local/lib/php/extensions/no-debug-non-zts-20220829/snappy.so /usr/local/lib/php/extensions/no-debug-non-zts-20220829/ # Enable Extensions RUN echo extension=swoole.so >> /usr/local/etc/php/conf.d/swoole.ini From af77b53561772912a7901e8dda305b3a59c2491a Mon Sep 17 00:00:00 2001 From: Eldad Fux Date: Wed, 1 Nov 2023 19:38:48 -0400 Subject: [PATCH 2/7] Hide yasd test --- tests.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tests.yaml b/tests.yaml index c20d728..95025b8 100644 --- a/tests.yaml +++ b/tests.yaml @@ -5,9 +5,9 @@ fileExistenceTests: - name: 'Check swoole extension' path: /usr/local/lib/php/extensions/no-debug-non-zts-20200930/swoole.so shouldExist: true - - name: 'Check swoole Debugger extension' - path: /usr/local/lib/php/extensions/no-debug-non-zts-20200930/yasd.so - shouldExist: true + # - name: 'Check swoole Debugger extension' + # path: /usr/local/lib/php/extensions/no-debug-non-zts-20200930/yasd.so + # shouldExist: true - name: 'Check redis extension' path: /usr/local/lib/php/extensions/no-debug-non-zts-20200930/redis.so shouldExist: true From 2431d907470d65acc6ed89a05e527f0e44547c3f Mon Sep 17 00:00:00 2001 From: Eldad Fux Date: Wed, 1 Nov 2023 19:54:37 -0400 Subject: [PATCH 3/7] Fixed tests --- tests.yaml | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/tests.yaml b/tests.yaml index 95025b8..460a6fa 100644 --- a/tests.yaml +++ b/tests.yaml @@ -3,40 +3,40 @@ schemaVersion: '2.0.0' fileExistenceTests: ## Extension files - name: 'Check swoole extension' - path: /usr/local/lib/php/extensions/no-debug-non-zts-20200930/swoole.so + path: /usr/local/lib/php/extensions/no-debug-non-zts-20220829/swoole.so shouldExist: true # - name: 'Check swoole Debugger extension' - # path: /usr/local/lib/php/extensions/no-debug-non-zts-20200930/yasd.so + # path: /usr/local/lib/php/extensions/no-debug-non-zts-20220829/yasd.so # shouldExist: true - name: 'Check redis extension' - path: /usr/local/lib/php/extensions/no-debug-non-zts-20200930/redis.so + path: /usr/local/lib/php/extensions/no-debug-non-zts-20220829/redis.so shouldExist: true - name: 'Check imagick extension' - path: /usr/local/lib/php/extensions/no-debug-non-zts-20200930/imagick.so + path: /usr/local/lib/php/extensions/no-debug-non-zts-20220829/imagick.so shouldExist: true - name: 'Check yaml extension' - path: /usr/local/lib/php/extensions/no-debug-non-zts-20200930/yaml.so + path: /usr/local/lib/php/extensions/no-debug-non-zts-20220829/yaml.so shouldExist: true - name: 'Check maxminddb extension' - path: /usr/local/lib/php/extensions/no-debug-non-zts-20200930/maxminddb.so + path: /usr/local/lib/php/extensions/no-debug-non-zts-20220829/maxminddb.so shouldExist: true - name: 'Check mongodb extension' - path: /usr/local/lib/php/extensions/no-debug-non-zts-20200930/mongodb.so + path: /usr/local/lib/php/extensions/no-debug-non-zts-20220829/mongodb.so shouldExist: true - name: 'Check scrypt extension' - path: /usr/local/lib/php/extensions/no-debug-non-zts-20200930/scrypt.so + path: /usr/local/lib/php/extensions/no-debug-non-zts-20220829/scrypt.so shouldExist: true - name: 'Check zstd extension' - path: /usr/local/lib/php/extensions/no-debug-non-zts-20200930/zstd.so + path: /usr/local/lib/php/extensions/no-debug-non-zts-20220829/zstd.so shouldExist: true - name: 'Check brotli extension' - path: /usr/local/lib/php/extensions/no-debug-non-zts-20200930/brotli.so + path: /usr/local/lib/php/extensions/no-debug-non-zts-20220829/brotli.so shouldExist: true - name: 'Check lz4 extension' - path: /usr/local/lib/php/extensions/no-debug-non-zts-20200930/lz4.so + path: /usr/local/lib/php/extensions/no-debug-non-zts-20220829/lz4.so shouldExist: true - name: 'Check snappy extension' - path: /usr/local/lib/php/extensions/no-debug-non-zts-20200930/snappy.so + path: /usr/local/lib/php/extensions/no-debug-non-zts-20220829/snappy.so shouldExist: true ## ini files From eef84244b97f355a2a9a1d3fc96ce03830c85af9 Mon Sep 17 00:00:00 2001 From: Eldad Fux Date: Wed, 1 Nov 2023 20:09:14 -0400 Subject: [PATCH 4/7] Fixed tests --- tests.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests.yaml b/tests.yaml index 460a6fa..004da4a 100644 --- a/tests.yaml +++ b/tests.yaml @@ -115,11 +115,11 @@ commandTests: - name: 'Certbot command' command: "certbot" args: ["--version"] - expectedOutput: ["certbot 1.*"] + expectedOutput: ["certbot 2.*"] - name: 'Docker command' command: "docker" args: ["--version"] - expectedOutput: ["Docker version 20.*"] + expectedOutput: ["Docker version 23.*"] - name: 'PHP info' command: "php" args: ["-m"] From 3d73067a687d676e005da626ac8b6391f78e77fa Mon Sep 17 00:00:00 2001 From: Eldad Fux Date: Wed, 1 Nov 2023 20:20:18 -0400 Subject: [PATCH 5/7] Fixed tests --- tests.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests.yaml b/tests.yaml index 004da4a..32e59e1 100644 --- a/tests.yaml +++ b/tests.yaml @@ -107,7 +107,7 @@ commandTests: - name: 'Imagemagick command' command: "magick" args: ["--version"] - expectedOutput: [".*ImageMagick 7.1.0-50.*"] + expectedOutput: [".*ImageMagick 7.1.*"] - name: 'rsync command' command: "rsync" args: ["--version"] From eba72666e43815201cc72a6d86a38807c41469e1 Mon Sep 17 00:00:00 2001 From: Eldad Fux Date: Wed, 1 Nov 2023 20:48:05 -0400 Subject: [PATCH 6/7] Fix yasd test --- Dockerfile | 18 ++++++++++-------- tests.yaml | 6 +++--- 2 files changed, 13 insertions(+), 11 deletions(-) diff --git a/Dockerfile b/Dockerfile index ea3b4f6..0840d22 100644 --- a/Dockerfile +++ b/Dockerfile @@ -54,14 +54,14 @@ RUN \ cd .. ## Swoole Debugger setup -# RUN cd /tmp && \ -# apk add boost-dev && \ -# git clone --depth 1 https://github.com/swoole/yasd && \ -# cd yasd && \ -# phpize && \ -# ./configure && \ -# make && make install && \ -# cd ..; +RUN cd /tmp && \ + apk add boost-dev && \ + git clone --depth 1 https://github.com/swoole/yasd && \ + cd yasd && \ + phpize && \ + ./configure && \ + make && make install && \ + cd ..; ## Imagick Extension FROM compile AS imagick @@ -195,6 +195,7 @@ RUN \ WORKDIR /usr/src/code COPY --from=swoole /usr/local/lib/php/extensions/no-debug-non-zts-20220829/swoole.so /usr/local/lib/php/extensions/no-debug-non-zts-20220829/ +COPY --from=swoole /usr/local/lib/php/extensions/no-debug-non-zts-20220829/yasd.so /usr/local/lib/php/extensions/no-debug-non-zts-20220829/ COPY --from=redis /usr/local/lib/php/extensions/no-debug-non-zts-20220829/redis.so /usr/local/lib/php/extensions/no-debug-non-zts-20220829/ COPY --from=imagick /usr/local/lib/php/extensions/no-debug-non-zts-20220829/imagick.so /usr/local/lib/php/extensions/no-debug-non-zts-20220829/ COPY --from=yaml /usr/local/lib/php/extensions/no-debug-non-zts-20220829/yaml.so /usr/local/lib/php/extensions/no-debug-non-zts-20220829/ @@ -208,6 +209,7 @@ COPY --from=snappy /usr/local/lib/php/extensions/no-debug-non-zts-20220829/snapp # Enable Extensions RUN echo extension=swoole.so >> /usr/local/etc/php/conf.d/swoole.ini +RUN echo extension=yasd.so >> /usr/local/etc/php/conf.d/yasd.ini RUN echo extension=redis.so >> /usr/local/etc/php/conf.d/redis.ini RUN echo extension=imagick.so >> /usr/local/etc/php/conf.d/imagick.ini RUN echo extension=yaml.so >> /usr/local/etc/php/conf.d/yaml.ini diff --git a/tests.yaml b/tests.yaml index 32e59e1..5f90e1c 100644 --- a/tests.yaml +++ b/tests.yaml @@ -5,9 +5,9 @@ fileExistenceTests: - name: 'Check swoole extension' path: /usr/local/lib/php/extensions/no-debug-non-zts-20220829/swoole.so shouldExist: true - # - name: 'Check swoole Debugger extension' - # path: /usr/local/lib/php/extensions/no-debug-non-zts-20220829/yasd.so - # shouldExist: true + - name: 'Check swoole Debugger extension' + path: /usr/local/lib/php/extensions/no-debug-non-zts-20220829/yasd.so + shouldExist: true - name: 'Check redis extension' path: /usr/local/lib/php/extensions/no-debug-non-zts-20220829/redis.so shouldExist: true From c5cb10afbd69d87f7b8066baa417c22eab535d2f Mon Sep 17 00:00:00 2001 From: Eldad Fux Date: Wed, 1 Nov 2023 21:09:52 -0400 Subject: [PATCH 7/7] Removed Yasd, xdebug should be supported for latest Swoole --- Dockerfile | 12 ------------ tests.yaml | 3 --- 2 files changed, 15 deletions(-) diff --git a/Dockerfile b/Dockerfile index 0840d22..f137932 100644 --- a/Dockerfile +++ b/Dockerfile @@ -53,16 +53,6 @@ RUN \ make && make install && \ cd .. -## Swoole Debugger setup -RUN cd /tmp && \ - apk add boost-dev && \ - git clone --depth 1 https://github.com/swoole/yasd && \ - cd yasd && \ - phpize && \ - ./configure && \ - make && make install && \ - cd ..; - ## Imagick Extension FROM compile AS imagick RUN \ @@ -195,7 +185,6 @@ RUN \ WORKDIR /usr/src/code COPY --from=swoole /usr/local/lib/php/extensions/no-debug-non-zts-20220829/swoole.so /usr/local/lib/php/extensions/no-debug-non-zts-20220829/ -COPY --from=swoole /usr/local/lib/php/extensions/no-debug-non-zts-20220829/yasd.so /usr/local/lib/php/extensions/no-debug-non-zts-20220829/ COPY --from=redis /usr/local/lib/php/extensions/no-debug-non-zts-20220829/redis.so /usr/local/lib/php/extensions/no-debug-non-zts-20220829/ COPY --from=imagick /usr/local/lib/php/extensions/no-debug-non-zts-20220829/imagick.so /usr/local/lib/php/extensions/no-debug-non-zts-20220829/ COPY --from=yaml /usr/local/lib/php/extensions/no-debug-non-zts-20220829/yaml.so /usr/local/lib/php/extensions/no-debug-non-zts-20220829/ @@ -209,7 +198,6 @@ COPY --from=snappy /usr/local/lib/php/extensions/no-debug-non-zts-20220829/snapp # Enable Extensions RUN echo extension=swoole.so >> /usr/local/etc/php/conf.d/swoole.ini -RUN echo extension=yasd.so >> /usr/local/etc/php/conf.d/yasd.ini RUN echo extension=redis.so >> /usr/local/etc/php/conf.d/redis.ini RUN echo extension=imagick.so >> /usr/local/etc/php/conf.d/imagick.ini RUN echo extension=yaml.so >> /usr/local/etc/php/conf.d/yaml.ini diff --git a/tests.yaml b/tests.yaml index 5f90e1c..bc0bce8 100644 --- a/tests.yaml +++ b/tests.yaml @@ -5,9 +5,6 @@ fileExistenceTests: - name: 'Check swoole extension' path: /usr/local/lib/php/extensions/no-debug-non-zts-20220829/swoole.so shouldExist: true - - name: 'Check swoole Debugger extension' - path: /usr/local/lib/php/extensions/no-debug-non-zts-20220829/yasd.so - shouldExist: true - name: 'Check redis extension' path: /usr/local/lib/php/extensions/no-debug-non-zts-20220829/redis.so shouldExist: true