garak/money-bundle

View on GitHub
.github/workflows/build.yaml

Summary

Maintainability
Test Coverage
name: Build

on:
    pull_request: ~
    push: ~

jobs:
    phpstan:
        runs-on: ubuntu-22.04
        name: PHPStan
        steps:
            - name: Checkout
              uses: actions/checkout@v4
            - name: PHPStan
              uses: docker://oskarstark/phpstan-ga
              env:
                  REQUIRE_DEV: true
              with:
                  args: analyse
    cs-fixer:
        runs-on: ubuntu-22.04
        name: PHP-CS-Fixer
        steps:
            - name: Checkout
              uses: actions/checkout@v4
            - name: Fix CS
              uses: docker://oskarstark/php-cs-fixer-ga
    tests:
        runs-on: ubuntu-22.04
        strategy:
            matrix:
                include:
                    - description: 'Lowest'
                      php: '8.1'
                      composer_option: '--prefer-lowest'
                    - description: 'Symfony 5.4'
                      php: '8.1'
                      symfony: 5.4.*
                    - description: 'Symfony 6.4'
                      php: '8.2'
                      symfony: 6.4.*
                    - description: 'Symfony 7.1'
                      php: '8.3'
                      symfony: 7.1.*
        name: PHP ${{ matrix.php }} tests (${{ matrix.description }})
        steps:
            - name: Checkout
              uses: actions/checkout@v4
            - name: Cache
              uses: actions/cache@v4
              with:
                  path: ~/.composer/cache/files
                  key: ${{ matrix.php }}-${{ matrix.symfony }}-${{ matrix.composer_option }} 
            - name: Setup PHP
              uses: shivammathur/setup-php@v2
              with:
                  php-version: ${{ matrix.php }}
            - run: |
                  sed -ri 's/"symfony\/(.+)": "(.+)"/"symfony\/\1": "'${{ matrix.symfony }}'"/' composer.json;
              if: matrix.symfony
            - run: composer update --no-interaction --no-progress --ansi ${{ matrix.composer_option }}
            - run: vendor/bin/phpunit --coverage-clover=clover.xml
            - name: Code Climate Test Reporter
              uses: aktions/codeclimate-test-reporter@v1
              if: ${{ github.event_name != 'pull_request' && matrix.php == '8.3' }}
              with:
                  codeclimate-test-reporter-id: ${{ secrets.CC_TEST_REPORTER_ID }}
                  command: after-build --coverage-input-type clover
            - uses: codecov/codecov-action@v1
              with:
                  files: ./clover.xml