name: pr
on: [pull_request]

# Environment variables available to all jobs and steps in this workflow
env:
  COMPOSER_MEMORY_LIMIT: -1

jobs:
  build:
    runs-on: ubuntu-24.04
    steps:
    - uses: actions/checkout@master

    - name: Setup PHP 8.3
      uses: shivammathur/setup-php@v2
      with:
        php-version: '8.3'

    - name: Setup dependencies
      run: |
        git clone --branch 11.1.x https://github.com/drupalwxt/site-wxt.git
        cd site-wxt
        rm composer.lock

    - name: Require patched wxt with Composer
      run: composer require "${{ github.event.pull_request.head.repo.full_name }}:dev-${{ github.event.pull_request.head.ref }}#${{ github.event.pull_request.head.sha }}" --working-dir=./site-wxt

    - name: Build out the Drupal infrastructure
      run: |
        export DB_TYPE=mysql
        export DB_PORT=3306
        cd site-wxt
        git clone --branch 11.1.x https://github.com/drupalwxt/docker-scaffold.git docker
        make build
        docker compose -f docker-compose.ci.yml up -d
        docker ps -a
        sleep 10

    - name: Run installation and tests
      run: |
        export DB_TYPE=mysql
        export DB_PORT=3306
        cd site-wxt
        make drupal_install
        make drupal_migrate
        # Change ownership on html/core to allow files to be copied (see drupal_cs in Makefile)
        sudo chown -R $(id -u) html/core
        make test
