diff --git a/.github/workflows/phpunit.yml b/.github/workflows/phpunit.yml new file mode 100644 index 0000000..271f2c7 --- /dev/null +++ b/.github/workflows/phpunit.yml @@ -0,0 +1,67 @@ +name: "PHPUnit" + +on: + push: + paths-ignore: + - 'examples/**' + pull_request: + paths-ignore: + - 'examples/**' + +env: + COMPOSER_FLAGS: "--ansi --no-interaction --no-progress --prefer-dist" + SYMFONY_PHPUNIT_VERSION: "" + +jobs: + tests: + name: "PHPUnit" + + runs-on: ubuntu-latest + continue-on-error: ${{ matrix.experimental }} + + strategy: + matrix: + include: + - php-version: "7.2" + experimental: false + - php-version: "7.4" + experimental: false + - php-version: "8.0" + experimental: false + - php-version: "8.1" + experimental: false + fail-fast: false + + steps: + - name: "Checkout" + uses: "actions/checkout@v3" + + - name: "Install PHP" + uses: "shivammathur/setup-php@v2" + with: + coverage: "none" + extensions: "intl, zip" + ini-values: "memory_limit=-1" + php-version: "${{ matrix.php-version }}" + + - name: "Determine composer cache directory" + id: "determine-composer-cache-directory" + run: "echo \"::set-output name=directory::$(composer config cache-dir)\"" + + - name: "Cache dependencies installed with composer" + uses: "actions/cache@v2" + with: + path: "${{ steps.determine-composer-cache-directory.outputs.directory }}" + key: "php-${{ matrix.php-version }}-symfony-php-unit-version-${{ env.SYMFONY_PHPUNIT_VERSION }}-${{ hashFiles('**/composer.lock') }}" + restore-keys: "php-${{ matrix.php-version }}-symfony-php-unit-version-${{ env.SYMFONY_PHPUNIT_VERSION }}" + + - name: "Install highest dependencies" + if: "matrix.experimental == true" + run: "composer config platform --unset && composer update ${{ env.COMPOSER_FLAGS }}" + + - name: "Install locked dependencies" + if: "matrix.experimental == false" + run: "composer config platform --unset && composer update ${{ env.COMPOSER_FLAGS }}" + + - name: "Run PHPUnit" + run: "vendor/bin/phpunit" diff --git a/.travis.yml b/.travis.yml index 3f87525..1b81d3d 100644 --- a/.travis.yml +++ b/.travis.yml @@ -8,6 +8,9 @@ sudo: false php: - 7.2 - 7.3 + - 7.4 + - 8.0 + - 8.1 matrix: diff --git a/composer.json b/composer.json index 1fe2fd3..aa6384a 100644 --- a/composer.json +++ b/composer.json @@ -17,7 +17,7 @@ } ], "require": { - "php": "^7.2" + "php": "^7.2|^7.4|^8.0|^8.1" }, "require-dev": { "phpunit/phpunit": "^8",