Fix UI test selectors, add visual game verification, implement computer bot mode, add move history display, fix capture functionality, and add captured pieces display #86
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: E2E QA Validation | |
| on: | |
| push: | |
| branches: [ main, develop, 'copilot/**' ] | |
| pull_request: | |
| branches: [ main, develop ] | |
| workflow_dispatch: # Allow manual triggering | |
| permissions: | |
| contents: read | |
| jobs: | |
| e2e-tests: | |
| name: End-to-End QA Validation | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 15 | |
| permissions: | |
| contents: read | |
| steps: | |
| - uses: actions/checkout@v4 | |
| # Set up Java for backend | |
| - name: Set up JDK 17 | |
| uses: actions/setup-java@v4 | |
| with: | |
| java-version: '17' | |
| distribution: 'temurin' | |
| cache: 'gradle' | |
| # Set up Node.js for frontend and tests | |
| - name: Set up Node.js | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: '18' | |
| cache: 'npm' | |
| cache-dependency-path: | | |
| frontend/package-lock.json | |
| e2e-tests/package-lock.json | |
| # Grant execute permissions | |
| - name: Grant execute permission for gradlew | |
| run: chmod +x backend/gradlew | |
| # Install frontend dependencies (required by E2E test) | |
| - name: Install frontend dependencies | |
| run: | | |
| cd frontend | |
| npm ci | |
| # Install E2E test dependencies | |
| - name: Install E2E test dependencies | |
| run: | | |
| cd e2e-tests | |
| npm ci | |
| # Install Playwright browsers | |
| - name: Install Playwright Chromium | |
| run: | | |
| cd e2e-tests | |
| npx playwright install chromium | |
| # Run E2E tests | |
| - name: Run E2E QA validation tests | |
| run: | | |
| cd e2e-tests | |
| npm test | |
| # Upload screenshots on failure or success | |
| - name: Upload screenshots | |
| if: always() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: e2e-screenshots | |
| path: /tmp/qa-screenshot-*.png | |
| if-no-files-found: warn | |
| # Upload test logs on failure | |
| - name: Upload logs on failure | |
| if: failure() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: e2e-logs | |
| path: e2e-tests/*.log | |
| if-no-files-found: ignore |