11name : Tests
22
33on :
4+ push :
5+ branches : [main]
46 pull_request :
57 branches : [main]
68
79jobs :
8- test :
10+ test-backend :
911 runs-on : ubuntu-latest
1012
1113 steps :
@@ -17,19 +19,71 @@ jobs:
1719 with :
1820 python-version : " 3.12"
1921
20- - name : Install dependencies
21- run : uv sync --extra test
22-
23- - name : Run unit tests
24- run : uv run pytest tests/ -v -m "not integration" --cov=src/claude_skills_mcp --cov-report=term-missing
22+ - name : Install backend dependencies
23+ run : |
24+ cd packages/backend
25+ uv sync --extra test
2526
26- - name : Run integration tests
27- run : uv run pytest tests/ -v -m "integration"
27+ - name : Run backend unit tests
28+ run : |
29+ cd packages/backend
30+ uv run pytest tests/ -v -m "not integration"
2831
29- - name : Check code formatting (optional)
32+ - name : Run backend integration tests
3033 run : |
31- # Install ruff if you want to add linting
32- # uv pip install ruff
33- # uv run ruff check src/
34+ cd packages/backend
35+ uv run pytest tests/ -v -m "integration"
3436 continue-on-error : true
3537
38+ test-frontend :
39+ runs-on : ubuntu-latest
40+ needs : test-backend
41+
42+ steps :
43+ - name : Checkout code
44+ uses : actions/checkout@v4
45+
46+ - name : Set up uv
47+ uses : astral-sh/setup-uv@v6
48+ with :
49+ python-version : " 3.12"
50+
51+ - name : Install frontend dependencies
52+ run : |
53+ cd packages/frontend
54+ uv sync --extra test
55+
56+ - name : Test frontend imports
57+ run : |
58+ cd packages/frontend
59+ uv run python -c "from claude_skills_mcp.mcp_proxy import MCPProxy, TOOL_SCHEMAS; print(f'✓ {len(TOOL_SCHEMAS)} tools defined')"
60+
61+ - name : Test frontend can install backend
62+ run : |
63+ cd packages/frontend
64+ uv run python -c "from claude_skills_mcp.backend_manager import BackendManager; m = BackendManager(); print('✓ Backend manager works')"
65+
66+ build-test :
67+ runs-on : ubuntu-latest
68+ needs : [test-backend, test-frontend]
69+
70+ steps :
71+ - name : Checkout code
72+ uses : actions/checkout@v4
73+
74+ - name : Set up uv
75+ uses : astral-sh/setup-uv@v6
76+ with :
77+ python-version : " 3.12"
78+
79+ - name : Build both packages
80+ run : |
81+ bash scripts/build-all.sh
82+
83+ - name : Verify build artifacts
84+ run : |
85+ ls -lh packages/backend/dist/
86+ ls -lh packages/frontend/dist/
87+ test -f packages/backend/dist/claude_skills_mcp_backend-1.0.0-py3-none-any.whl
88+ test -f packages/frontend/dist/claude_skills_mcp-1.0.0-py3-none-any.whl
89+ echo "✓ All build artifacts present"
0 commit comments