on: # yamllint disable-line rule:truthy
  pull_request: ~
  push:
    branches:
      - "main"
      - "[0-9].*"

name: "Rector"

jobs:
  rector:
    name: "Rector"

    runs-on: "ubuntu-latest"

    strategy:
      matrix:
        php-version:
          - "8.1"

    steps:
      - name: "Checkout code"
        uses: "actions/checkout@v4"

      - name: "Set up PHP"
        uses: "shivammathur/setup-php@v2"
        with:
          coverage: "none"
          extensions: "intl"
          php-version: "${{ matrix.php-version }}"

      - name: "Determine composer cache directory"
        id: "composer-cache"
        run: "echo \"directory=$(composer config cache-dir)\" >> $GITHUB_OUTPUT"

      - name: "Cache dependencies installed with composer"
        uses: "actions/cache@v3"
        with:
          path: "${{ steps.composer-cache.outputs.directory }}"
          key: "composer-${{ matrix.php-version }}-${{ hashFiles('composer.*') }}"
          restore-keys: |
            composer-${{ matrix.php-version }}-
            composer-

      - name: "Download dependencies"
        run: |
          composer update --ansi --no-interaction --no-progress --optimize-autoloader
          composer bin rector install --ansi --no-interaction --no-progress --optimize-autoloader

      - name: "Run rector"
        run: "vendor/bin/rector process test/ --ansi --config=rector-migrate.php --dry-run || true"
