-
-
Notifications
You must be signed in to change notification settings - Fork 424
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* Bump dependencies for Laravel 10 * Update GitHub Actions for Laravel 10 * ci: do not test L10 using PHP 7.3 * drop < L9 support * use `dispatch_sync` instead of `dispatch_now` * migrate phpunit configuration * Update ci.yml * drop laravel < 9 support * misc L10 fixes, new docker image * specify odbc version * wip * properly list php versions as strings * minor changes * Add `getValue($queryGrammar)` to raw query * Clean up `isVersion8` code * rewrite hasFailed assertion * phpunit schema update * Upgrade `doctrine/dbal` --------- Co-authored-by: Samuel Štancl <samuel@archte.ch> Co-authored-by: Samuel Štancl <samuel.stancl@gmail.com> Co-authored-by: lukinovec <lukinovec@gmail.com>
- Loading branch information
1 parent
7d59ff1
commit d4a9901
Showing
15 changed files
with
109 additions
and
129 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,50 +1,42 @@ | ||
ARG PHP_VERSION=7.4 | ||
ARG PHP_TARGET=php:${PHP_VERSION}-cli | ||
# add amd64 platform to support Mac M1 | ||
FROM --platform=linux/amd64 shivammathur/node:latest-amd64 | ||
|
||
FROM ${PHP_TARGET} | ||
|
||
ARG COMPOSER_TARGET=2.0.3 | ||
ARG PHP_VERSION=8.1 | ||
|
||
WORKDIR /var/www/html | ||
|
||
LABEL org.opencontainers.image.source=https://github.com/stancl/tenancy \ | ||
org.opencontainers.image.vendor="Samuel Štancl" \ | ||
org.opencontainers.image.licenses="MIT" \ | ||
org.opencontainers.image.title="PHP ${PHP_VERSION} with modules for laravel support" \ | ||
org.opencontainers.image.description="PHP ${PHP_VERSION} with a set of php/os packages suitable for running Laravel apps" | ||
|
||
# our default timezone and langauge | ||
ENV TZ=Europe/London | ||
ENV LANG=en_GB.UTF-8 | ||
|
||
# Note: we only install reliable/core 1st-party php extensions here. | ||
# If your app needs custom ones install them in the apps own | ||
# Dockerfile _and pin the versions_! Eg: | ||
# RUN pecl install memcached-2.2.0 && docker-php-ext-enable memcached | ||
|
||
# install some OS packages we need | ||
RUN apt-get update | ||
RUN apt-get install -y --no-install-recommends libfreetype6-dev libjpeg62-turbo-dev libpng-dev libgmp-dev libldap2-dev netcat curl sqlite3 libsqlite3-dev libpq-dev libzip-dev unzip vim-tiny gosu git | ||
# install php extensions | ||
RUN docker-php-ext-configure pgsql -with-pgsql=/usr/local/pgsql \ | ||
# && if [ "${PHP_VERSION}" = "7.4" ]; then docker-php-ext-configure gd --with-freetype --with-jpeg; else docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/; fi \ | ||
&& docker-php-ext-install -j$(nproc) gd pdo pdo_mysql pdo_pgsql pdo_sqlite pgsql zip gmp bcmath pcntl ldap sysvmsg exif \ | ||
# install the redis php extension | ||
&& pecl install redis-5.3.7 \ | ||
&& docker-php-ext-enable redis \ | ||
# install the pcov extention | ||
&& pecl install pcov \ | ||
&& docker-php-ext-enable pcov \ | ||
&& echo "pcov.enabled = 1" > /usr/local/etc/php/conf.d/pcov.ini | ||
# clear the apt cache | ||
RUN rm -rf /var/lib/apt/lists/* \ | ||
&& rm -rf /var/lib/apt/lists/* \ | ||
# install composer | ||
&& curl -o /tmp/composer-setup.php https://getcomposer.org/installer \ | ||
&& curl -o /tmp/composer-setup.sig https://composer.github.io/installer.sig \ | ||
&& php -r "if (hash('SHA384', file_get_contents('/tmp/composer-setup.php')) !== trim(file_get_contents('/tmp/composer-setup.sig'))) { unlink('/tmp/composer-setup.php'); echo 'Invalid installer' . PHP_EOL; exit(1); }" \ | ||
&& php /tmp/composer-setup.php --version=${COMPOSER_TARGET} --no-ansi --install-dir=/usr/local/bin --filename=composer --snapshot \ | ||
&& rm -f /tmp/composer-setup.* | ||
# install MYSSQL ODBC Driver | ||
RUN apt-get update \ | ||
&& apt-get install -y gnupg2 \ | ||
&& curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add - \ | ||
&& curl https://packages.microsoft.com/config/ubuntu/20.04/prod.list > /etc/apt/sources.list.d/mssql-release.list \ | ||
&& apt-get update \ | ||
&& ACCEPT_EULA=Y apt-get install -y unixodbc-dev=2.3.7 unixodbc=2.3.7 odbcinst1debian2=2.3.7 odbcinst=2.3.7 msodbcsql17 | ||
|
||
# set PHP version | ||
RUN update-alternatives --set php /usr/bin/php$PHP_VERSION \ | ||
&& update-alternatives --set phar /usr/bin/phar$PHP_VERSION \ | ||
&& update-alternatives --set phar.phar /usr/bin/phar.phar$PHP_VERSION \ | ||
&& update-alternatives --set phpize /usr/bin/phpize$PHP_VERSION \ | ||
&& update-alternatives --set php-config /usr/bin/php-config$PHP_VERSION | ||
|
||
RUN apt-get update \ | ||
&& apt-get install -y --no-install-recommends libhiredis0.14 libjemalloc2 liblua5.1-0 lua-bitop lua-cjson redis redis-server redis-tools | ||
|
||
RUN pecl install redis-5.3.7 sqlsrv pdo_sqlsrv pcov \ | ||
&& printf "; priority=20\nextension=redis.so\n" > /etc/php/$PHP_VERSION/mods-available/redis.ini \ | ||
&& printf "; priority=20\nextension=sqlsrv.so\n" > /etc/php/$PHP_VERSION/mods-available/sqlsrv.ini \ | ||
&& printf "; priority=30\nextension=pdo_sqlsrv.so\n" > /etc/php/$PHP_VERSION/mods-available/pdo_sqlsrv.ini \ | ||
&& printf "; priority=40\nextension=pcov.so\n" > /etc/php/$PHP_VERSION/mods-available/pcov.ini \ | ||
&& phpenmod -v $PHP_VERSION redis sqlsrv pdo_sqlsrv pcov | ||
|
||
# install composer | ||
COPY --from=composer:latest /usr/bin/composer /usr/local/bin/composer | ||
|
||
# set the system timezone | ||
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime \ | ||
&& echo $TZ > /etc/timezone |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
services: | ||
mysql: | ||
platform: linux/amd64 | ||
mysql2: | ||
platform: linux/amd64 | ||
mssql: | ||
image: mcr.microsoft.com/azure-sql-edge |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,39 +1,32 @@ | ||
<?xml version="1.0" encoding="UTF-8"?> | ||
<phpunit backupGlobals="false" | ||
backupStaticAttributes="false" | ||
bootstrap="vendor/autoload.php" | ||
colors="true" | ||
convertErrorsToExceptions="true" | ||
convertNoticesToExceptions="true" | ||
convertWarningsToExceptions="true" | ||
processIsolation="false" | ||
stopOnFailure="false"> | ||
<testsuites> | ||
<testsuite name="Unit"> | ||
<directory suffix="Test.php">./tests</directory> | ||
</testsuite> | ||
</testsuites> | ||
<filter> | ||
<whitelist processUncoveredFilesFromWhitelist="true"> | ||
<directory suffix=".php">./src</directory> | ||
<exclude> | ||
<file>./src/routes.php</file> | ||
<file>./src/Vite.php</file> | ||
</exclude> | ||
</whitelist> | ||
</filter> | ||
<php> | ||
<env name="APP_ENV" value="testing"/> | ||
<env name="BCRYPT_ROUNDS" value="4"/> | ||
<env name="CACHE_DRIVER" value="redis"/> | ||
<env name="MAIL_DRIVER" value="array"/> | ||
<env name="QUEUE_CONNECTION" value="sync"/> | ||
<env name="SESSION_DRIVER" value="array"/> | ||
<env name="DB_CONNECTION" value="central"/> | ||
<env name="AWS_DEFAULT_REGION" value="us-west-2"/> | ||
</php> | ||
<logging> | ||
<log type="coverage-clover" target="coverage/phpunit/clover.xml" showUncoveredFiles="true"/> | ||
<log type="coverage-html" target="coverage/phpunit/html" lowUpperBound="35" highLowerBound="70"/> | ||
</logging> | ||
<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" backupGlobals="false" bootstrap="vendor/autoload.php" colors="true" processIsolation="false" stopOnFailure="false" xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/10.0/phpunit.xsd" cacheDirectory=".phpunit.cache" backupStaticProperties="false"> | ||
<coverage> | ||
<include> | ||
<directory suffix=".php">./src</directory> | ||
</include> | ||
<exclude> | ||
<file>./src/routes.php</file> | ||
<file>./src/Vite.php</file> | ||
</exclude> | ||
<report> | ||
<clover outputFile="coverage/phpunit/clover.xml"/> | ||
<html outputDirectory="coverage/phpunit/html" lowUpperBound="35" highLowerBound="70"/> | ||
</report> | ||
</coverage> | ||
<testsuites> | ||
<testsuite name="Unit"> | ||
<directory suffix="Test.php">./tests</directory> | ||
</testsuite> | ||
</testsuites> | ||
<php> | ||
<env name="APP_ENV" value="testing"/> | ||
<env name="BCRYPT_ROUNDS" value="4"/> | ||
<env name="CACHE_DRIVER" value="redis"/> | ||
<env name="MAIL_DRIVER" value="array"/> | ||
<env name="QUEUE_CONNECTION" value="sync"/> | ||
<env name="SESSION_DRIVER" value="array"/> | ||
<env name="DB_CONNECTION" value="central"/> | ||
<env name="AWS_DEFAULT_REGION" value="us-west-2"/> | ||
</php> | ||
<logging/> | ||
</phpunit> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,4 @@ | ||
#!/bin/bash | ||
|
||
cat vendor/laravel/framework/src/Illuminate/Foundation/Application.php | grep 'const VERSION' | ||
docker-compose exec -T test vendor/bin/phpunit "$@" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters