diff --git a/.github/workflows/coding-style.yml b/.github/workflows/coding-style.yml new file mode 100644 index 0000000..ee5c6e0 --- /dev/null +++ b/.github/workflows/coding-style.yml @@ -0,0 +1,50 @@ +name: Coding style + +on: + push: + branches: + - master + tags: + - v* + pull_request: + branches: + - master + +jobs: + php-cs-fixer: + name: Php-Cs-Fixer + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v3 + + - name: Install PHP + uses: shivammathur/setup-php@v2 + with: + php-version: 8.1 + tools: composer:v2 + + - name: Install dependencies + run: composer update --no-progress --prefer-dist --prefer-stable --optimize-autoloader --quiet + + - name: Php-Cs-Fixer + run: vendor/bin/php-cs-fixer fix -v --dry-run + + #php-stan: + # name: PHPStan + # runs-on: ubuntu-latest + # steps: + # - name: Checkout + # uses: actions/checkout@v3 + + # - name: Install PHP + # uses: shivammathur/setup-php@v2 + # with: + # php-version: 8.1 + # tools: composer:v2 + + # - name: Install dependencies + # run: composer update --no-progress --prefer-dist --prefer-stable --optimize-autoloader --quiet + + # - name: PhpStan + # run: vendor/bin/phpstan analyse diff --git a/.github/workflows/coverage.yml b/.github/workflows/coverage.yml new file mode 100644 index 0000000..79ab344 --- /dev/null +++ b/.github/workflows/coverage.yml @@ -0,0 +1,40 @@ +name: Coverage + +on: + push: + branches: + - master + tags: + - v* + pull_request: + branches: + - master + +jobs: + coverage: + name: Coverage + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v3 + + - name: Install PHP + uses: shivammathur/setup-php@v2 + with: + php-version: 8.1 + coverage: none + extensions: tokenizer + tools: composer:v2 + + - name: Install dependencies + run: composer update --no-progress --prefer-dist --prefer-stable --optimize-autoloader --quiet + + - name: Generate the coverage report + run: vendor/bin/tester -p phpdbg -C -s --coverage ./coverage.xml --coverage-src ./src ./tests + + - name: Upload the coverage report + env: + COVERALLS_REPO_TOKEN: "${{ secrets.GITHUB_TOKEN }}" + run: | + wget https://github.com/php-coveralls/php-coveralls/releases/download/v2.5.3/php-coveralls.phar + php php-coveralls.phar --verbose --config tests/.coveralls.yml diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml new file mode 100644 index 0000000..2d3ba86 --- /dev/null +++ b/.github/workflows/tests.yml @@ -0,0 +1,40 @@ +name: Tests + +on: + push: + branches: + - master + tags: + - v* + pull_request: + branches: + - master + +jobs: + tests: + name: Unit Tests [PHP ${{ matrix.php-versions }}] + runs-on: ubuntu-latest + strategy: + matrix: + php-versions: ['8.1', '8.2'] + steps: + - name: Checkout + uses: actions/checkout@v3 + + - name: Install PHP + uses: shivammathur/setup-php@v2 + with: + php-version: ${{ matrix.php-versions }} + tools: composer:v2 + + - name: Install dependencies + run: composer update --no-progress --prefer-dist --prefer-stable --optimize-autoloader --quiet + + - name: Run tests + run: vendor/bin/tester -C -s ./tests + + - name: Install dependencies (lowest) + run: composer update --no-progress --prefer-dist --prefer-lowest --prefer-stable --optimize-autoloader --quiet + + - name: Run tests + run: vendor/bin/tester -C -s ./tests