name: PHP SDK CI

on:
  push:
    branches: [ main ]
  pull_request:
    branches: [ main ]

jobs:
  build:
    runs-on: ubuntu-latest

    strategy:
      matrix:
        php-versions: ["7.1", "8.0", "8.3", "8.4", "8.5"]

    steps:
    - uses: actions/checkout@v3
    - name: Setup PHP ${{ matrix.php-versions }}
      uses: shivammathur/setup-php@v2
      with:
        php-version: ${{ matrix.php-versions }}
        tools: composer, phpunit
    - name: Install dependencies
      run: |
        composer update --no-interaction --no-progress --no-suggest --no-ansi --no-scripts --no-plugins --prefer-dist
        composer install
    - name: Run the SDK testserver
      run: |
        docker run -d -p 1090:1090 friendlycaptcha/sdk-testserver:latest
        echo "SDK Test server started. Checking its health..."
        for i in {1..20}; do
          if curl -s http://localhost:1090; then
            echo "SDK test server is responding!"
            break
          else
            echo "Attempt $i: SDK test server not yet responding. Waiting for 1 second..."
            sleep 1
          fi
        done
    - name: Test
      run: | 
        composer dump
        phpunit
