diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..bf8ea9d --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,69 @@ +name: "CI" + +on: + pull_request: + workflow_dispatch: + +jobs: + phpunit: + name: "PHPUnit" + runs-on: "ubuntu-22.04" + + strategy: + matrix: + php-version: + - "8.1" + - "8.2" + - "8.3" + dependencies: + - "highest" + include: + - dependencies: "lowest" + php-version: "8.1" + + steps: + - name: "Checkout" + uses: "actions/checkout@v4" + with: + fetch-depth: 2 + + - name: "Install PHP" + uses: "shivammathur/setup-php@v2" + with: + php-version: "${{ matrix.php-version }}" + coverage: "pcov" + ini-values: "zend.assertions=1" + + - name: "Install dependencies with Composer" + uses: "ramsey/composer-install@v2" + with: + dependency-versions: "${{ matrix.dependencies }}" + + - name: "Run PHPUnit" + run: "vendor/bin/phpunit --coverage-clover=coverage.xml" + + - name: "Upload coverage file" + uses: "actions/upload-artifact@v4" + with: + name: "phpunit-${{ matrix.dependencies }}-${{ matrix.php-version }}.coverage" + path: "coverage.xml" + + upload_coverage: + name: "Upload coverage to Coveralls" + runs-on: "ubuntu-22.04" + needs: + - "phpunit" + + steps: + - name: "Checkout" + uses: "actions/checkout@v4" + with: + fetch-depth: 2 + + - name: "Download coverage files" + uses: "actions/download-artifact@v4" + with: + path: "reports" + + - name: "Upload to Coveralls" + uses: coverallsapp/github-action@v2 diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 43906f2..0000000 --- a/.travis.yml +++ /dev/null @@ -1,15 +0,0 @@ -language: php -php: - - 8.0 - - 8.1 - -before_script: - - wget http://getcomposer.org/composer.phar - - php composer.phar install --dev --no-interaction - -script: - - mkdir -p build/logs - - phpunit --coverage-clover build/logs/clover.xml - -after_script: - - php vendor/bin/coveralls diff --git a/composer.json b/composer.json index 6de4730..faca6d3 100644 --- a/composer.json +++ b/composer.json @@ -14,8 +14,7 @@ "ext-bcmath": "*" }, "require-dev": { - "php-coveralls/php-coveralls": "^2.5", - "phpunit/phpunit": "^9.0" + "phpunit/phpunit": "^9.6" }, "autoload": { "psr-4": {