diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 527d1c7..7377629 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -1,20 +1,19 @@ -# This is a basic workflow to help you get started with Actions - name: tests -# Controls when the action will run. Triggers the workflow on push or pull request -# events but only for the master branch on: push: - branches: [ master ] + branches: + - master pull_request: - branches: [ master ] + branches: + - master -# A workflow run is made up of one or more jobs that can run sequentially or in parallel jobs: laravel: name: php${{ matrix.php }} - laravel${{ matrix.laravel }} - ${{ matrix.dependency-version }} + runs-on: ubuntu-latest + env: BROADCAST_DRIVER: log DB_CONNECTION: pgsql @@ -22,6 +21,7 @@ jobs: DB_PASSWORD: postgres DB_USERNAME: postgres DB_DATABASE: postgres + services: postgres: image: postgres:12 @@ -32,12 +32,13 @@ jobs: ports: - 5432/tcp options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 3 + strategy: fail-fast: false matrix: - php: [ 8.4, 8.3, 8.2, 8.1, 8.0, 7.4 ] - laravel: [ 11.*, 10.*, 9.*, 8.*, 7.* ] - dependency-version: [ prefer-lowest, prefer-stable ] + php: [8.4, 8.3, 8.2, 8.1, 8.0, 7.4] + laravel: ['7.*', '8.*', '9.*', '10.*', '11.*', '12.*'] + dependency-version: [prefer-lowest, prefer-stable] exclude: - php: 8.0 dependency-version: prefer-lowest @@ -69,6 +70,12 @@ jobs: laravel: 11.* - php: 8.1 laravel: 11.* + - laravel: 12.* + php: 8.1 + - laravel: 12.* + php: 8.0 + - laravel: 12.* + php: 7.4 include: - laravel: 11.* testbench: 9.* @@ -80,12 +87,15 @@ jobs: testbench: 6.* - laravel: 7.* testbench: 5.* + - laravel: 12.* + testbench: 10.* + steps: - name: Checkout uses: actions/checkout@v2 - name: Setup PHP, with composer and extensions - uses: shivammathur/setup-php@v2 #https://github.com/shivammathur/setup-php + uses: shivammathur/setup-php@v2 with: php-version: ${{ matrix.php }} extensions: mbstring, dom, fileinfo, pgsql @@ -96,11 +106,9 @@ jobs: run: echo "::set-output name=dir::$(composer config cache-files-dir)" - name: Cache composer dependencies - uses: actions/cache@v1 + uses: actions/cache@v4 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- diff --git a/README.md b/README.md index 981db23..352325f 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ ![postgres-range](https://banners.beyondco.de/postgres-range.png?theme=dark&packageManager=composer+require&packageName=belamov%2Fpostgres-range&pattern=architect&style=style_1&description=Laravel+package+for+PostgreSQL+range+types+support&md=1&showWatermark=0&fontSize=100px&images=https%3A%2F%2Flaravel.com%2Fimg%2Flogomark.min.svg) [![Latest Version on Packagist](https://img.shields.io/packagist/v/belamov/postgres-range.svg?style=flat-square)](https://packagist.org/packages/belamov/postgres-range) ![PHP from Packagist](https://img.shields.io/packagist/php-v/belamov/postgres-range) -[![Laravel](https://img.shields.io/badge/laravel-7%20%7C%208%20%7C%209%20%7C%2010%20%7C%2011-green)](https://laravel.com/) +[![Laravel](https://img.shields.io/badge/laravel-7%20%7C%208%20%7C%209%20%7C%2010%20%7C%2011%20%7C%2012-green)](https://laravel.com/) [![tests](https://github.com/belamov/postgres-range/actions/workflows/main.yml/badge.svg)](https://github.com/belamov/postgres-range/actions/workflows/main.yml) [![codecov](https://codecov.io/gh/belamov/postgres-range/branch/master/graph/badge.svg)](https://codecov.io/gh/belamov/postgres-range) [![StyleCI](https://github.styleci.io/repos/253326230/shield?branch=master)](https://github.styleci.io/repos/253326230) diff --git a/composer.json b/composer.json index 345487e..b57b51e 100644 --- a/composer.json +++ b/composer.json @@ -1,57 +1,57 @@ { - "name": "belamov/postgres-range", - "description": "Postgres range types support for laravel", - "keywords": [ - "daterange", - "tsrange", - "numrange", - "int4range", - "int8range", - "timerange", - "postgres-range", - "laravel", - "postgres", - "package" - ], - "homepage": "https://github.com/belamov/postgres-range", - "license": "MIT", - "type": "library", - "authors": [ - { - "name": "belamov", - "email": "business@belamov.com", - "role": "Developer" - } - ], - "require": { - "php": "^8.0|^7.4", - "illuminate/support": "^7.0|^8.0|^9.0|^10.0|^11.0", - "nesbot/carbon": "^2.16|^3.0" - }, - "require-dev": { - "orchestra/testbench": "^5.0|^6.0|^7.0|^8.0|^9.0", - "phpunit/phpunit": "^9.0|^10.0|^11.0" - }, - "autoload": { - "psr-4": { - "Belamov\\PostgresRange\\": "src" - } - }, - "autoload-dev": { - "psr-4": { - "Belamov\\PostgresRange\\Tests\\": "tests" - } - }, - "config": { - "sort-packages": true - }, - "extra": { - "laravel": { - "providers": [ - "Belamov\\PostgresRange\\PostgresRangeServiceProvider" - ] - } - }, - "minimum-stability": "dev", - "prefer-stable": true + "name": "belamov/postgres-range", + "description": "Postgres range types support for laravel", + "keywords": [ + "daterange", + "tsrange", + "numrange", + "int4range", + "int8range", + "timerange", + "postgres-range", + "laravel", + "postgres", + "package" + ], + "homepage": "https://github.com/belamov/postgres-range", + "license": "MIT", + "type": "library", + "authors": [ + { + "name": "belamov", + "email": "business@belamov.com", + "role": "Developer" + } + ], + "require": { + "php": "^8.0|^7.4", + "illuminate/support": "^7.0|^8.0|^9.0|^10.0|^11.0|^12.0", + "nesbot/carbon": "^2.16|^3.0" + }, + "require-dev": { + "orchestra/testbench": "^5.0|^6.0|^7.0|^8.0|^9.0|^10.0", + "phpunit/phpunit": "^9.0|^10.0|^11.0" + }, + "autoload": { + "psr-4": { + "Belamov\\PostgresRange\\": "src" + } + }, + "autoload-dev": { + "psr-4": { + "Belamov\\PostgresRange\\Tests\\": "tests" + } + }, + "config": { + "sort-packages": true + }, + "extra": { + "laravel": { + "providers": [ + "Belamov\\PostgresRange\\PostgresRangeServiceProvider" + ] + } + }, + "minimum-stability": "dev", + "prefer-stable": true } diff --git a/scripts/docs-build.sh b/scripts/docs-build.sh index db71ace..16b5501 100755 --- a/scripts/docs-build.sh +++ b/scripts/docs-build.sh @@ -1,4 +1,4 @@ #!/usr/bin/env bash cd ../docker -docker-compose run --rm -T -e NODE_ENV=production node vuepress build docs-src -cd - \ No newline at end of file +docker compose run --rm -T -e NODE_ENV=production node vuepress build docs-src +cd - diff --git a/scripts/docs-dev.sh b/scripts/docs-dev.sh index 3ecf2e8..b798796 100755 --- a/scripts/docs-dev.sh +++ b/scripts/docs-dev.sh @@ -1,4 +1,4 @@ #!/usr/bin/env bash cd ../docker -docker-compose run --rm -T node vuepress dev docs-src -cd - \ No newline at end of file +docker compose run --rm -T node vuepress dev docs-src +cd - diff --git a/scripts/tests.sh b/scripts/tests.sh index fa89cb2..29c31cf 100755 --- a/scripts/tests.sh +++ b/scripts/tests.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash cd ../docker -docker-compose run -u 1000 --rm php composer install --no-interaction -docker-compose run --rm php vendor/bin/phpunit -cd - \ No newline at end of file +docker compose run -u 1000 --rm php composer install --no-interaction +docker compose run --rm php vendor/bin/phpunit +cd - diff --git a/src/PostgresConnection.php b/src/PostgresConnection.php index 928206a..9d17bfb 100644 --- a/src/PostgresConnection.php +++ b/src/PostgresConnection.php @@ -12,6 +12,6 @@ class PostgresConnection extends LaravelPostgresConnection */ protected function getDefaultSchemaGrammar(): Grammar { - return $this->withTablePrefix(new PostgresGrammarWithRangeTypes()); + return new PostgresGrammarWithRangeTypes($this); } }