Fixed CI #136
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: CI | |
| on: [push] | |
| jobs: | |
| validate-composer: | |
| name: composer validate | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| - name: Set up Docker Compose | |
| uses: docker/setup-compose-action@v1 | |
| - name: Docker pull | |
| run: docker compose pull php | |
| - name: Start PHP container | |
| run: docker compose up --detach --build --no-deps php | |
| - name: Run composer validate | |
| run: docker compose exec -T php composer validate --strict --no-interaction --ansi | |
| run-php-cs-fixer: | |
| name: php-cs-fixer | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| - name: Set up Docker Compose | |
| uses: docker/setup-compose-action@v1 | |
| - name: Docker pull | |
| run: docker compose pull php | |
| - name: Composer caching | |
| uses: actions/cache@v4 | |
| with: | |
| path: ./build/.composer | |
| key: ${{ runner.os }}-composer-v2-${{ hashFiles('composer.lock') }} | |
| restore-keys: ${{ runner.os }}-composer-v2- | |
| - name: Start PHP container | |
| run: docker compose up --detach --build --no-deps php | |
| - name: Install dependencies | |
| run: docker compose exec -T php composer install --no-scripts --no-interaction --ansi | |
| - name: Run php-cs-fixer | |
| run: docker compose exec -T php bin/php-cs-fixer fix --diff --dry-run --ansi --config=.php-cs-fixer.dist.php | |
| run-phpunit: | |
| name: phpunit | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| - name: Set up Docker Compose | |
| uses: docker/setup-compose-action@v1 | |
| - name: Docker pull | |
| run: docker compose pull | |
| - name: Composer caching | |
| uses: actions/cache@v4 | |
| with: | |
| path: ./build/.composer | |
| key: ${{ runner.os }}-composer-v2-${{ hashFiles('composer.lock') }} | |
| restore-keys: ${{ runner.os }}-composer-v2- | |
| - name: Start containers | |
| run: docker compose up --detach --build | |
| - name: Install dependencies | |
| run: docker compose exec -T php composer install --no-scripts --no-interaction --ansi | |
| - name: Run phpunit | |
| run: docker compose exec -T php xphp -dxdebug.mode=coverage bin/phpunit --color=always --configuration=phpunit.xml.dist | |
| - name: Upload coverage report to codecov.io | |
| uses: codecov/codecov-action@v5 | |
| with: | |
| files: ./build/.phpunit/clover.xml | |
| fail_ci_if_error: true | |
| verbose: true | |
| token: ${{ secrets.CODECOV_TOKEN }} | |
| - name: Archive code coverage results | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: PHPUnit Code Coverage | |
| path: ./build/.phpunit/code-coverage | |
| retention-days: 7 | |
| run-rector: | |
| name: rector | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| - name: Set up Docker Compose | |
| uses: docker/setup-compose-action@v1 | |
| - name: Docker pull | |
| run: docker compose pull php | |
| - name: Composer caching | |
| uses: actions/cache@v4 | |
| with: | |
| path: ./build/.composer | |
| key: ${{ runner.os }}-composer-v2-${{ hashFiles('composer.lock') }} | |
| restore-keys: ${{ runner.os }}-composer-v2- | |
| - name: Start PHP container | |
| run: docker compose up --detach --build --no-deps php | |
| - name: Install dependencies | |
| run: docker compose exec -T php composer install --no-interaction --ansi | |
| - name: Run rector | |
| run: docker compose exec -T php bin/rector --no-progress-bar --dry-run --ansi | |
| run-deptrac: | |
| name: deptrac | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| - name: Set up Docker Compose | |
| uses: docker/setup-compose-action@v1 | |
| - name: Docker pull | |
| run: docker compose pull php | |
| - name: Composer caching | |
| uses: actions/cache@v4 | |
| with: | |
| path: ./build/.composer | |
| key: ${{ runner.os }}-composer-v2-${{ hashFiles('composer.lock') }} | |
| restore-keys: ${{ runner.os }}-composer-v2- | |
| - name: Start PHP container | |
| run: docker compose up --detach --build --no-deps php | |
| - name: Install dependencies | |
| run: docker compose exec -T php composer install --no-scripts --no-interaction --ansi | |
| - name: Run deptrac | |
| run: docker compose exec -T php bin/deptrac --no-progress --no-interaction --cache-file=./build/.deptrac/.deptrac.cache --ansi |