FROM composer:lts as deps WORKDIR /app RUN --mount=type=bind,source=./composer.json,target=composer.json \ --mount=type=bind,source=./composer.lock,target=composer.lock \ --mount=type=cache,target=/tmp/cache \ composer install --no-interaction FROM php:8-cli as base WORKDIR /app RUN apt-get update && \ apt-get install -yq --no-install-recommends libsqlite3-dev && \ rm -rf /var/lib/apt/lists/* && \ docker-php-ext-install pdo pdo_sqlite COPY ./src /app/src FROM base as dev COPY ./tests /app/tests RUN mv "$PHP_INI_DIR/php.ini-development" "$PHP_INI_DIR/php.ini" COPY --from=deps /app/vendor/ /app/vendor FROM dev as test ENTRYPOINT [ "./vendor/bin/phpunit" ]