diff --git a/.github/workflows/php.yml b/.github/workflows/php.yml index 6cd0d9a..0b7e3cf 100644 --- a/.github/workflows/php.yml +++ b/.github/workflows/php.yml @@ -58,3 +58,5 @@ jobs: + + diff --git a/.github/workflows/test-coverage.yml b/.github/workflows/test-coverage.yml new file mode 100644 index 0000000..fa2bd43 --- /dev/null +++ b/.github/workflows/test-coverage.yml @@ -0,0 +1,62 @@ +name: Executing Code Coverage +on: + push: + branches: + - main + - develop + - features/** + - test/** + pull_request: + branches: + - main + - develop + - features/** +env: + REQUIRED_PHP_EXTENSIONS: "ctype, filter, hash, iconv, json" + +jobs: + checks: + runs-on: ubuntu-latest + + strategy: + matrix: + operating-system: [ 'ubuntu-latest'] + php-versions: [ '8.4' ] + dependency-stability: [ 'prefer-none' ] + + name: P${{ matrix.php-versions }} - ${{ matrix.operating-system}} + + steps: + - uses: actions/checkout@v4 + - name: Install PHP versions + uses: shivammathur/setup-php@v2 + with: + php-version: ${{ matrix.php-versions }} + extensions: dom, curl, libxml, mbstring, zip, pcntl, bcmath, soap, intl, iconv, fileinfo + coverage: "pcov" + tools: "composer:v2" + + - name: Install Dependencies + run: composer install --prefer-dist --no-interaction + + - name: Show dir + run: pwd + - name: PHP Version + run: php --version + - name: Platform check + run: composer check-platform-reqs + + + - name: running tests + run: "vendor/bin/pest --configuration=phpunit.xml.dist --coverage-clover=.build/logs/clover.xml" + + - name: 'Upload coverage reports to Codecov' + env: + my_codecov_token: ${{ secrets.CODECOV_TOKEN }} + if: ${{ env.my_codecov_token != '' && hashFiles('./.build/logs/clover.xml')!= '' }} + uses: 'codecov/codecov-action@v5.1.2' + with: + files: './.build/logs/clover.xml' + token: ${{ secrets.CODECOV_TOKEN }} + + diff --git a/phpunit.xml.dist b/phpunit.xml.dist new file mode 100644 index 0000000..0c12bb9 --- /dev/null +++ b/phpunit.xml.dist @@ -0,0 +1,17 @@ + + + + + ./tests + + + + + ./src + + +