diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..5fc2ad2 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,70 @@ +name: CI + +on: [push, pull_request] + +jobs: + build: + runs-on: ubuntu-latest + + strategy: + matrix: + php: [7.1, 7.2, 7.3, 7.4, 8.0] + lib: + - { laravel: ^8.0, testbench: ^6.0, composer_flags: --prefer-stable } + - { laravel: ^7.0, testbench: ^5.0, composer_flags: --prefer-stable } + - { laravel: ^6.0, testbench: ^4.0, composer_flags: --prefer-stable } + - { laravel: ^6.0, testbench: ^4.0, composer_flags: --prefer-stable --prefer-lowest } + - { laravel: 5.8.*, testbench: 3.8.*, composer_flags: --prefer-stable } + - { laravel: 5.7.*, testbench: 3.7.*, composer_flags: --prefer-stable } + - { laravel: 5.6.*, testbench: 3.6.*, composer_flags: --prefer-stable } + exclude: + - lib: { laravel: ^8.0, testbench: ^6.0, composer_flags: --prefer-stable } + php: 7.2 + - lib: { laravel: ^8.0, testbench: ^6.0, composer_flags: --prefer-stable } + php: 7.1 + - lib: { laravel: ^7.0, testbench: ^5.0, composer_flags: --prefer-stable } + php: 7.1 + - lib: { laravel: ^6.0, testbench: ^4.0, composer_flags: --prefer-stable } + php: 7.1 + - lib: { laravel: ^6.0, testbench: ^4.0, composer_flags: --prefer-stable --prefer-lowest } + php: 7.1 + - lib: { laravel: 5.8.*, testbench: 3.8.*, composer_flags: --prefer-stable } + php: 8.0 + - lib: { laravel: 5.7.*, testbench: 3.7.*, composer_flags: --prefer-stable } + php: 8.0 + - lib: { laravel: 5.6.*, testbench: 3.6.*, composer_flags: --prefer-stable } + php: 8.0 + + + steps: + - uses: actions/checkout@v2 + + - name: Setup PHP + uses: shivammathur/setup-php@v2 + with: + php-version: ${{ matrix.php }} + coverage: xdebug + + - name: Adjust package versions + run: | + composer require "laravel/framework:${{ matrix.lib.laravel }}" --dev --no-update ${{ matrix.lib.composer_flags }} + if php -r 'exit((int)!version_compare(PHP_VERSION, "8", ">="));'; then + composer require "orchestra/testbench:>=4.14" --dev --no-update ${{ matrix.lib.composer_flags }} + composer require "phpunit/phpunit:>=9.3" --dev --no-update ${{ matrix.lib.composer_flags }} + else + composer require "orchestra/testbench:${{ matrix.lib.testbench }}" --dev --no-update ${{ matrix.lib.composer_flags }} + fi + composer update ${{ matrix.lib.composer_flags }} + - run: mkdir -p build/logs + - run: vendor/bin/phpunit --coverage-clover build/logs/clover.xml + + - name: Upload Coverage + uses: nick-invision/retry@v2 + env: + COVERALLS_REPO_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + timeout_minutes: 1 + max_attempts: 3 + command: | + composer global require php-coveralls/php-coveralls + php-coveralls --coverage_clover=build/logs/clover.xml -v diff --git a/README.md b/README.md index 239a113..ee48213 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# Laravel Local Class Scope [![Build Status](https://travis-ci.org/mpyw/laravel-local-class-scope.svg?branch=master)](https://travis-ci.org/mpyw/laravel-local-class-scope) [![Coverage Status](https://coveralls.io/repos/github/mpyw/laravel-local-class-scope/badge.svg?branch=master)](https://coveralls.io/github/mpyw/laravel-local-class-scope?branch=master) [![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/mpyw/laravel-local-class-scope/badges/quality-score.png?b=master)](https://scrutinizer-ci.com/g/mpyw/laravel-local-class-scope/?branch=master) +# Laravel Local Class Scope [![Build Status](https://github.org/mpyw/laravel-local-class-scope/actions/workflows/ci.yml/badge.svg?branch=master)](https://github.org/mpyw/laravel-local-class-scope/actions) [![Coverage Status](https://coveralls.io/repos/github/mpyw/laravel-local-class-scope/badge.svg?branch=master)](https://coveralls.io/github/mpyw/laravel-local-class-scope?branch=master) [![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/mpyw/laravel-local-class-scope/badges/quality-score.png?b=master)](https://scrutinizer-ci.com/g/mpyw/laravel-local-class-scope/?branch=master) A tiny macro that reuse a global scope class as a local scope. @@ -6,8 +6,8 @@ The idea is from: [[Proposal] Local query scopes as classes · Issue #636 · lar ## Requirements -- PHP: ^7.1 -- Laravel: ^5.6 || ^6.0 || ^7.0 || ^8.0 +- PHP: `^7.1 || ^8.0` +- Laravel: `^5.6 || ^6.0 || ^7.0 || ^8.0` ## Installing diff --git a/composer.json b/composer.json index b3fcc68..934eb73 100644 --- a/composer.json +++ b/composer.json @@ -27,8 +27,7 @@ }, "require-dev": { "orchestra/testbench": "^6.0", - "friendsofphp/php-cs-fixer": "^2.14", - "php-coveralls/php-coveralls": "^2.1" + "friendsofphp/php-cs-fixer": "^2.14" }, "extra": { "laravel": {