From d7317033cacd63a7e9e114bc8fd74a0921ae8661 Mon Sep 17 00:00:00 2001 From: Daniel Mellum Date: Mon, 4 Sep 2023 14:22:12 -0400 Subject: [PATCH 01/26] update for new Mongodb version 4. --- composer.json | 4 ++-- src/Jobs/SaveNewLogEvent.php | 2 +- src/Models/DBLogMongoDB.php | 2 +- tests/LogMongo.php | 2 +- tests/LogToDbTest.php | 2 +- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/composer.json b/composer.json index a508b1c..eedcb9d 100644 --- a/composer.json +++ b/composer.json @@ -19,7 +19,7 @@ "orchestra/testbench": "^8.0", "mockery/mockery": "^1.5", "nunomaduro/collision": "^7.0", - "jenssegers/mongodb": "dev-master" + "mongodb/laravel-mongodb": "^4" }, "suggest": { "jenssegers/mongodb": "Adds support for MongoDB in Laravel/Eloquent" @@ -39,5 +39,5 @@ } } }, - "minimum-stability": "stable" + "minimum-stability": "dev" } diff --git a/src/Jobs/SaveNewLogEvent.php b/src/Jobs/SaveNewLogEvent.php index 2825ebe..6f84369 100644 --- a/src/Jobs/SaveNewLogEvent.php +++ b/src/Jobs/SaveNewLogEvent.php @@ -19,7 +19,7 @@ class SaveNewLogEvent implements ShouldQueue * @param \Monolog\LogRecord $record * @return void */ - public function __construct(protected $logToDb, protected LogRecord $record) + public function __construct(protected object $logToDb, protected LogRecord $record) { } diff --git a/src/Models/DBLogMongoDB.php b/src/Models/DBLogMongoDB.php index 05c8b05..c29bfdf 100644 --- a/src/Models/DBLogMongoDB.php +++ b/src/Models/DBLogMongoDB.php @@ -2,7 +2,7 @@ namespace danielme85\LaravelLogToDB\Models; -use Jenssegers\Mongodb\Eloquent\Model as Eloquent; +use MongoDB\Laravel\Eloquent\Model as Eloquent; /** * Class DbLog diff --git a/tests/LogMongo.php b/tests/LogMongo.php index 5c743fb..f1a737a 100644 --- a/tests/LogMongo.php +++ b/tests/LogMongo.php @@ -6,7 +6,7 @@ * Time: 2:35 PM */ -use Jenssegers\Mongodb\Eloquent\Model as Eloquent; +use MongoDB\Laravel\Eloquent\Model as Eloquent; class LogMongo extends Eloquent { diff --git a/tests/LogToDbTest.php b/tests/LogToDbTest.php index 1a2b5b4..8d52098 100644 --- a/tests/LogToDbTest.php +++ b/tests/LogToDbTest.php @@ -132,7 +132,7 @@ protected function getPackageProviders($app) { return [ 'danielme85\LaravelLogToDB\ServiceProvider', - 'Jenssegers\Mongodb\MongodbServiceProvider', + 'MongoDB\Laravel\MongodbServiceProvider', ]; } From 6d1fee9d31751efea986c1e32dbc2a1597dae3d6 Mon Sep 17 00:00:00 2001 From: Daniel Mellum Date: Mon, 4 Sep 2023 14:38:23 -0400 Subject: [PATCH 02/26] remove circleci, update dockerfile to create php 8.2 container. --- .circleci/config.yml | 32 -------------------------------- docker/php8/Dockerfile | 4 ++-- 2 files changed, 2 insertions(+), 34 deletions(-) delete mode 100644 .circleci/config.yml diff --git a/.circleci/config.yml b/.circleci/config.yml deleted file mode 100644 index afdfd1b..0000000 --- a/.circleci/config.yml +++ /dev/null @@ -1,32 +0,0 @@ -# PHP CircleCI 2.0 configuration file -# See: https://circleci.com/docs/2.0/language-php/ -version: 2 - -# Define a job to be invoked later in a workflow. -# See: https://circleci.com/docs/2.0/configuration-reference/#jobs -jobs: - build: - working_directory: /app - docker: - - image: ghcr.io/danielme85/lltdb-testbench - - image: mariadb:latest - environment: - MYSQL_DATABASE: 'logtodb' - MYSQL_ROOT_PASSWORD: 'root' - MYSQL_ALLOW_EMPTY_PASSWORD: 'yes' - - image: mongo:latest - steps: - - checkout - - setup_remote_docker: - docker_layer_caching: true - - run: - name: Run tests - command: | - cp .env.testing .env - composer install --no-interaction - composer dump-autoload - dockerize -wait tcp://localhost:3306 -timeout 1m && - php -dpcov.enabled=1 -dpcov.directory="./src" -dpcov.exclude="~vendor~" ./vendor/bin/phpunit --coverage-clover coverage.xml - curl -Os https://uploader.codecov.io/latest/linux/codecov - chmod +x codecov - ./codecov -t $CODECOV_TOKEN diff --git a/docker/php8/Dockerfile b/docker/php8/Dockerfile index 6f71cf1..5a296fc 100644 --- a/docker/php8/Dockerfile +++ b/docker/php8/Dockerfile @@ -3,7 +3,7 @@ FROM ubuntu:jammy LABEL Maintainer="Daniel Mellum " \ Description="A simple docker image used in phpunit testing Laravel apps." -ENV DOCKERIZE_VERSION v0.6.1 +ENV DOCKERIZE_VERSION v0.7.0 ENV TZ=America/New_York ARG DEBIAN_FRONTEND=noninteractive @@ -11,7 +11,7 @@ WORKDIR / RUN apt update && apt upgrade -y RUN apt install -y curl git openssl openssh-client mysql-client bash libzip-dev zip wget \ - php8.1 php8.1-dev php8.1-mysql php8.1-mongodb php8.1-curl php8.1-mbstring php8.1-pcov php8.1-cli + php8.2 php8.2-dev php8.2-mysql php8.2-mongodb php8.2-curl php8.2-mbstring php8.2-pcov php8.2-cli RUN pecl install pcov RUN pecl install mongodb From fde22495d012cc1664f9ccf4573d211437a75f59 Mon Sep 17 00:00:00 2001 From: Daniel Mellum Date: Mon, 4 Sep 2023 14:46:21 -0400 Subject: [PATCH 03/26] try github action again. --- .github/workflows/unittest.yml | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 .github/workflows/unittest.yml diff --git a/.github/workflows/unittest.yml b/.github/workflows/unittest.yml new file mode 100644 index 0000000..ba65980 --- /dev/null +++ b/.github/workflows/unittest.yml @@ -0,0 +1,31 @@ +name: UnitTest + +on: [push] + +jobs: + build-test: + runs-on: ubuntu-latest + + steps: + - name: Checkout Code + uses: actions/checkout@v2 + + - name: Install composer and dependencies + uses: php-actions/composer@v6 + + - name: PHPUnit Tests + uses: php-actions/phpunit@v3 + env: + XDEBUG_MODE: coverage + with: + bootstrap: vendor/autoload.php + configuration: phpunit.xml + php_extensions: xdebug + args: tests --coverage-clover ./coverage.xml + + - name: Upload to Codecov + uses: codecov/codecov-action@v2 + with: + token: ${{ secrets.CODE_COV_TOKEN }} + files: ./coverage.xml + verbose: true \ No newline at end of file From 9f10f2307d206a1e6d45edbe7653463ed6319d41 Mon Sep 17 00:00:00 2001 From: Daniel Mellum Date: Mon, 4 Sep 2023 14:58:22 -0400 Subject: [PATCH 04/26] try github action again. --- .github/workflows/unittest.yml | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/.github/workflows/unittest.yml b/.github/workflows/unittest.yml index ba65980..17e0b3e 100644 --- a/.github/workflows/unittest.yml +++ b/.github/workflows/unittest.yml @@ -10,6 +10,19 @@ jobs: - name: Checkout Code uses: actions/checkout@v2 + - name: Start MongoDB + uses: supercharge/mongodb-github-action@1.10.0 + with: + mongodb-version: 7.0 + + - name: Start Mariadb + uses: shogo82148/actions-setup-mysql@v1 + with: + distribution: "mariadb" + mysql-version: "10.6" + user: root + password: root + - name: Install composer and dependencies uses: php-actions/composer@v6 From 85ae07d0968bb53b7cbba25b7cb45a1638922c17 Mon Sep 17 00:00:00 2001 From: Daniel Mellum Date: Mon, 4 Sep 2023 15:02:35 -0400 Subject: [PATCH 05/26] try github action again. --- .github/workflows/unittest.yml | 8 -------- 1 file changed, 8 deletions(-) diff --git a/.github/workflows/unittest.yml b/.github/workflows/unittest.yml index 17e0b3e..d5af39a 100644 --- a/.github/workflows/unittest.yml +++ b/.github/workflows/unittest.yml @@ -15,14 +15,6 @@ jobs: with: mongodb-version: 7.0 - - name: Start Mariadb - uses: shogo82148/actions-setup-mysql@v1 - with: - distribution: "mariadb" - mysql-version: "10.6" - user: root - password: root - - name: Install composer and dependencies uses: php-actions/composer@v6 From 0761a63d73f104253e87e312aa1a85532316be6f Mon Sep 17 00:00:00 2001 From: Daniel Mellum Date: Mon, 4 Sep 2023 15:12:55 -0400 Subject: [PATCH 06/26] try github action again. --- .github/workflows/unittest.yml | 87 +++++++++++++++++++++++++++------- 1 file changed, 69 insertions(+), 18 deletions(-) diff --git a/.github/workflows/unittest.yml b/.github/workflows/unittest.yml index d5af39a..29e9e26 100644 --- a/.github/workflows/unittest.yml +++ b/.github/workflows/unittest.yml @@ -1,36 +1,87 @@ -name: UnitTest - -on: [push] - +# GitHub Action for Laravel with MySQL and Redis +name: Testing Laravel with MySQL +on: [push, pull_request] jobs: - build-test: + laravel: + name: Laravel (PHP ${{ matrix.php-versions }}) runs-on: ubuntu-latest + env: + DB_DATABASE: laravel + DB_USERNAME: root + DB_PASSWORD: password + BROADCAST_DRIVER: log + CACHE_DRIVER: redis + QUEUE_CONNECTION: redis + SESSION_DRIVER: redis + + # Docs: https://docs.github.com/en/actions/using-containerized-services + services: + mysql: + image: mysql:latest + env: + MYSQL_ALLOW_EMPTY_PASSWORD: false + MYSQL_ROOT_PASSWORD: password + MYSQL_DATABASE: laravel + ports: + - 3306/tcp + options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3 + redis: + image: redis + ports: + - 6379/tcp + options: --health-cmd="redis-cli ping" --health-interval=10s --health-timeout=5s --health-retries=3 + strategy: + fail-fast: false + matrix: + php-versions: ['7.4', '8.0', '8.1'] steps: - - name: Checkout Code - uses: actions/checkout@v2 + - name: Checkout + uses: actions/checkout@v3 - name: Start MongoDB uses: supercharge/mongodb-github-action@1.10.0 with: mongodb-version: 7.0 - - name: Install composer and dependencies - uses: php-actions/composer@v6 + # Docs: https://github.com/shivammathur/setup-php + - name: Setup PHP + uses: shivammathur/setup-php@v2 + with: + php-version: ${{ matrix.php-versions }} + extensions: mbstring, dom, fileinfo, mysql + coverage: xdebug - - name: PHPUnit Tests - uses: php-actions/phpunit@v3 - env: - XDEBUG_MODE: coverage + # Local MySQL service in GitHub hosted environments is disabled by default. + # If you are using it instead of service containers, make sure you start it. + # - name: Start mysql service + # run: sudo systemctl start mysql.service + + - name: Get composer cache directory + id: composer-cache + run: echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT + + - name: Cache composer dependencies + uses: actions/cache@v3 with: - bootstrap: vendor/autoload.php - configuration: phpunit.xml - php_extensions: xdebug - args: tests --coverage-clover ./coverage.xml + path: ${{ steps.composer-cache.outputs.dir }} + # Use composer.json for key, if composer.lock is not committed. + # key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.json') }} + key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }} + restore-keys: ${{ runner.os }}-composer- + + - name: Install Composer dependencies + run: composer install --no-progress + + - name: Test with phpunit + run: vendor/bin/phpunit --coverage-text + env: + DB_PORT: ${{ job.services.mysql.ports['3306'] }} + REDIS_PORT: ${{ job.services.redis.ports['6379'] }} - name: Upload to Codecov uses: codecov/codecov-action@v2 with: token: ${{ secrets.CODE_COV_TOKEN }} files: ./coverage.xml - verbose: true \ No newline at end of file + verbose: true From 9877658301148d35481db36f1ccf72faf97e9b6a Mon Sep 17 00:00:00 2001 From: Daniel Mellum Date: Mon, 4 Sep 2023 15:17:59 -0400 Subject: [PATCH 07/26] try github action again. --- .github/workflows/unittest.yml | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/.github/workflows/unittest.yml b/.github/workflows/unittest.yml index 29e9e26..90f7ef4 100644 --- a/.github/workflows/unittest.yml +++ b/.github/workflows/unittest.yml @@ -26,15 +26,10 @@ jobs: - 3306/tcp options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3 - redis: - image: redis - ports: - - 6379/tcp - options: --health-cmd="redis-cli ping" --health-interval=10s --health-timeout=5s --health-retries=3 strategy: fail-fast: false matrix: - php-versions: ['7.4', '8.0', '8.1'] + php-versions: ['8.2'] steps: - name: Checkout uses: actions/checkout@v3 @@ -74,10 +69,9 @@ jobs: run: composer install --no-progress - name: Test with phpunit - run: vendor/bin/phpunit --coverage-text + run: vendor/bin/phpunit --coverage-xml env: DB_PORT: ${{ job.services.mysql.ports['3306'] }} - REDIS_PORT: ${{ job.services.redis.ports['6379'] }} - name: Upload to Codecov uses: codecov/codecov-action@v2 From 09881d25049dd78cee4a36d3c5b6aaf0c78a1d5c Mon Sep 17 00:00:00 2001 From: Daniel Mellum Date: Mon, 4 Sep 2023 15:22:38 -0400 Subject: [PATCH 08/26] try github action again. --- .github/workflows/unittest.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/unittest.yml b/.github/workflows/unittest.yml index 90f7ef4..6611a98 100644 --- a/.github/workflows/unittest.yml +++ b/.github/workflows/unittest.yml @@ -44,7 +44,7 @@ jobs: uses: shivammathur/setup-php@v2 with: php-version: ${{ matrix.php-versions }} - extensions: mbstring, dom, fileinfo, mysql + extensions: mbstring, dom, fileinfo, mysql, mongodb coverage: xdebug # Local MySQL service in GitHub hosted environments is disabled by default. @@ -69,7 +69,7 @@ jobs: run: composer install --no-progress - name: Test with phpunit - run: vendor/bin/phpunit --coverage-xml + run: vendor/bin/phpunit --coverage-clover ./coverage.xml env: DB_PORT: ${{ job.services.mysql.ports['3306'] }} From 16aed948de92ce609630e18e2c53ac5dd48cf446 Mon Sep 17 00:00:00 2001 From: Roman Shershnev Date: Mon, 4 Sep 2023 19:23:43 +0000 Subject: [PATCH 09/26] Circualr log writes fix (#59) * Circualr log writes fix --- src/Jobs/SaveNewLogEvent.php | 13 ++-------- src/LogToDB.php | 39 +++++++++++++++++++++++------ src/LogToDbCustomLoggingHandler.php | 14 +++-------- 3 files changed, 37 insertions(+), 29 deletions(-) diff --git a/src/Jobs/SaveNewLogEvent.php b/src/Jobs/SaveNewLogEvent.php index 6f84369..894f986 100644 --- a/src/Jobs/SaveNewLogEvent.php +++ b/src/Jobs/SaveNewLogEvent.php @@ -30,15 +30,6 @@ public function __construct(protected object $logToDb, protected LogRecord $reco */ public function handle() { - try { - $model = $this->logToDb->getModel(); - $log = $model->generate( - $this->record, - $this->logToDb->getConfig('detailed') - ); - $log->save(); - } catch (\Throwable $e) { - throw new DBLogException($e->getMessage()); - } + $this->logToDb->safeWrite($this->record); } -} \ No newline at end of file +} diff --git a/src/LogToDB.php b/src/LogToDB.php index f5e7d2d..cfed00b 100644 --- a/src/LogToDB.php +++ b/src/LogToDB.php @@ -5,6 +5,8 @@ use danielme85\LaravelLogToDB\Jobs\SaveNewLogEvent; use danielme85\LaravelLogToDB\Models\DBLog; use danielme85\LaravelLogToDB\Models\DBLogMongoDB; +use Monolog\Formatter\LineFormatter; +use Monolog\Handler\ErrorLogHandler; use Monolog\LogRecord; /** @@ -180,19 +182,42 @@ public function newFromMonolog(LogRecord $record) ->onQueue($this->config['queue_name']); } } else { - $model = $this->getModel(); - $log = $model->generate( - $record - ); - if ($log->save()) { - return true; - } + $this->safeWrite($record); + return true; } } return false; } + public function safeWrite(LogRecord $record) { + try { + $model = $this->getModel(); + $log = $model->generate( + $record + ); + $log->save(); + } catch (\Throwable $e) { + self::emergencyLog(new LogRecord( + datetime: new \Monolog\DateTimeImmutable(true), + channel: '', + level: \Monolog\Level::Critical, + message: 'There was an error while trying to write the log to a DB, log record pushed to error_log()', + context: LogToDB::parseIfException(['exception' => $e]), + extra: [] + )); + + self::emergencyLog($record); + } + } + + public static function emergencyLog(LogRecord $record) + { + $errorHandler = new ErrorLogHandler(); + $errorHandler->setFormatter(new LineFormatter('%level_name%: %message% %context%')); + $errorHandler->handle($record); + } + /** * Get config value * diff --git a/src/LogToDbCustomLoggingHandler.php b/src/LogToDbCustomLoggingHandler.php index 05ee52e..4a9d7d9 100644 --- a/src/LogToDbCustomLoggingHandler.php +++ b/src/LogToDbCustomLoggingHandler.php @@ -61,8 +61,7 @@ protected function write(LogRecord $record): void $log = new LogToDB($this->config); $log->newFromMonolog($record); } catch (\Exception $e) { - - $this->emergencyLog(new LogRecord( + LogToDB::emergencyLog(new LogRecord( datetime: new \Monolog\DateTimeImmutable(true), channel: '', level: \Monolog\Level::Critical, @@ -70,15 +69,8 @@ protected function write(LogRecord $record): void context: LogToDB::parseIfException(['exception' => $e]), extra: [] )); - - $this->emergencyLog($record); - } - } - protected function emergencyLog(LogRecord $record) - { - $errorHandler = new ErrorLogHandler(); - $errorHandler->setFormatter(new LineFormatter('%level_name%: %message% %context%')); - $errorHandler->handle($record); + LogToDB::emergencyLog($record); + } } } From 01ab4559a93f1e9cdce8f393870479467bb5ff98 Mon Sep 17 00:00:00 2001 From: Daniel Mellum Date: Fri, 8 Sep 2023 23:04:07 -0400 Subject: [PATCH 10/26] update testing, composer, and phpunit config --- phpunit.xml | 17 +++++++++-------- tests/LogToDbTest.php | 5 ++++- tests/{ => TestModels}/CustomEloquentModel.php | 2 ++ tests/{ => TestModels}/LogMongo.php | 2 ++ tests/{ => TestModels}/LogSql.php | 2 ++ 5 files changed, 19 insertions(+), 9 deletions(-) rename tests/{ => TestModels}/CustomEloquentModel.php (93%) rename tests/{ => TestModels}/LogMongo.php (91%) rename tests/{ => TestModels}/LogSql.php (89%) diff --git a/phpunit.xml b/phpunit.xml index ea0ae48..d2c136b 100644 --- a/phpunit.xml +++ b/phpunit.xml @@ -1,16 +1,17 @@ - - + + + + + ./tests/ + + + ./src ./vendor - - - - ./tests/ - - + diff --git a/tests/LogToDbTest.php b/tests/LogToDbTest.php index 8d52098..ee3b09f 100644 --- a/tests/LogToDbTest.php +++ b/tests/LogToDbTest.php @@ -1,5 +1,6 @@ Date: Wed, 13 Sep 2023 09:46:51 -0400 Subject: [PATCH 11/26] try github action again. --- .github/workflows/unittest.yml | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/.github/workflows/unittest.yml b/.github/workflows/unittest.yml index 6611a98..bfe4743 100644 --- a/.github/workflows/unittest.yml +++ b/.github/workflows/unittest.yml @@ -52,19 +52,6 @@ jobs: # - name: Start mysql service # run: sudo systemctl start mysql.service - - name: Get composer cache directory - id: composer-cache - run: echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT - - - name: Cache composer dependencies - uses: actions/cache@v3 - with: - path: ${{ steps.composer-cache.outputs.dir }} - # Use composer.json for key, if composer.lock is not committed. - # key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.json') }} - key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }} - restore-keys: ${{ runner.os }}-composer- - - name: Install Composer dependencies run: composer install --no-progress From f927c1f172b12f2d8f380231b7ce8ede38e3529e Mon Sep 17 00:00:00 2001 From: Daniel Mellum Date: Wed, 13 Sep 2023 10:30:27 -0400 Subject: [PATCH 12/26] change build options for docker --- buildDockerImages.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/buildDockerImages.sh b/buildDockerImages.sh index f4e66f4..629e88b 100755 --- a/buildDockerImages.sh +++ b/buildDockerImages.sh @@ -1,3 +1,3 @@ #!/bin/bash echo "Building PHP8 image..." && -cd ./docker/php8 && docker buildx build --platform linux/amd64,linux/arm64 --push . -t ghcr.io/danielme85/lltdb-testbench:latest +cd ./docker/php8 && docker buildx build --push . -t ghcr.io/danielme85/lltdb-testbench:latest From 20b22a96cd712150b8a24a682269d7149b2df5dc Mon Sep 17 00:00:00 2001 From: Daniel Mellum Date: Wed, 13 Sep 2023 10:32:16 -0400 Subject: [PATCH 13/26] change build options for docker --- docker/php8/Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docker/php8/Dockerfile b/docker/php8/Dockerfile index 5a296fc..cbb3276 100644 --- a/docker/php8/Dockerfile +++ b/docker/php8/Dockerfile @@ -10,8 +10,8 @@ ARG DEBIAN_FRONTEND=noninteractive WORKDIR / RUN apt update && apt upgrade -y -RUN apt install -y curl git openssl openssh-client mysql-client bash libzip-dev zip wget \ - php8.2 php8.2-dev php8.2-mysql php8.2-mongodb php8.2-curl php8.2-mbstring php8.2-pcov php8.2-cli +RUN apt install -y curl git openssl openssh-client mysql-client bash libzip-dev zip wget +RUN apt install -y php8.2 php8.2-dev php8.2-mysql php8.2-mongodb php8.2-curl php8.2-mbstring php8.2-pcov php8.2-cli RUN pecl install pcov RUN pecl install mongodb From 7e84b9cbd1fce253b7fedb6bac4104ba1c1d4d33 Mon Sep 17 00:00:00 2001 From: Daniel Mellum Date: Wed, 13 Sep 2023 10:34:03 -0400 Subject: [PATCH 14/26] change build options for docker --- docker/php8/Dockerfile | 1 + 1 file changed, 1 insertion(+) diff --git a/docker/php8/Dockerfile b/docker/php8/Dockerfile index cbb3276..58b3939 100644 --- a/docker/php8/Dockerfile +++ b/docker/php8/Dockerfile @@ -9,6 +9,7 @@ ARG DEBIAN_FRONTEND=noninteractive WORKDIR / +RUN apt add-apt-repository ppa:ondrej/php -y RUN apt update && apt upgrade -y RUN apt install -y curl git openssl openssh-client mysql-client bash libzip-dev zip wget RUN apt install -y php8.2 php8.2-dev php8.2-mysql php8.2-mongodb php8.2-curl php8.2-mbstring php8.2-pcov php8.2-cli From bfe2d76482afe4980b19f8370e7126b60f7b3f1d Mon Sep 17 00:00:00 2001 From: Daniel Mellum Date: Wed, 13 Sep 2023 10:48:41 -0400 Subject: [PATCH 15/26] fix tests --- .github/workflows/unittest.yml | 4 ++-- docker/php8/Dockerfile | 3 ++- tests/LogToDbTest.php | 4 ++-- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/.github/workflows/unittest.yml b/.github/workflows/unittest.yml index bfe4743..71f718c 100644 --- a/.github/workflows/unittest.yml +++ b/.github/workflows/unittest.yml @@ -55,8 +55,8 @@ jobs: - name: Install Composer dependencies run: composer install --no-progress - - name: Test with phpunit - run: vendor/bin/phpunit --coverage-clover ./coverage.xml + - name: Test with workbench + run: vendor/bin/testbench package:test --coverage-clover ./coverage.xml env: DB_PORT: ${{ job.services.mysql.ports['3306'] }} diff --git a/docker/php8/Dockerfile b/docker/php8/Dockerfile index 58b3939..174abf1 100644 --- a/docker/php8/Dockerfile +++ b/docker/php8/Dockerfile @@ -9,7 +9,8 @@ ARG DEBIAN_FRONTEND=noninteractive WORKDIR / -RUN apt add-apt-repository ppa:ondrej/php -y +RUN apt update && apt install -y lsb-release gnupg2 ca-certificates apt-transport-https software-properties-common +RUN apt update && add-apt-repository ppa:ondrej/php RUN apt update && apt upgrade -y RUN apt install -y curl git openssl openssh-client mysql-client bash libzip-dev zip wget RUN apt install -y php8.2 php8.2-dev php8.2-mysql php8.2-mongodb php8.2-curl php8.2-mbstring php8.2-pcov php8.2-cli diff --git a/tests/LogToDbTest.php b/tests/LogToDbTest.php index ee3b09f..78d705c 100644 --- a/tests/LogToDbTest.php +++ b/tests/LogToDbTest.php @@ -134,8 +134,8 @@ protected function defineEnvironment($app) protected function getPackageProviders($app) { return [ - 'danielme85\LaravelLogToDB\ServiceProvider', - 'MongoDB\Laravel\MongodbServiceProvider', + \danielme85\LaravelLogToDB\ServiceProvider::class, + \MongoDB\Laravel\MongoDBServiceProvider::class, ]; } From 11815109eb4ef5afe7214c3883157b983a5021bc Mon Sep 17 00:00:00 2001 From: Daniel Mellum Date: Wed, 13 Sep 2023 10:50:19 -0400 Subject: [PATCH 16/26] fix tests --- docker-compose.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker-compose.yaml b/docker-compose.yaml index cf58345..2f4f4c4 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -41,7 +41,7 @@ services: - DB_USERNAME=root - DB_PASSWORD=root - MDB_DATABASE=logtodb - - MDB_HOST=mongo + - MDB_HOST=mongodb - MDB_PORT=27017 entrypoint: bash -c " cd /var/testing && From 69b11fe3b87ac5418ab20515aab20bb61ff76b8d Mon Sep 17 00:00:00 2001 From: Daniel Mellum Date: Wed, 13 Sep 2023 10:52:37 -0400 Subject: [PATCH 17/26] fix tests --- .github/workflows/unittest.yml | 2 +- docker-compose.yaml | 9 +++------ 2 files changed, 4 insertions(+), 7 deletions(-) diff --git a/.github/workflows/unittest.yml b/.github/workflows/unittest.yml index 71f718c..95cae10 100644 --- a/.github/workflows/unittest.yml +++ b/.github/workflows/unittest.yml @@ -1,6 +1,6 @@ # GitHub Action for Laravel with MySQL and Redis name: Testing Laravel with MySQL -on: [push, pull_request] +on: [pull_request] jobs: laravel: name: Laravel (PHP ${{ matrix.php-versions }}) diff --git a/docker-compose.yaml b/docker-compose.yaml index 2f4f4c4..85637f9 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -7,20 +7,17 @@ services: container_name: laravel-log-to-db-mariadb networks: - laravel-log-to-db-testing - ports: - - "3366:3306" + environment: MYSQL_DATABASE: 'logtodb' MYSQL_ROOT_PASSWORD: 'root' MYSQL_ALLOW_EMPTY_PASSWORD: 'yes' - mongo: + mongodb: image: mongo:latest container_name: laravel-log-to-db-mongodb networks: - laravel-log-to-db-testing - ports: - - "27888:27017" php8: image: ghcr.io/danielme85/lltdb-testbench @@ -28,7 +25,7 @@ services: tty: true depends_on: - "mariadb" - - "mongo" + - "mongodb" networks: - laravel-log-to-db-testing volumes: From cf3adc27b046278809418fe41196195a643ead54 Mon Sep 17 00:00:00 2001 From: Daniel Mellum Date: Wed, 13 Sep 2023 10:55:09 -0400 Subject: [PATCH 18/26] fix tests --- docker-compose.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docker-compose.yaml b/docker-compose.yaml index 85637f9..9b25991 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -13,7 +13,7 @@ services: MYSQL_ROOT_PASSWORD: 'root' MYSQL_ALLOW_EMPTY_PASSWORD: 'yes' - mongodb: + mongo: image: mongo:latest container_name: laravel-log-to-db-mongodb networks: @@ -25,7 +25,7 @@ services: tty: true depends_on: - "mariadb" - - "mongodb" + - "mongo" networks: - laravel-log-to-db-testing volumes: @@ -38,7 +38,7 @@ services: - DB_USERNAME=root - DB_PASSWORD=root - MDB_DATABASE=logtodb - - MDB_HOST=mongodb + - MDB_HOST=mongo - MDB_PORT=27017 entrypoint: bash -c " cd /var/testing && From 74d29bf8321f6fe34ea1302c7f6f3e1f9a94e36a Mon Sep 17 00:00:00 2001 From: Daniel Mellum Date: Wed, 13 Sep 2023 10:59:01 -0400 Subject: [PATCH 19/26] (un)fix tests? --- .github/workflows/unittest.yml | 2 +- docker-compose.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/unittest.yml b/.github/workflows/unittest.yml index 95cae10..311c9e1 100644 --- a/.github/workflows/unittest.yml +++ b/.github/workflows/unittest.yml @@ -56,7 +56,7 @@ jobs: run: composer install --no-progress - name: Test with workbench - run: vendor/bin/testbench package:test --coverage-clover ./coverage.xml + run: vendor/bin/phpunit --coverage-clover ./coverage.xml env: DB_PORT: ${{ job.services.mysql.ports['3306'] }} diff --git a/docker-compose.yaml b/docker-compose.yaml index 9b25991..089800c 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -44,7 +44,7 @@ services: cd /var/testing && composer install --no-interaction && dockerize -wait tcp://mariadb:3306 -timeout 1m && - ./vendor/bin/testbench package:test + ./vendor/bin/phpunit " networks: From e979785068b7c7b31735128d430679156f1c2cec Mon Sep 17 00:00:00 2001 From: Daniel Mellum Date: Wed, 13 Sep 2023 13:05:24 -0400 Subject: [PATCH 20/26] (un)fix tests? --- docker-compose.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docker-compose.yaml b/docker-compose.yaml index 089800c..6d8edbe 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -23,6 +23,8 @@ services: image: ghcr.io/danielme85/lltdb-testbench container_name: laravel-log-to-db-php8 tty: true + extra_hosts: + - 'host.docker.internal:host-gateway' depends_on: - "mariadb" - "mongo" From f8324bbb20f971b6be6a0c8644da96d31a0839d1 Mon Sep 17 00:00:00 2001 From: Daniel Mellum Date: Sat, 16 Sep 2023 18:32:34 -0400 Subject: [PATCH 21/26] mongodb why you no connect? --- docker-compose.yaml | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/docker-compose.yaml b/docker-compose.yaml index 6d8edbe..0da3839 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -7,7 +7,8 @@ services: container_name: laravel-log-to-db-mariadb networks: - laravel-log-to-db-testing - + ports: + - "3306:3306" environment: MYSQL_DATABASE: 'logtodb' MYSQL_ROOT_PASSWORD: 'root' @@ -18,6 +19,8 @@ services: container_name: laravel-log-to-db-mongodb networks: - laravel-log-to-db-testing + ports: + - "27017:27017" php8: image: ghcr.io/danielme85/lltdb-testbench @@ -34,13 +37,13 @@ services: - .:/var/testing environment: - DB_CONNECTION=mysql - - DB_HOST=mariadb + - DB_HOST=127.0.0.1 - DB_PORT=3306 - DB_DATABASE=logtodb - DB_USERNAME=root - DB_PASSWORD=root - MDB_DATABASE=logtodb - - MDB_HOST=mongo + - MDB_HOST=127.0.0.1 - MDB_PORT=27017 entrypoint: bash -c " cd /var/testing && From bb0a7936c86b3ab97ff048f6fa33a869c96d4e6d Mon Sep 17 00:00:00 2001 From: Daniel Mellum Date: Sat, 16 Sep 2023 19:12:45 -0400 Subject: [PATCH 22/26] WIP --- .env.testing | 4 ++-- .phpunit.cache/test-results | 1 + docker-compose.yaml | 36 ++++++++++-------------------------- docker/php8/Dockerfile | 8 ++++++-- runLocalTestInDocker.sh | 6 +++--- 5 files changed, 22 insertions(+), 33 deletions(-) create mode 100644 .phpunit.cache/test-results diff --git a/.env.testing b/.env.testing index 5b05cb3..0bb1f36 100644 --- a/.env.testing +++ b/.env.testing @@ -1,9 +1,9 @@ DB_CONNECTION=mysql -DB_HOST=127.0.0.1 +DB_HOST=logto-mariadb DB_PORT=3306 DB_DATABASE=logtodb DB_USERNAME=root DB_PASSWORD=root MDB_DATABASE=logtodb -MDB_HOST=127.0.0.1 +MDB_HOST=logto-mongodb MDB_PORT=27017 diff --git a/.phpunit.cache/test-results b/.phpunit.cache/test-results new file mode 100644 index 0000000..cb76285 --- /dev/null +++ b/.phpunit.cache/test-results @@ -0,0 +1 @@ +{"version":1,"defects":{"LogToDbTest::testClassInit":8,"LogToDbTest::testLogLevels":8,"LogToDbTest::testContext":8,"LogToDbTest::testProcessors":8,"LogToDbTest::testLoggingToChannels":8,"LogToDbTest::testException":8,"LogToDbTest::testExceptionWrongFormat":8,"LogToDbTest::testExceptionIgnore":8,"LogToDbTest::testQueue":8,"LogToDbTest::testSaveNewLogEventJob":8,"LogToDbTest::testModelInteraction":8,"LogToDbTest::testStandAloneModels":8,"LogToDbTest::testCustomModel":8,"LogToDbTest::testRemoves":8,"LogToDbTest::testCleanerUpper":8,"LogToDbTest::testFinalCleanup":8},"times":{"FailureTest::testEmergencyFailure":0.046,"LogToDbTest::testClassInit":0.059,"LogToDbTest::testLogLevels":0.074,"LogToDbTest::testContext":0.034,"LogToDbTest::testProcessors":0.035,"LogToDbTest::testLoggingToChannels":0.034,"LogToDbTest::testException":0.042,"LogToDbTest::testExceptionWrongFormat":0.037,"LogToDbTest::testExceptionIgnore":0.029,"LogToDbTest::testQueue":0.036,"LogToDbTest::testSaveNewLogEventJob":0.035,"LogToDbTest::testModelInteraction":0.043,"LogToDbTest::testStandAloneModels":0.033,"LogToDbTest::testCustomModel":0.038,"LogToDbTest::testRemoves":1.068,"LogToDbTest::testCleanerUpper":0.098,"LogToDbTest::testFinalCleanup":0.044}} \ No newline at end of file diff --git a/docker-compose.yaml b/docker-compose.yaml index 0da3839..64148d0 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -2,53 +2,37 @@ version: "3.0" services: - mariadb: + logto-mariadb: image: mariadb:latest - container_name: laravel-log-to-db-mariadb + container_name: logto-mariadb networks: - laravel-log-to-db-testing - ports: - - "3306:3306" environment: MYSQL_DATABASE: 'logtodb' MYSQL_ROOT_PASSWORD: 'root' MYSQL_ALLOW_EMPTY_PASSWORD: 'yes' - mongo: - image: mongo:latest - container_name: laravel-log-to-db-mongodb + logto-mongodb: + image: nertworkweb/mongodb-no-avx:latest + container_name: logto-mongodb networks: - laravel-log-to-db-testing - ports: - - "27017:27017" php8: image: ghcr.io/danielme85/lltdb-testbench container_name: laravel-log-to-db-php8 - tty: true - extra_hosts: - - 'host.docker.internal:host-gateway' - depends_on: - - "mariadb" - - "mongo" networks: - laravel-log-to-db-testing volumes: - .:/var/testing - environment: - - DB_CONNECTION=mysql - - DB_HOST=127.0.0.1 - - DB_PORT=3306 - - DB_DATABASE=logtodb - - DB_USERNAME=root - - DB_PASSWORD=root - - MDB_DATABASE=logtodb - - MDB_HOST=127.0.0.1 - - MDB_PORT=27017 + depends_on: + - logto-mariadb + - logto-mongodb entrypoint: bash -c " + /wait && cd /var/testing && composer install --no-interaction && - dockerize -wait tcp://mariadb:3306 -timeout 1m && + dockerize -wait tcp://logto-mariadb:3306 -timeout 1m && ./vendor/bin/phpunit " diff --git a/docker/php8/Dockerfile b/docker/php8/Dockerfile index 174abf1..3deec62 100644 --- a/docker/php8/Dockerfile +++ b/docker/php8/Dockerfile @@ -29,6 +29,10 @@ RUN wget https://github.com/jwilder/dockerize/releases/download/$DOCKERIZE_VERSI RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer COPY entrypoint.sh /entrypoint.sh -RUN chmod +x /entrypoint.sh -ENTRYPOINT ["/entrypoint.sh"] \ No newline at end of file +ADD https://github.com/ufoscout/docker-compose-wait/releases/download/2.2.1/wait /wait +RUN chmod +x /wait + +#CMD /wait && /entrypoint.sh + +ENTRYPOINT ["/entrypoint.sh"] diff --git a/runLocalTestInDocker.sh b/runLocalTestInDocker.sh index eea3e84..e1f3d6f 100755 --- a/runLocalTestInDocker.sh +++ b/runLocalTestInDocker.sh @@ -1,4 +1,4 @@ #!/bin/bash -docker-compose up -d mariadb mongo && -docker-compose up php8 && -docker-compose down +docker compose up -d logto-mariadb logto-mongodb && +docker compose up php8 && +docker compose down From ebd0a1c48fdbfdabac5ce9f135fb7c429e64c8f1 Mon Sep 17 00:00:00 2001 From: Daniel Mellum Date: Sun, 17 Sep 2023 17:55:11 -0400 Subject: [PATCH 23/26] tweak testing --- composer.json | 1 + docker-compose.yaml | 8 ++++++-- docker/php8/Dockerfile | 5 ++--- phpunit.xml | 34 +++++++++++++++++++--------------- 4 files changed, 28 insertions(+), 20 deletions(-) diff --git a/composer.json b/composer.json index eedcb9d..fbb80b5 100644 --- a/composer.json +++ b/composer.json @@ -16,6 +16,7 @@ }, "require-dev": { "ext-mongodb": "*", + "phpunit/phpunit": "9.*", "orchestra/testbench": "^8.0", "mockery/mockery": "^1.5", "nunomaduro/collision": "^7.0", diff --git a/docker-compose.yaml b/docker-compose.yaml index 64148d0..e70395e 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -13,14 +13,16 @@ services: MYSQL_ALLOW_EMPTY_PASSWORD: 'yes' logto-mongodb: - image: nertworkweb/mongodb-no-avx:latest + image: mongo:latest container_name: logto-mongodb networks: - laravel-log-to-db-testing php8: - image: ghcr.io/danielme85/lltdb-testbench + build: + dockerfile: ./docker/php8/Dockerfile container_name: laravel-log-to-db-php8 + tty: true networks: - laravel-log-to-db-testing volumes: @@ -28,6 +30,8 @@ services: depends_on: - logto-mariadb - logto-mongodb + environment: + WAIT_HOSTS: logto-mariadb:3306, logto-mongodb:27017 entrypoint: bash -c " /wait && cd /var/testing && diff --git a/docker/php8/Dockerfile b/docker/php8/Dockerfile index 3deec62..370e866 100644 --- a/docker/php8/Dockerfile +++ b/docker/php8/Dockerfile @@ -28,11 +28,10 @@ RUN wget https://github.com/jwilder/dockerize/releases/download/$DOCKERIZE_VERSI RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer -COPY entrypoint.sh /entrypoint.sh - ADD https://github.com/ufoscout/docker-compose-wait/releases/download/2.2.1/wait /wait RUN chmod +x /wait -#CMD /wait && /entrypoint.sh +COPY entrypoint.sh /entrypoint.sh +RUN chmod +x /entrypoint.sh ENTRYPOINT ["/entrypoint.sh"] diff --git a/phpunit.xml b/phpunit.xml index d2c136b..86ac476 100644 --- a/phpunit.xml +++ b/phpunit.xml @@ -1,17 +1,21 @@ - - - - - ./tests/ - - - - - ./src - - - ./vendor - - + + + + + ./tests/ + + + + + ./src + + + ./vendor + + From 0ab2a09176a37e8893cddfd9d47ce0d3c57aecf6 Mon Sep 17 00:00:00 2001 From: Daniel Mellum Date: Mon, 18 Sep 2023 09:25:53 -0400 Subject: [PATCH 24/26] use different env for local vs github action testing. --- .env.testing | 4 ++-- .github/workflows/unittest.yml | 16 ++++++++-------- .phpunit.cache/test-results | 2 +- docker-compose.yaml | 10 +++++++++- 4 files changed, 20 insertions(+), 12 deletions(-) diff --git a/.env.testing b/.env.testing index 0bb1f36..5b05cb3 100644 --- a/.env.testing +++ b/.env.testing @@ -1,9 +1,9 @@ DB_CONNECTION=mysql -DB_HOST=logto-mariadb +DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=logtodb DB_USERNAME=root DB_PASSWORD=root MDB_DATABASE=logtodb -MDB_HOST=logto-mongodb +MDB_HOST=127.0.0.1 MDB_PORT=27017 diff --git a/.github/workflows/unittest.yml b/.github/workflows/unittest.yml index 311c9e1..628cd13 100644 --- a/.github/workflows/unittest.yml +++ b/.github/workflows/unittest.yml @@ -6,13 +6,13 @@ jobs: name: Laravel (PHP ${{ matrix.php-versions }}) runs-on: ubuntu-latest env: - DB_DATABASE: laravel + DB_DATABASE: logtodb DB_USERNAME: root - DB_PASSWORD: password + DB_PASSWORD: root BROADCAST_DRIVER: log - CACHE_DRIVER: redis - QUEUE_CONNECTION: redis - SESSION_DRIVER: redis + CACHE_DRIVER: file + QUEUE_CONNECTION: file + SESSION_DRIVER: file # Docs: https://docs.github.com/en/actions/using-containerized-services services: @@ -20,8 +20,8 @@ jobs: image: mysql:latest env: MYSQL_ALLOW_EMPTY_PASSWORD: false - MYSQL_ROOT_PASSWORD: password - MYSQL_DATABASE: laravel + MYSQL_ROOT_PASSWORD: root + MYSQL_DATABASE: logtodb ports: - 3306/tcp options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3 @@ -55,7 +55,7 @@ jobs: - name: Install Composer dependencies run: composer install --no-progress - - name: Test with workbench + - name: Test with phpunit run: vendor/bin/phpunit --coverage-clover ./coverage.xml env: DB_PORT: ${{ job.services.mysql.ports['3306'] }} diff --git a/.phpunit.cache/test-results b/.phpunit.cache/test-results index cb76285..7fb7668 100644 --- a/.phpunit.cache/test-results +++ b/.phpunit.cache/test-results @@ -1 +1 @@ -{"version":1,"defects":{"LogToDbTest::testClassInit":8,"LogToDbTest::testLogLevels":8,"LogToDbTest::testContext":8,"LogToDbTest::testProcessors":8,"LogToDbTest::testLoggingToChannels":8,"LogToDbTest::testException":8,"LogToDbTest::testExceptionWrongFormat":8,"LogToDbTest::testExceptionIgnore":8,"LogToDbTest::testQueue":8,"LogToDbTest::testSaveNewLogEventJob":8,"LogToDbTest::testModelInteraction":8,"LogToDbTest::testStandAloneModels":8,"LogToDbTest::testCustomModel":8,"LogToDbTest::testRemoves":8,"LogToDbTest::testCleanerUpper":8,"LogToDbTest::testFinalCleanup":8},"times":{"FailureTest::testEmergencyFailure":0.046,"LogToDbTest::testClassInit":0.059,"LogToDbTest::testLogLevels":0.074,"LogToDbTest::testContext":0.034,"LogToDbTest::testProcessors":0.035,"LogToDbTest::testLoggingToChannels":0.034,"LogToDbTest::testException":0.042,"LogToDbTest::testExceptionWrongFormat":0.037,"LogToDbTest::testExceptionIgnore":0.029,"LogToDbTest::testQueue":0.036,"LogToDbTest::testSaveNewLogEventJob":0.035,"LogToDbTest::testModelInteraction":0.043,"LogToDbTest::testStandAloneModels":0.033,"LogToDbTest::testCustomModel":0.038,"LogToDbTest::testRemoves":1.068,"LogToDbTest::testCleanerUpper":0.098,"LogToDbTest::testFinalCleanup":0.044}} \ No newline at end of file +{"version":1,"defects":{"LogToDbTest::testClassInit":8,"LogToDbTest::testLogLevels":8,"LogToDbTest::testContext":8,"LogToDbTest::testProcessors":8,"LogToDbTest::testLoggingToChannels":8,"LogToDbTest::testException":8,"LogToDbTest::testExceptionWrongFormat":8,"LogToDbTest::testExceptionIgnore":8,"LogToDbTest::testQueue":8,"LogToDbTest::testSaveNewLogEventJob":8,"LogToDbTest::testModelInteraction":8,"LogToDbTest::testStandAloneModels":8,"LogToDbTest::testCustomModel":8,"LogToDbTest::testRemoves":8,"LogToDbTest::testCleanerUpper":8,"LogToDbTest::testFinalCleanup":8},"times":{"FailureTest::testEmergencyFailure":0.062,"LogToDbTest::testClassInit":0.022,"LogToDbTest::testLogLevels":0.026,"LogToDbTest::testContext":0.011,"LogToDbTest::testProcessors":0.009,"LogToDbTest::testLoggingToChannels":0.009,"LogToDbTest::testException":0.016,"LogToDbTest::testExceptionWrongFormat":0.009,"LogToDbTest::testExceptionIgnore":0.006,"LogToDbTest::testQueue":0.015,"LogToDbTest::testSaveNewLogEventJob":0.007,"LogToDbTest::testModelInteraction":0.055,"LogToDbTest::testStandAloneModels":0.011,"LogToDbTest::testCustomModel":0.008,"LogToDbTest::testRemoves":2.09,"LogToDbTest::testCleanerUpper":0.055,"LogToDbTest::testFinalCleanup":0.012}} \ No newline at end of file diff --git a/docker-compose.yaml b/docker-compose.yaml index e70395e..8a66171 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -32,11 +32,19 @@ services: - logto-mongodb environment: WAIT_HOSTS: logto-mariadb:3306, logto-mongodb:27017 + DB_CONNECTION: mysql + DB_HOST: logto-mariadb + DB_PORT: 3306 + DB_DATABASE: logtodb + DB_USERNAME: root + DB_PASSWORD: root + MDB_DATABASE: logtodb + MDB_HOST: logto-mongodb + MDB_PORT: 27017 entrypoint: bash -c " /wait && cd /var/testing && composer install --no-interaction && - dockerize -wait tcp://logto-mariadb:3306 -timeout 1m && ./vendor/bin/phpunit " From 31a6b82a31333e89502997658803fb2add0c3494 Mon Sep 17 00:00:00 2001 From: Daniel Mellum Date: Mon, 18 Sep 2023 09:34:03 -0400 Subject: [PATCH 25/26] ignore phpunit cache folder --- .gitignore | 3 ++- phpunit.xml.bak | 25 +++++++++++++++++++++++++ 2 files changed, 27 insertions(+), 1 deletion(-) create mode 100644 phpunit.xml.bak diff --git a/.gitignore b/.gitignore index cbaee29..c929011 100644 --- a/.gitignore +++ b/.gitignore @@ -15,4 +15,5 @@ coverage.xml .phpstorm.meta.php _ide_helper.php _ide_helper_models.php.php -.phpunit.result.cache \ No newline at end of file +.phpunit.result.cache +.phpunit.cache \ No newline at end of file diff --git a/phpunit.xml.bak b/phpunit.xml.bak new file mode 100644 index 0000000..04a8199 --- /dev/null +++ b/phpunit.xml.bak @@ -0,0 +1,25 @@ + + + + + + ./tests/ + + + + + ./src + + + ./vendor + + + From 5a45dca25524f8071bf955a4e01faa7a9d4c895e Mon Sep 17 00:00:00 2001 From: Daniel Mellum Date: Mon, 25 Nov 2024 12:34:20 -0500 Subject: [PATCH 26/26] update testing to php 8.4 on github actions --- .github/workflows/unittest.yml | 2 +- .gitignore | 2 +- buildDockerImages.sh | 3 --- 3 files changed, 2 insertions(+), 5 deletions(-) delete mode 100755 buildDockerImages.sh diff --git a/.github/workflows/unittest.yml b/.github/workflows/unittest.yml index bf3e1ff..90af961 100644 --- a/.github/workflows/unittest.yml +++ b/.github/workflows/unittest.yml @@ -30,7 +30,7 @@ jobs: fail-fast: false matrix: laravel: [ ^10.0, ^11.0 ] - php: ['8.2', '8.3'] + php: ['8.3', '8.4'] include: - laravel: ^10.0 testbench: ^8.0 diff --git a/.gitignore b/.gitignore index c929011..11ca2f5 100644 --- a/.gitignore +++ b/.gitignore @@ -16,4 +16,4 @@ coverage.xml _ide_helper.php _ide_helper_models.php.php .phpunit.result.cache -.phpunit.cache \ No newline at end of file +.phpunit.cache/* \ No newline at end of file diff --git a/buildDockerImages.sh b/buildDockerImages.sh deleted file mode 100755 index 629e88b..0000000 --- a/buildDockerImages.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/bash -echo "Building PHP8 image..." && -cd ./docker/php8 && docker buildx build --push . -t ghcr.io/danielme85/lltdb-testbench:latest