From 473df7a2f5b68c1b3b051d3af0e6b36ee2b35fe8 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 16 Feb 2026 11:19:45 +0000 Subject: [PATCH 1/4] Initial plan From 608cbb9407e9313ce5dc47133004722bfe0526c5 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 16 Feb 2026 11:25:38 +0000 Subject: [PATCH 2/4] Add MongoDB extension (v1.20.1) to all PHP Dockerfiles and tests Co-authored-by: abnegate <5857008+abnegate@users.noreply.github.com> --- php-8.0/Dockerfile | 17 +++++++++++++++-- php-8.0/tests.yaml | 3 +++ php-8.1/Dockerfile | 17 +++++++++++++++-- php-8.1/tests.yaml | 3 +++ php-8.2/Dockerfile | 17 +++++++++++++++-- php-8.2/tests.yaml | 3 +++ php-8.3/Dockerfile | 17 +++++++++++++++-- php-8.3/tests.yaml | 3 +++ php-8.4/Dockerfile | 17 +++++++++++++++-- php-8.4/tests.yaml | 3 +++ tests.yaml | 9 ++++++++- 11 files changed, 98 insertions(+), 11 deletions(-) diff --git a/php-8.0/Dockerfile b/php-8.0/Dockerfile index 9b58ce2..5016b45 100644 --- a/php-8.0/Dockerfile +++ b/php-8.0/Dockerfile @@ -10,7 +10,8 @@ ENV PHP_REDIS_VERSION="6.1.0" \ PHP_BROTLI_VERSION="0.15.0" \ PHP_SNAPPY_VERSION="0.2.2" \ PHP_LZ4_VERSION="0.4.4" \ - PHP_XDEBUG_VERSION="3.4.1" + PHP_XDEBUG_VERSION="3.4.1" \ + PHP_MONGO_VERSION="1.20.1" RUN \ apk add --no-cache --virtual .deps \ @@ -34,7 +35,8 @@ RUN \ zstd-dev \ brotli-dev \ lz4-dev \ - curl-dev + curl-dev \ + cmake RUN docker-php-ext-install sockets @@ -139,6 +141,15 @@ RUN \ ./configure && \ make && make install +## MongoDB Extension +FROM compile AS mongodb +RUN \ + git clone --depth 1 --recursive --branch $PHP_MONGO_VERSION https://github.com/mongodb/mongo-php-driver.git && \ + cd mongo-php-driver && \ + phpize && \ + ./configure && \ + make && make install + FROM php:8.0-cli-alpine AS final LABEL maintainer="team@appwrite.io" @@ -179,6 +190,7 @@ COPY --from=brotli /usr/local/lib/php/extensions/no-debug-non-zts-20200930/brotl 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=xdebug /usr/local/lib/php/extensions/no-debug-non-zts-20200930/xdebug.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/ # Enable Extensions RUN echo extension=swoole.so >> /usr/local/etc/php/conf.d/swoole.ini @@ -190,6 +202,7 @@ RUN echo extension=zstd.so >> /usr/local/etc/php/conf.d/zstd.ini RUN echo extension=brotli.so >> /usr/local/etc/php/conf.d/brotli.ini RUN echo extension=lz4.so >> /usr/local/etc/php/conf.d/lz4.ini RUN echo extension=snappy.so >> /usr/local/etc/php/conf.d/snappy.ini +RUN echo extension=mongodb.so >> /usr/local/etc/php/conf.d/mongodb.ini EXPOSE 80 diff --git a/php-8.0/tests.yaml b/php-8.0/tests.yaml index 7b52755..cbaa6c7 100644 --- a/php-8.0/tests.yaml +++ b/php-8.0/tests.yaml @@ -28,4 +28,7 @@ fileExistenceTests: shouldExist: true - name: 'Check snappy extension' path: /usr/local/lib/php/extensions/no-debug-non-zts-20200930/snappy.so + shouldExist: true + - name: 'Check mongodb extension' + path: /usr/local/lib/php/extensions/no-debug-non-zts-20200930/mongodb.so shouldExist: true \ No newline at end of file diff --git a/php-8.1/Dockerfile b/php-8.1/Dockerfile index f5934e0..14a862c 100644 --- a/php-8.1/Dockerfile +++ b/php-8.1/Dockerfile @@ -10,7 +10,8 @@ ENV PHP_REDIS_VERSION="6.1.0" \ PHP_BROTLI_VERSION="0.15.0" \ PHP_SNAPPY_VERSION="0.2.2" \ PHP_LZ4_VERSION="0.4.4" \ - PHP_XDEBUG_VERSION="3.4.1" + PHP_XDEBUG_VERSION="3.4.1" \ + PHP_MONGO_VERSION="1.20.1" RUN \ apk add --no-cache --virtual .deps \ @@ -34,7 +35,8 @@ RUN \ zstd-dev \ brotli-dev \ lz4-dev \ - curl-dev + curl-dev \ + cmake RUN docker-php-ext-install sockets @@ -139,6 +141,15 @@ RUN \ ./configure && \ make && make install +## MongoDB Extension +FROM compile AS mongodb +RUN \ + git clone --depth 1 --recursive --branch $PHP_MONGO_VERSION https://github.com/mongodb/mongo-php-driver.git && \ + cd mongo-php-driver && \ + phpize && \ + ./configure && \ + make && make install + FROM php:8.1-cli-alpine AS final LABEL maintainer="team@appwrite.io" @@ -179,6 +190,7 @@ COPY --from=brotli /usr/local/lib/php/extensions/no-debug-non-zts-20210902/brotl COPY --from=lz4 /usr/local/lib/php/extensions/no-debug-non-zts-20210902/lz4.so /usr/local/lib/php/extensions/no-debug-non-zts-20210902/ COPY --from=snappy /usr/local/lib/php/extensions/no-debug-non-zts-20210902/snappy.so /usr/local/lib/php/extensions/no-debug-non-zts-20210902/ COPY --from=xdebug /usr/local/lib/php/extensions/no-debug-non-zts-20210902/xdebug.so /usr/local/lib/php/extensions/no-debug-non-zts-20210902/ +COPY --from=mongodb /usr/local/lib/php/extensions/no-debug-non-zts-20210902/mongodb.so /usr/local/lib/php/extensions/no-debug-non-zts-20210902/ # Enable Extensions RUN echo extension=swoole.so >> /usr/local/etc/php/conf.d/swoole.ini @@ -190,6 +202,7 @@ RUN echo extension=zstd.so >> /usr/local/etc/php/conf.d/zstd.ini RUN echo extension=brotli.so >> /usr/local/etc/php/conf.d/brotli.ini RUN echo extension=lz4.so >> /usr/local/etc/php/conf.d/lz4.ini RUN echo extension=snappy.so >> /usr/local/etc/php/conf.d/snappy.ini +RUN echo extension=mongodb.so >> /usr/local/etc/php/conf.d/mongodb.ini EXPOSE 80 diff --git a/php-8.1/tests.yaml b/php-8.1/tests.yaml index 3fe0a30..b9c9925 100644 --- a/php-8.1/tests.yaml +++ b/php-8.1/tests.yaml @@ -28,4 +28,7 @@ fileExistenceTests: shouldExist: true - name: 'Check snappy extension' path: /usr/local/lib/php/extensions/no-debug-non-zts-20210902/snappy.so + shouldExist: true + - name: 'Check mongodb extension' + path: /usr/local/lib/php/extensions/no-debug-non-zts-20210902/mongodb.so shouldExist: true \ No newline at end of file diff --git a/php-8.2/Dockerfile b/php-8.2/Dockerfile index 60dcbc6..77ae806 100644 --- a/php-8.2/Dockerfile +++ b/php-8.2/Dockerfile @@ -10,7 +10,8 @@ ENV PHP_REDIS_VERSION="6.1.0" \ PHP_BROTLI_VERSION="0.15.0" \ PHP_SNAPPY_VERSION="0.2.2" \ PHP_LZ4_VERSION="0.4.4" \ - PHP_XDEBUG_VERSION="3.4.1" + PHP_XDEBUG_VERSION="3.4.1" \ + PHP_MONGO_VERSION="1.20.1" RUN \ apk add --no-cache --virtual .deps \ @@ -34,7 +35,8 @@ RUN \ zstd-dev \ brotli-dev \ lz4-dev \ - curl-dev + curl-dev \ + cmake RUN docker-php-ext-install sockets @@ -139,6 +141,15 @@ RUN \ ./configure && \ make && make install +## MongoDB Extension +FROM compile AS mongodb +RUN \ + git clone --depth 1 --recursive --branch $PHP_MONGO_VERSION https://github.com/mongodb/mongo-php-driver.git && \ + cd mongo-php-driver && \ + phpize && \ + ./configure && \ + make && make install + FROM php:8.2-cli-alpine AS final LABEL maintainer="team@appwrite.io" @@ -179,6 +190,7 @@ COPY --from=brotli /usr/local/lib/php/extensions/no-debug-non-zts-20220829/brotl 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/ COPY --from=xdebug /usr/local/lib/php/extensions/no-debug-non-zts-20220829/xdebug.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/ # Enable Extensions RUN echo extension=swoole.so >> /usr/local/etc/php/conf.d/swoole.ini @@ -190,6 +202,7 @@ RUN echo extension=zstd.so >> /usr/local/etc/php/conf.d/zstd.ini RUN echo extension=brotli.so >> /usr/local/etc/php/conf.d/brotli.ini RUN echo extension=lz4.so >> /usr/local/etc/php/conf.d/lz4.ini RUN echo extension=snappy.so >> /usr/local/etc/php/conf.d/snappy.ini +RUN echo extension=mongodb.so >> /usr/local/etc/php/conf.d/mongodb.ini EXPOSE 80 diff --git a/php-8.2/tests.yaml b/php-8.2/tests.yaml index 83495c0..9b1f136 100644 --- a/php-8.2/tests.yaml +++ b/php-8.2/tests.yaml @@ -28,4 +28,7 @@ fileExistenceTests: shouldExist: true - name: 'Check snappy extension' path: /usr/local/lib/php/extensions/no-debug-non-zts-20220829/snappy.so + shouldExist: true + - name: 'Check mongodb extension' + path: /usr/local/lib/php/extensions/no-debug-non-zts-20220829/mongodb.so shouldExist: true \ No newline at end of file diff --git a/php-8.3/Dockerfile b/php-8.3/Dockerfile index 8bdb31f..d82219e 100644 --- a/php-8.3/Dockerfile +++ b/php-8.3/Dockerfile @@ -10,7 +10,8 @@ ENV PHP_REDIS_VERSION="6.1.0" \ PHP_BROTLI_VERSION="0.15.0" \ PHP_SNAPPY_VERSION="0.2.2" \ PHP_LZ4_VERSION="0.4.4" \ - PHP_XDEBUG_VERSION="3.4.1" + PHP_XDEBUG_VERSION="3.4.1" \ + PHP_MONGO_VERSION="1.20.1" RUN \ apk add --no-cache --virtual .deps \ @@ -34,7 +35,8 @@ RUN \ zstd-dev \ brotli-dev \ lz4-dev \ - curl-dev + curl-dev \ + cmake RUN docker-php-ext-install sockets @@ -139,6 +141,15 @@ RUN \ ./configure && \ make && make install +## MongoDB Extension +FROM compile AS mongodb +RUN \ + git clone --depth 1 --recursive --branch $PHP_MONGO_VERSION https://github.com/mongodb/mongo-php-driver.git && \ + cd mongo-php-driver && \ + phpize && \ + ./configure && \ + make && make install + FROM php:8.3-cli-alpine AS final LABEL maintainer="team@appwrite.io" @@ -179,6 +190,7 @@ COPY --from=brotli /usr/local/lib/php/extensions/no-debug-non-zts-20230831/brotl COPY --from=lz4 /usr/local/lib/php/extensions/no-debug-non-zts-20230831/lz4.so /usr/local/lib/php/extensions/no-debug-non-zts-20230831/ COPY --from=snappy /usr/local/lib/php/extensions/no-debug-non-zts-20230831/snappy.so /usr/local/lib/php/extensions/no-debug-non-zts-20230831/ COPY --from=xdebug /usr/local/lib/php/extensions/no-debug-non-zts-20230831/xdebug.so /usr/local/lib/php/extensions/no-debug-non-zts-20230831/ +COPY --from=mongodb /usr/local/lib/php/extensions/no-debug-non-zts-20230831/mongodb.so /usr/local/lib/php/extensions/no-debug-non-zts-20230831/ # Enable Extensions RUN echo extension=swoole.so >> /usr/local/etc/php/conf.d/swoole.ini @@ -190,6 +202,7 @@ RUN echo extension=zstd.so >> /usr/local/etc/php/conf.d/zstd.ini RUN echo extension=brotli.so >> /usr/local/etc/php/conf.d/brotli.ini RUN echo extension=lz4.so >> /usr/local/etc/php/conf.d/lz4.ini RUN echo extension=snappy.so >> /usr/local/etc/php/conf.d/snappy.ini +RUN echo extension=mongodb.so >> /usr/local/etc/php/conf.d/mongodb.ini EXPOSE 80 diff --git a/php-8.3/tests.yaml b/php-8.3/tests.yaml index 5755251..577053a 100644 --- a/php-8.3/tests.yaml +++ b/php-8.3/tests.yaml @@ -28,4 +28,7 @@ fileExistenceTests: shouldExist: true - name: 'Check snappy extension' path: /usr/local/lib/php/extensions/no-debug-non-zts-20230831/snappy.so + shouldExist: true + - name: 'Check mongodb extension' + path: /usr/local/lib/php/extensions/no-debug-non-zts-20230831/mongodb.so shouldExist: true \ No newline at end of file diff --git a/php-8.4/Dockerfile b/php-8.4/Dockerfile index 622862e..a28b007 100644 --- a/php-8.4/Dockerfile +++ b/php-8.4/Dockerfile @@ -10,7 +10,8 @@ ENV PHP_REDIS_VERSION="6.1.0" \ PHP_BROTLI_VERSION="0.15.0" \ PHP_SNAPPY_VERSION="0.2.2" \ PHP_LZ4_VERSION="0.4.4" \ - PHP_XDEBUG_VERSION="3.4.1" + PHP_XDEBUG_VERSION="3.4.1" \ + PHP_MONGO_VERSION="1.20.1" RUN \ apk add --no-cache --virtual .deps \ @@ -34,7 +35,8 @@ RUN \ zstd-dev \ brotli-dev \ lz4-dev \ - curl-dev + curl-dev \ + cmake RUN docker-php-ext-install sockets @@ -139,6 +141,15 @@ RUN \ ./configure && \ make && make install +## MongoDB Extension +FROM compile AS mongodb +RUN \ + git clone --depth 1 --recursive --branch $PHP_MONGO_VERSION https://github.com/mongodb/mongo-php-driver.git && \ + cd mongo-php-driver && \ + phpize && \ + ./configure && \ + make && make install + FROM php:8.4-cli-alpine AS final LABEL maintainer="team@appwrite.io" @@ -179,6 +190,7 @@ COPY --from=brotli /usr/local/lib/php/extensions/no-debug-non-zts-20240924/brotl COPY --from=lz4 /usr/local/lib/php/extensions/no-debug-non-zts-20240924/lz4.so /usr/local/lib/php/extensions/no-debug-non-zts-20240924/ COPY --from=snappy /usr/local/lib/php/extensions/no-debug-non-zts-20240924/snappy.so /usr/local/lib/php/extensions/no-debug-non-zts-20240924/ COPY --from=xdebug /usr/local/lib/php/extensions/no-debug-non-zts-20240924/xdebug.so /usr/local/lib/php/extensions/no-debug-non-zts-20240924/ +COPY --from=mongodb /usr/local/lib/php/extensions/no-debug-non-zts-20240924/mongodb.so /usr/local/lib/php/extensions/no-debug-non-zts-20240924/ # Enable Extensions RUN echo extension=swoole.so >> /usr/local/etc/php/conf.d/swoole.ini @@ -190,6 +202,7 @@ RUN echo extension=zstd.so >> /usr/local/etc/php/conf.d/zstd.ini RUN echo extension=brotli.so >> /usr/local/etc/php/conf.d/brotli.ini RUN echo extension=lz4.so >> /usr/local/etc/php/conf.d/lz4.ini RUN echo extension=snappy.so >> /usr/local/etc/php/conf.d/snappy.ini +RUN echo extension=mongodb.so >> /usr/local/etc/php/conf.d/mongodb.ini EXPOSE 80 diff --git a/php-8.4/tests.yaml b/php-8.4/tests.yaml index cd319a8..3efb0d6 100644 --- a/php-8.4/tests.yaml +++ b/php-8.4/tests.yaml @@ -29,4 +29,7 @@ fileExistenceTests: - name: 'Check snappy extension' path: /usr/local/lib/php/extensions/no-debug-non-zts-20240924/snappy.so shouldExist: true + - name: 'Check mongodb extension' + path: /usr/local/lib/php/extensions/no-debug-non-zts-20240924/mongodb.so + shouldExist: true diff --git a/tests.yaml b/tests.yaml index 0f652d0..3b6df27 100644 --- a/tests.yaml +++ b/tests.yaml @@ -29,6 +29,9 @@ fileExistenceTests: - name: 'Check snappy ini' path: /usr/local/etc/php/conf.d/snappy.ini shouldExist: true + - name: 'Check mongodb ini' + path: /usr/local/etc/php/conf.d/mongodb.ini + shouldExist: true fileContentTests: - name: 'swoole ini' @@ -58,6 +61,9 @@ fileContentTests: - name: 'snappy ini' path: '/usr/local/etc/php/conf.d/snappy.ini' expectedContents: ['extension=snappy.so'] + - name: 'mongodb ini' + path: '/usr/local/etc/php/conf.d/mongodb.ini' + expectedContents: ['extension=mongodb.so'] commandTests: - name: 'Imagemagick command' @@ -81,4 +87,5 @@ commandTests: - ".*zstd.*" - ".*brotli.*" - ".*lz4.*" - - ".*snappy.*" \ No newline at end of file + - ".*snappy.*" + - ".*mongodb.*" \ No newline at end of file From c90c31fb5c7cff8409d853825fcdd46de3b98672 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 24 Feb 2026 04:59:41 +0000 Subject: [PATCH 3/4] Update MongoDB extension version from 1.20.1 to 2.2.1 Co-authored-by: abnegate <5857008+abnegate@users.noreply.github.com> --- php-8.0/Dockerfile | 2 +- php-8.1/Dockerfile | 2 +- php-8.2/Dockerfile | 2 +- php-8.3/Dockerfile | 2 +- php-8.4/Dockerfile | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/php-8.0/Dockerfile b/php-8.0/Dockerfile index 5016b45..73af68f 100644 --- a/php-8.0/Dockerfile +++ b/php-8.0/Dockerfile @@ -11,7 +11,7 @@ ENV PHP_REDIS_VERSION="6.1.0" \ PHP_SNAPPY_VERSION="0.2.2" \ PHP_LZ4_VERSION="0.4.4" \ PHP_XDEBUG_VERSION="3.4.1" \ - PHP_MONGO_VERSION="1.20.1" + PHP_MONGO_VERSION="2.2.1" RUN \ apk add --no-cache --virtual .deps \ diff --git a/php-8.1/Dockerfile b/php-8.1/Dockerfile index 14a862c..685f4ef 100644 --- a/php-8.1/Dockerfile +++ b/php-8.1/Dockerfile @@ -11,7 +11,7 @@ ENV PHP_REDIS_VERSION="6.1.0" \ PHP_SNAPPY_VERSION="0.2.2" \ PHP_LZ4_VERSION="0.4.4" \ PHP_XDEBUG_VERSION="3.4.1" \ - PHP_MONGO_VERSION="1.20.1" + PHP_MONGO_VERSION="2.2.1" RUN \ apk add --no-cache --virtual .deps \ diff --git a/php-8.2/Dockerfile b/php-8.2/Dockerfile index 77ae806..440f951 100644 --- a/php-8.2/Dockerfile +++ b/php-8.2/Dockerfile @@ -11,7 +11,7 @@ ENV PHP_REDIS_VERSION="6.1.0" \ PHP_SNAPPY_VERSION="0.2.2" \ PHP_LZ4_VERSION="0.4.4" \ PHP_XDEBUG_VERSION="3.4.1" \ - PHP_MONGO_VERSION="1.20.1" + PHP_MONGO_VERSION="2.2.1" RUN \ apk add --no-cache --virtual .deps \ diff --git a/php-8.3/Dockerfile b/php-8.3/Dockerfile index d82219e..644a3c9 100644 --- a/php-8.3/Dockerfile +++ b/php-8.3/Dockerfile @@ -11,7 +11,7 @@ ENV PHP_REDIS_VERSION="6.1.0" \ PHP_SNAPPY_VERSION="0.2.2" \ PHP_LZ4_VERSION="0.4.4" \ PHP_XDEBUG_VERSION="3.4.1" \ - PHP_MONGO_VERSION="1.20.1" + PHP_MONGO_VERSION="2.2.1" RUN \ apk add --no-cache --virtual .deps \ diff --git a/php-8.4/Dockerfile b/php-8.4/Dockerfile index a28b007..552659b 100644 --- a/php-8.4/Dockerfile +++ b/php-8.4/Dockerfile @@ -11,7 +11,7 @@ ENV PHP_REDIS_VERSION="6.1.0" \ PHP_SNAPPY_VERSION="0.2.2" \ PHP_LZ4_VERSION="0.4.4" \ PHP_XDEBUG_VERSION="3.4.1" \ - PHP_MONGO_VERSION="1.20.1" + PHP_MONGO_VERSION="2.2.1" RUN \ apk add --no-cache --virtual .deps \ From 53ea299957bfa463a71baeecba1a8efcd9b11bef Mon Sep 17 00:00:00 2001 From: Jake Barnby Date: Tue, 24 Feb 2026 18:07:00 +1300 Subject: [PATCH 4/4] fix: drop PHP 8.0 support (MongoDB driver 2.2.1 requires PHP >= 8.1) Co-Authored-By: Claude Opus 4.6 --- .github/workflows/build-and-push.yml | 2 +- .github/workflows/test.yml | 2 +- php-8.0/Dockerfile | 209 --------------------------- php-8.0/tests.yaml | 34 ----- 4 files changed, 2 insertions(+), 245 deletions(-) delete mode 100644 php-8.0/Dockerfile delete mode 100644 php-8.0/tests.yaml diff --git a/.github/workflows/build-and-push.yml b/.github/workflows/build-and-push.yml index 223fe4e..4bd6d9d 100644 --- a/.github/workflows/build-and-push.yml +++ b/.github/workflows/build-and-push.yml @@ -14,7 +14,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - php-versions: ['8.0', '8.1', '8.2', '8.3', '8.4'] # add PHP versions as required + php-versions: ['8.1', '8.2', '8.3', '8.4'] # add PHP versions as required steps: - name: Checkout the repo uses: actions/checkout@v3 diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 60ed1d3..f578cef 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -14,7 +14,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - php-versions: ['8.0', '8.1', '8.2', '8.3', '8.4'] # add PHP versions as required + php-versions: ['8.1', '8.2', '8.3', '8.4'] # add PHP versions as required steps: - name: Checkout the repo uses: actions/checkout@v3 diff --git a/php-8.0/Dockerfile b/php-8.0/Dockerfile deleted file mode 100644 index 73af68f..0000000 --- a/php-8.0/Dockerfile +++ /dev/null @@ -1,209 +0,0 @@ -FROM php:8.0-cli-alpine AS compile - -ENV PHP_REDIS_VERSION="6.1.0" \ - PHP_SWOOLE_VERSION="v5.1.7" \ - PHP_IMAGICK_VERSION="3.7.0" \ - PHP_YAML_VERSION="2.2.4" \ - PHP_MAXMINDDB_VERSION="v1.12.0" \ - PHP_SCRYPT_VERSION="2.0.1" \ - PHP_ZSTD_VERSION="0.14.0" \ - PHP_BROTLI_VERSION="0.15.0" \ - PHP_SNAPPY_VERSION="0.2.2" \ - PHP_LZ4_VERSION="0.4.4" \ - PHP_XDEBUG_VERSION="3.4.1" \ - PHP_MONGO_VERSION="2.2.1" - -RUN \ - apk add --no-cache --virtual .deps \ - linux-headers \ - icu-dev \ - make \ - automake \ - autoconf \ - gcc \ - g++ \ - git \ - zlib-dev \ - openssl-dev \ - yaml-dev \ - imagemagick \ - imagemagick-dev \ - libjpeg-turbo-dev \ - jpeg-dev \ - libjxl-dev \ - libmaxminddb-dev \ - zstd-dev \ - brotli-dev \ - lz4-dev \ - curl-dev \ - cmake - -RUN docker-php-ext-install sockets - -FROM compile AS redis -RUN \ - # Redis Extension - git clone --depth 1 --branch $PHP_REDIS_VERSION https://github.com/phpredis/phpredis.git && \ - cd phpredis && \ - phpize && \ - ./configure && \ - make && make install - -## Swoole Extension -FROM compile AS swoole -RUN \ - git clone --depth 1 --branch $PHP_SWOOLE_VERSION https://github.com/swoole/swoole-src.git && \ - cd swoole-src && \ - phpize && \ - ./configure --enable-sockets --enable-http2 --enable-openssl --enable-swoole-curl && \ - make && make install && \ - cd .. - -## Imagick Extension -FROM compile AS imagick -RUN \ - git clone --depth 1 --branch $PHP_IMAGICK_VERSION https://github.com/imagick/imagick && \ - cd imagick && \ - phpize && \ - ./configure && \ - make && make install - -## YAML Extension -FROM compile AS yaml -RUN \ - git clone --depth 1 --branch $PHP_YAML_VERSION https://github.com/php/pecl-file_formats-yaml && \ - cd pecl-file_formats-yaml && \ - phpize && \ - ./configure && \ - make && make install - -## Maxminddb extension -FROM compile AS maxmind -RUN \ - git clone --depth 1 --branch $PHP_MAXMINDDB_VERSION https://github.com/maxmind/MaxMind-DB-Reader-php.git && \ - cd MaxMind-DB-Reader-php && \ - cd ext && \ - phpize && \ - ./configure && \ - make && make install - -# Zstd Compression -FROM compile AS zstd -RUN git clone --recursive -n https://github.com/kjdev/php-ext-zstd.git \ - && cd php-ext-zstd \ - && git checkout $PHP_ZSTD_VERSION \ - && phpize \ - && ./configure --with-libzstd \ - && make && make install - -## Brotli Extension -FROM compile AS brotli -RUN git clone https://github.com/kjdev/php-ext-brotli.git \ - && cd php-ext-brotli \ - && git reset --hard $PHP_BROTLI_VERSION \ - && phpize \ - && ./configure --with-libbrotli \ - && make && make install - -## LZ4 Extension -FROM compile AS lz4 -RUN git clone --recursive https://github.com/kjdev/php-ext-lz4.git \ - && cd php-ext-lz4 \ - && git reset --hard $PHP_LZ4_VERSION \ - && phpize \ - && ./configure --with-lz4-includedir=/usr \ - && make && make install - -## Snappy Extension -FROM compile AS snappy -RUN git clone --recursive https://github.com/kjdev/php-ext-snappy.git \ - && cd php-ext-snappy \ - && git reset --hard $PHP_SNAPPY_VERSION \ - && phpize \ - && ./configure \ - && make && make install - -## Scrypt Extension -FROM compile AS scrypt -RUN git clone --depth 1 https://github.com/DomBlack/php-scrypt.git \ - && cd php-scrypt \ - && git reset --hard $PHP_SCRYPT_VERSION \ - && phpize \ - && ./configure --enable-scrypt \ - && make && make install - -## XDebug Extension -FROM compile AS xdebug -RUN \ - git clone --depth 1 --branch $PHP_XDEBUG_VERSION https://github.com/xdebug/xdebug && \ - cd xdebug && \ - phpize && \ - ./configure && \ - make && make install - -## MongoDB Extension -FROM compile AS mongodb -RUN \ - git clone --depth 1 --recursive --branch $PHP_MONGO_VERSION https://github.com/mongodb/mongo-php-driver.git && \ - cd mongo-php-driver && \ - phpize && \ - ./configure && \ - make && make install - -FROM php:8.0-cli-alpine AS final - -LABEL maintainer="team@appwrite.io" - -RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone - -RUN \ - apk update \ - && apk add --no-cache \ - linux-headers \ - rsync \ - brotli-dev \ - lz4-dev \ - zstd-dev \ - yaml-dev \ - imagemagick \ - libjpeg-turbo \ - libjxl \ - libavif \ - libheif \ - # imagemagick-heic \ - libgomp \ - libwebp \ - git \ - && rm -rf /var/cache/apk/* - -RUN docker-php-ext-install sockets - -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/ -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=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=xdebug /usr/local/lib/php/extensions/no-debug-non-zts-20200930/xdebug.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/ - -# Enable Extensions -RUN echo extension=swoole.so >> /usr/local/etc/php/conf.d/swoole.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 -RUN echo extension=scrypt.so >> /usr/local/etc/php/conf.d/scrypt.ini -RUN echo extension=zstd.so >> /usr/local/etc/php/conf.d/zstd.ini -RUN echo extension=brotli.so >> /usr/local/etc/php/conf.d/brotli.ini -RUN echo extension=lz4.so >> /usr/local/etc/php/conf.d/lz4.ini -RUN echo extension=snappy.so >> /usr/local/etc/php/conf.d/snappy.ini -RUN echo extension=mongodb.so >> /usr/local/etc/php/conf.d/mongodb.ini - -EXPOSE 80 - -CMD [ "tail", "-f", "/dev/null" ] diff --git a/php-8.0/tests.yaml b/php-8.0/tests.yaml deleted file mode 100644 index cbaa6c7..0000000 --- a/php-8.0/tests.yaml +++ /dev/null @@ -1,34 +0,0 @@ -schemaVersion: '2.0.0' - -fileExistenceTests: - ## Extension files - - name: 'Check swoole extension' - path: /usr/local/lib/php/extensions/no-debug-non-zts-20200930/swoole.so - shouldExist: true - - name: 'Check redis extension' - path: /usr/local/lib/php/extensions/no-debug-non-zts-20200930/redis.so - shouldExist: true - - name: 'Check imagick extension' - path: /usr/local/lib/php/extensions/no-debug-non-zts-20200930/imagick.so - shouldExist: true - - name: 'Check yaml extension' - path: /usr/local/lib/php/extensions/no-debug-non-zts-20200930/yaml.so - shouldExist: true - - name: 'Check scrypt extension' - path: /usr/local/lib/php/extensions/no-debug-non-zts-20200930/scrypt.so - shouldExist: true - - name: 'Check zstd extension' - path: /usr/local/lib/php/extensions/no-debug-non-zts-20200930/zstd.so - shouldExist: true - - name: 'Check brotli extension' - path: /usr/local/lib/php/extensions/no-debug-non-zts-20200930/brotli.so - shouldExist: true - - name: 'Check lz4 extension' - path: /usr/local/lib/php/extensions/no-debug-non-zts-20200930/lz4.so - shouldExist: true - - name: 'Check snappy extension' - path: /usr/local/lib/php/extensions/no-debug-non-zts-20200930/snappy.so - shouldExist: true - - name: 'Check mongodb extension' - path: /usr/local/lib/php/extensions/no-debug-non-zts-20200930/mongodb.so - shouldExist: true \ No newline at end of file