diff --git a/.github/workflows/php.yml b/.github/workflows/php.yml new file mode 100644 index 0000000..0f3f8a7 --- /dev/null +++ b/.github/workflows/php.yml @@ -0,0 +1,80 @@ +name: Latest Build + +on: + push: + branches: [ master ] + pull_request: + +env: + CC_TEST_REPORTER_ID: efd18a36922628f0536f2f08cf7ceca763f5f2feb6f3638037381487ca3312ae + APP_ENV: development + +jobs: + test: + runs-on: ubuntu-latest + strategy: + matrix: + operating-system: [ubuntu-latest] + php-versions: [ '7.2', '7.3', '7.4', '8.0', '8.1' ] + dependency-stability: [ prefer-stable ] + name: PHP ${{ matrix.php-versions }} - ${{ matrix.dependency-stability }} - ${{ matrix.operating-system}} + steps: + - uses: actions/checkout@v2 + + - name: Install PHP versions + uses: shivammathur/setup-php@v2 + with: + php-version: ${{ matrix.php-versions }} + + - run: composer self-update + + - name: Install Dependencies + if: steps.vendor-cache.outputs.cache-hit != 'true' + run: composer install --no-interaction --prefer-dist + + - name: Run PHPUnit + run: vendor/bin/phpunit --no-coverage + + coverage: + needs: [ test ] + name: Code Coverage Reporting + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - uses: shivammathur/setup-php@v2 + with: + php-version: '7.4' + + - run: composer self-update + + - name: Install Dependencies + if: steps.vendor-cache.outputs.cache-hit != 'true' + run: composer install --no-interaction --prefer-dist + + - run: curl -L https://scrutinizer-ci.com/ocular.phar > ./ocular.phar + - run: curl -L https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64 > ./cc-test-reporter + - run: chmod +x ./cc-test-reporter + - run: composer global require php-coveralls/php-coveralls + + - name: Start CodeClimate report + run: ./cc-test-reporter before-build + + - name: Run Tests with Coverage + run: vendor/bin/phpunit --coverage-clover build/logs/clover.xml + + - name: Format coverage for CodeClimate + run: ./cc-test-reporter format-coverage -t clover -o build/logs/codeclimate.json build/logs/clover.xml + + - name: Upload coverage results to CodeClimate + run: ./cc-test-reporter upload-coverage -i build/logs/codeclimate.json + + - name: End CodeClimate report + run: ./cc-test-reporter after-build --exit-code 0 + + - name: Upload coverage results to Scrutinizer + run: php ocular.phar code-coverage:upload --format=php-clover build/logs/clover.xml + + - name: Upload coverage results to Coveralls + env: + COVERALLS_REPO_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: php-coveralls --coverage_clover=build/logs/clover.xml -v diff --git a/.gitignore b/.gitignore index e046ae6..64a8286 100644 --- a/.gitignore +++ b/.gitignore @@ -3,4 +3,4 @@ /composer.lock /vendor .env -.phpunit.result.cache +.phpunit.result.cache \ No newline at end of file diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index b6af61c..0000000 --- a/.travis.yml +++ /dev/null @@ -1,28 +0,0 @@ -language: php -php: - - 7.1 - - 7.2 - - 7.3 - - 7.4 - - 8.0 -env: - - APP_ENV=development CC_TEST_REPORTER_ID=efd18a36922628f0536f2f08cf7ceca763f5f2feb6f3638037381487ca3312ae -matrix: - allow_failures: - - php: 7.1 -before_script: - - travis_retry composer self-update - - travis_retry composer install --no-interaction --prefer-source - - touch .env - - echo 'date.timezone = Europe/Berlin' >> ~/.phpenv/versions/$(phpenv version-name)/etc/conf.d/travis.ini - - curl -L https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64 > ./cc-test-reporter - - chmod +x ./cc-test-reporter - - ./cc-test-reporter before-build -script: - - vendor/bin/phpunit --coverage-clover build/logs/clover.xml -after_script: - - wget https://scrutinizer-ci.com/ocular.phar - - php ocular.phar code-coverage:upload --format=php-clover build/logs/clover.xml - - php vendor/bin/php-coveralls -v - - vendor/bin/test-reporter - - ./cc-test-reporter after-build --exit-code $TRAVIS_TEST_RESULT diff --git a/phpunit.xml.dist b/phpunit.xml.dist index fe2c213..2b59905 100755 --- a/phpunit.xml.dist +++ b/phpunit.xml.dist @@ -11,10 +11,6 @@ - - - - src