name: "Copilot Setup Steps"

on:
  workflow_dispatch:
  push:
    paths:
      - .github/workflows/copilot-setup-steps.yml
  pull_request:
    paths:
      - .github/workflows/copilot-setup-steps.yml

jobs:
  copilot-setup-steps:
    runs-on: ubuntu-latest
    permissions:
      contents: read

    steps:
      - name: Checkout code
        uses: actions/checkout@v6

      - name: Check existence of composer.json file
        id: check_composer_file
        uses: andstor/file-existence-action@v3
        with:
          files: "composer.json"

      - name: Set up PHP environment
        if: steps.check_composer_file.outputs.files_exists == 'true'
        uses: shivammathur/setup-php@v2
        with:
          php-version: 'latest'
          ini-values: zend.assertions=1, error_reporting=-1, display_errors=On
          coverage: 'none'
          tools: composer,cs2pr
        env:
          COMPOSER_TOKEN: ${{ secrets.GITHUB_TOKEN }}

      - name: Install Composer dependencies & cache dependencies
        if: steps.check_composer_file.outputs.files_exists == 'true'
        uses: ramsey/composer-install@v3
        env:
          COMPOSER_ROOT_VERSION: dev-${{ github.event.repository.default_branch }}
        with:
          # Bust the cache at least once a month - output format: YYYY-MM.
          custom-cache-suffix: $(date -u "+%Y-%m")
