From c61cdb122704124ee87f5964552b77d03fd56537 Mon Sep 17 00:00:00 2001 From: Jakub Onderka Date: Tue, 26 Nov 2024 09:42:48 +0100 Subject: [PATCH] CI: Test against PHP 8.3 and 8.4 --- .github/workflows/integration.yml | 45 +++++++++++++++++++++++++------ docker_php8.2-alpine | 2 +- docker_php8.3-alpine | 27 +++++++++++++++++++ docker_php8.4-alpine | 27 +++++++++++++++++++ 4 files changed, 92 insertions(+), 9 deletions(-) create mode 100644 docker_php8.3-alpine create mode 100644 docker_php8.4-alpine diff --git a/.github/workflows/integration.yml b/.github/workflows/integration.yml index ea83046..f3d400b 100644 --- a/.github/workflows/integration.yml +++ b/.github/workflows/integration.yml @@ -2,12 +2,38 @@ name: CI on: [push, pull_request] jobs: + PHP84-alpine: + name: PHP 8.4 Alpine 3.19 + runs-on: ubuntu-latest + steps: + - name: "Checkout" + uses: actions/checkout@v4 + + - name: "Build extension" + run: "docker build -t simdjsontest -f docker_php8.4-alpine ." + + - name: "Show" + run: "docker run --rm --env SIMDJSON_HIGH_MEMORY_TESTS=1 simdjsontest php --ri simdjson" + + PHP83-alpine: + name: PHP 8.3 Alpine 3.17 + runs-on: ubuntu-latest + steps: + - name: "Checkout" + uses: actions/checkout@v4 + + - name: "Build extension" + run: "docker build -t simdjsontest -f docker_php8.3-alpine ." + + - name: "Show" + run: "docker run --rm --env SIMDJSON_HIGH_MEMORY_TESTS=1 simdjsontest php --ri simdjson" + PHP82-alpine: name: PHP 8.2 Alpine 3.16 runs-on: ubuntu-latest steps: - name: "Checkout" - uses: actions/checkout@v2 + uses: actions/checkout@v4 - name: "Build extension" run: "docker build -t simdjsontest -f docker_php8.2-alpine ." @@ -20,7 +46,7 @@ jobs: runs-on: ubuntu-latest steps: - name: "Checkout" - uses: actions/checkout@v2 + uses: actions/checkout@v4 - name: "Build extension" run: "docker build -t simdjsontest -f docker_php8.1-alpine ." @@ -33,7 +59,7 @@ jobs: runs-on: ubuntu-latest steps: - name: "Checkout" - uses: actions/checkout@v2 + uses: actions/checkout@v4 - name: "Build extension" run: "docker build -t simdjsontest -f docker_php8.0-alpine ." @@ -46,7 +72,7 @@ jobs: runs-on: ubuntu-latest steps: - name: "Checkout" - uses: actions/checkout@v2 + uses: actions/checkout@v4 - name: "Build extension" run: "docker build -t simdjsontest -f docker_php7.4-alpine ." @@ -59,7 +85,7 @@ jobs: runs-on: ubuntu-latest steps: - name: "Checkout" - uses: actions/checkout@v2 + uses: actions/checkout@v4 - name: "Build extension" run: "docker build -t simdjsontest -f docker_php7.3-alpine ." @@ -72,7 +98,7 @@ jobs: runs-on: ubuntu-latest steps: - name: "Checkout" - uses: actions/checkout@v2 + uses: actions/checkout@v4 - name: "Build extension" run: "docker build -t simdjsontest -f docker_php7.2-alpine ." @@ -85,7 +111,7 @@ jobs: runs-on: ubuntu-latest steps: - name: "Checkout" - uses: actions/checkout@v2 + uses: actions/checkout@v4 - name: "Build extension" run: "docker build -t simdjsontest -f docker_php7.1-alpine ." @@ -105,6 +131,9 @@ jobs: - "7.4" - "8.0" - "8.1" + - "8.2" + - "8.3" + - "8.4" os: [ubuntu-latest] experimental: [false] runs-on: ${{ matrix.os }} @@ -112,7 +141,7 @@ jobs: continue-on-error: ${{ matrix.experimental }} steps: - name: "Checkout" - uses: actions/checkout@v2 + uses: actions/checkout@v4 - name: "Install PHP" uses: shivammathur/setup-php@v2 diff --git a/docker_php8.2-alpine b/docker_php8.2-alpine index 7c46d72..20c6493 100644 --- a/docker_php8.2-alpine +++ b/docker_php8.2-alpine @@ -1,4 +1,4 @@ -FROM php:8.2.0RC2-cli-alpine3.16 +FROM php:8.2-cli-alpine3.16 COPY . /tmp/simdjson diff --git a/docker_php8.3-alpine b/docker_php8.3-alpine new file mode 100644 index 0000000..e1f7a4f --- /dev/null +++ b/docker_php8.3-alpine @@ -0,0 +1,27 @@ +FROM php:8.3-cli-alpine3.17 + +COPY . /tmp/simdjson + +# persistent / runtime deps +ENV PHPIZE_DEPS \ + autoconf \ + g++ \ + gcc \ + make \ + pkgconf \ + git \ + re2c + +ENV REPORT_EXIT_STATUS=1 + +RUN set -xe \ + && apk add --no-cache --virtual .build-deps \ + $PHPIZE_DEPS \ + && cd /tmp/simdjson \ + && phpize \ + && ./configure \ + && make -j$(nproc) \ + && make install \ + && make test \ + && rm -rf /tmp/simdjson \ + && echo "extension=simdjson.so" > /usr/local/etc/php/conf.d/simdjson.ini diff --git a/docker_php8.4-alpine b/docker_php8.4-alpine new file mode 100644 index 0000000..63b8b06 --- /dev/null +++ b/docker_php8.4-alpine @@ -0,0 +1,27 @@ +FROM php:8.4-cli-alpine3.19 + +COPY . /tmp/simdjson + +# persistent / runtime deps +ENV PHPIZE_DEPS \ + autoconf \ + g++ \ + gcc \ + make \ + pkgconf \ + git \ + re2c + +ENV REPORT_EXIT_STATUS=1 + +RUN set -xe \ + && apk add --no-cache --virtual .build-deps \ + $PHPIZE_DEPS \ + && cd /tmp/simdjson \ + && phpize \ + && ./configure \ + && make -j$(nproc) \ + && make install \ + && make test \ + && rm -rf /tmp/simdjson \ + && echo "extension=simdjson.so" > /usr/local/etc/php/conf.d/simdjson.ini