Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
9548dca
Initial plan
Copilot Feb 4, 2026
385ce50
Implement comprehensive Playwright E2E testing suite with log correla…
Copilot Feb 4, 2026
a74b346
Fix GitHub Actions workflow permissions for security
Copilot Feb 4, 2026
b561084
Add comprehensive completion summary document
Copilot Feb 4, 2026
f8b896a
Add visual guide for Playwright testing architecture
Copilot Feb 4, 2026
6dcaa04
Add comprehensive MCP feature tests covering all 80+ server tools
Copilot Feb 4, 2026
c9d4162
Add package.json and complete MCP feature coverage documentation
Copilot Feb 4, 2026
9e81476
Add comprehensive test suite covering ALL 100+ MCP server tools
Copilot Feb 4, 2026
b034d89
Update documentation to reflect 100% MCP tool coverage achievement
Copilot Feb 4, 2026
0dc78db
Add final 100% coverage achievement report
Copilot Feb 4, 2026
b90088e
Refactor: Move E2E tests from test/e2e/ to e2e/ for production
Copilot Feb 4, 2026
2e8cc1f
Add comprehensive E2E test refactoring summary documentation
Copilot Feb 4, 2026
4ce1a48
Final Report: Test directory refactoring complete and verified
Copilot Feb 4, 2026
e61d219
Phase 1: Create refactoring infrastructure and tooling
Copilot Feb 4, 2026
e2fc8dc
Phase 2: Successfully refactor 652 Python files into organized subdir…
Copilot Feb 4, 2026
ad0060b
Phase 3: Add comprehensive refactoring documentation and summary
Copilot Feb 4, 2026
ade2220
Final: Add executive summary and complete test directory refactoring
Copilot Feb 4, 2026
4fe75e4
Phase 4b: Fix all import issues in refactored test directory
Copilot Feb 4, 2026
8f0469c
Final: Complete test directory refactoring with comprehensive documen…
Copilot Feb 4, 2026
12d3446
Phase 5: Complete test refactoring with pytest config and validation
Copilot Feb 4, 2026
f92ff6f
🎉 FINAL: Complete test refactoring - all 5 phases finished
Copilot Feb 4, 2026
4efcb55
Phase 6: Complete refactoring - Move all documentation and support fi…
Copilot Feb 4, 2026
c426393
Phase 6: Flatten test/test/ directory - move 214 files to proper loca…
Copilot Feb 4, 2026
6bff6b6
Phase 7 Plan: Analyze and refactor remaining test/ subdirectories
Copilot Feb 4, 2026
db6fdaf
Add Phase 6 completion report and final documentation
Copilot Feb 4, 2026
f95a1bf
Phase 7: Complete subdirectory refactoring - organize all remaining t…
Copilot Feb 4, 2026
61e73b7
Phase 8 Plan: Fix imports and paths in test directory after refactoring
Copilot Feb 4, 2026
d585afd
Phase 8a: Fix test.web_platform.* imports - update 165 files
Copilot Feb 4, 2026
efed094
Add Phase 8 comprehensive documentation - import verification complete
Copilot Feb 4, 2026
7791ba1
Phase 9: Fix 384 relative import issues (862 → 478)
Copilot Feb 4, 2026
25b82c2
Add Phase 9 comprehensive documentation for relative import fixes
Copilot Feb 4, 2026
4c9b0c1
Phase 10: Fix 54 additional relative import issues (277 → 223)
Copilot Feb 4, 2026
499479b
Phase 10 Complete: Add comprehensive documentation for final import f…
Copilot Feb 4, 2026
0a609a4
🎉 Phase 11 COMPLETE: Fixed all remaining 223 relative import issues
Copilot Feb 4, 2026
eaa2175
🎉 FINAL: Phase 11 complete documentation - 100% absolute imports achi…
Copilot Feb 4, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
116 changes: 116 additions & 0 deletions .github/workflows/playwright-e2e.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,116 @@
name: Playwright E2E Tests

on:
push:
branches: [ main, develop ]
pull_request:
branches: [ main, develop ]
workflow_dispatch:

permissions:
contents: read
issues: write
pull-requests: write
checks: write

jobs:
test:
timeout-minutes: 60
runs-on: ubuntu-latest
permissions:
contents: read
checks: write

strategy:
fail-fast: false
matrix:
browser: [chromium, firefox, webkit]

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

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '18'
cache: 'npm'

- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: '3.10'
cache: 'pip'

- name: Install Node dependencies
run: npm ci

- name: Install Playwright browsers
run: npx playwright install --with-deps ${{ matrix.browser }}

- name: Install Python dependencies
run: |
pip install -r requirements_dashboard.txt
pip install flask flask-cors requests huggingface_hub

- name: Start MCP Dashboard Server
run: |
python -m ipfs_accelerate_py.mcp_dashboard --port 3001 &
echo "Waiting for server to start..."
sleep 15
curl -f http://localhost:3001/ || (echo "Server failed to start" && exit 1)

- name: Run Playwright tests
run: npx playwright test --project=${{ matrix.browser }}
env:
DASHBOARD_URL: http://localhost:3001
CI: true

- name: Upload test results
uses: actions/upload-artifact@v4
if: always()
with:
name: playwright-report-${{ matrix.browser }}
path: test-results/
retention-days: 30

- name: Upload screenshots
uses: actions/upload-artifact@v4
if: always()
with:
name: screenshots-${{ matrix.browser }}
path: test-results/screenshots/
retention-days: 30

- name: Publish test report
uses: dorny/test-reporter@v1
if: always()
with:
name: Playwright Tests - ${{ matrix.browser }}
path: test-results/junit.xml
reporter: java-junit

# Consolidated report job
report:
needs: test
if: always()
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- name: Download all artifacts
uses: actions/download-artifact@v4
with:
path: all-results

- name: Merge reports
run: |
mkdir -p merged-reports
find all-results -name "*.json" -exec cp {} merged-reports/ \;

- name: Upload merged report
uses: actions/upload-artifact@v4
with:
name: merged-test-report
path: merged-reports/
retention-days: 30
16 changes: 13 additions & 3 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -109,6 +109,16 @@ coverage.xml
*.cover
.pytest_cache/

# Performance baselines - KEEP IN VERSION CONTROL
# (Uncomment the line below to exclude from version control if needed)
# test/.performance_baselines.json
# Performance baselines - KEEP IN VERSION CONTROL
# (Uncomment the line below to exclude from version control if needed)
# test/.performance_baselines.json

# Playwright E2E test results
test-results/
playwright-report/
test/e2e/test-results/
test/e2e/playwright-report/

# TypeScript build output
dist/
*.tsbuildinfo
7 changes: 2 additions & 5 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -1,8 +1,5 @@
[submodule "test/huggingface_transformers"]
path = test/huggingface_transformers
url = https://github.com/huggingface/transformers.git
[submodule "test/doc-builder"]
path = test/doc-builder
path = docs/builders/doc-builder
url = https://github.com/huggingface/doc-builder.git
[submodule "ipfs_transformers_py"]
path = ipfs_transformers_py
Expand All @@ -21,7 +18,7 @@
path = docs/mcp-python-sdk
url = https://github.com/jlowin/mcp-python-sdk.git
[submodule "test/huggingface_doc_builder"]
path = test/huggingface_doc_builder
path = docs/builders/huggingface_doc_builder
url = https://github.com/huggingface/doc-builder.git
[submodule "ipfs_datasets_py"]
path = ipfs_datasets_py
Expand Down
Loading