diff --git a/.gitignore b/.gitignore index 03da585..4446ce6 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,6 @@ # Ignore PHPUnit bin download and run cache artifact bin/phpunit-9.phar +bin/phpunit-10.phar .phpunit*.cache # Ignore run artifacts diff --git a/Dockerfile b/Dockerfile index d169f3b..e96c0f6 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM php:8.2.7-cli-alpine3.18 AS build +FROM php:8.3.3-cli-alpine3.18 AS build RUN apk update && \ apk add --no-cache ca-certificates curl jo zip unzip @@ -7,21 +7,21 @@ WORKDIR /usr/local/bin RUN curl -L -o install-php-extensions https://github.com/mlocati/docker-php-extension-installer/releases/latest/download/install-php-extensions && \ chmod +x install-php-extensions && \ - install-php-extensions ds-1.4.0 intl + install-php-extensions ds-1.5.0 intl -RUN curl -L -o phpunit-9.phar https://phar.phpunit.de/phpunit-9.phar && \ - chmod +x phpunit-9.phar +RUN curl -L -o phpunit-10.phar https://phar.phpunit.de/phpunit-10.phar && \ + chmod +x phpunit-10.phar WORKDIR /usr/local/bin/junit-handler/ COPY --from=composer:2.5.8 /usr/bin/composer /usr/local/bin/composer COPY junit-handler/ . RUN composer install --no-interaction -FROM php:8.2.7-cli-alpine3.18 AS runtime +FROM php:8.3.3-cli-alpine3.18 AS runtime COPY --from=build /usr/bin/jo /usr/bin/jo COPY --from=build /usr/local/lib/php/extensions /usr/local/lib/php/extensions -COPY --from=build /usr/local/bin/phpunit-9.phar /opt/test-runner/bin/phpunit-9.phar +COPY --from=build /usr/local/bin/phpunit-10.phar /opt/test-runner/bin/phpunit-10.phar COPY --from=build /usr/local/bin/junit-handler /opt/test-runner/junit-handler # Use the default production configuration diff --git a/README.md b/README.md index a8c8999..a8e5866 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ This is a minimal test runner for Exercism's v3 platform. It meets the minimal ### Dockerimage -The website uses isolated docker images to run untrusted code in a sandbox. Image consists of PHP 8.2.7 (PHPUnit 9/10). All final assets are built into the image, because the image does not have network access once in use. +The website uses isolated docker images to run untrusted code in a sandbox. Image consists of PHP 8.3.3 (PHPUnit 9/10). All final assets are built into the image, because the image does not have network access once in use. Includes php extensions: ds, intl diff --git a/bin/run.sh b/bin/run.sh index 462a3a2..8e9c953 100755 --- a/bin/run.sh +++ b/bin/run.sh @@ -2,9 +2,10 @@ set -euo pipefail -PHPUNIT_BIN="./bin/phpunit-9.phar" +PHPUNIT_BIN="./bin/phpunit-10.phar" XML_RESULTS='results.xml' JSON_RESULTS='results.json' +XDEBUG_MODE='off' function main { exercise_slug="${1}" @@ -16,7 +17,6 @@ function main { phpunit_output=$(eval "${PHPUNIT_BIN}" \ -d memory_limit=300M \ --log-junit "${output_dir%/}/${XML_RESULTS}" \ - --verbose \ --no-configuration \ --do-not-cache-result \ "${test_files%%*( )}" 2>&1)