name: CI Build and Test

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

jobs:
  build-and-test:
    timeout-minutes: 60
    runs-on: ubuntu-latest

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

    - name: Setup Node.js
      uses: actions/setup-node@v4
      with:
        node-version: 20

    - name: Install Playwright Dependencies
      working-directory: ./Playwright
      run: |
        npm install
        npx playwright install --with-deps

    - name: Build Plugin Zip
      run: bash ./build.sh

    - name: Upload Built Plugin
      uses: actions/upload-artifact@v4
      with:
        name: plusmagi-tags-reindex-latest
        path: Website/build/plusmagi-tags-reindex-latest.zip

    - name: Run Playwright E2E Tests
      working-directory: ./Playwright
      env:
        WP_ADMIN_PASSWORD: ${{ secrets.WP_ADMIN_PASSWORD }}
      run: |
        npx playwright test --project=setup
        npx playwright test --project=admin