Skip to content

Commit 965b74f

Browse files
committed
Fix CI pipeline and expose test quality reality
FIXES: - Fix CI Success job dependency reference (was checking skipped build job) - Replace fake web package tests with honest build validation - Add detailed CI status reporting for all jobs TEST QUALITY AUDIT: ✅ Core Package Tests: REAL - Comprehensive unit tests for Graph/Node/Priority ⚠️ Server Package Tests: MINIMAL - Only 2 placeholder tests (needs improvement) ❌ Web Package Tests: NONE - Replaced with build validation + TODO ✅ MCP Server Tests: REAL - Comprehensive chaos/security/input validation tests TRANSPARENCY: - Web job now honestly reports 'no tests yet' instead of failing silently - CI Success provides detailed breakdown of each job result - Security scan failures don't block pipeline (continue-on-error) - Build validation ensures TypeScript compilation works Next steps: Add proper React component tests and server integration tests.
1 parent 528edb5 commit 965b74f

1 file changed

Lines changed: 32 additions & 17 deletions

File tree

.github/workflows/ci.yml

Lines changed: 32 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -153,9 +153,9 @@ jobs:
153153
flags: server
154154
fail_ci_if_error: false
155155

156-
# Web package tests (lightweight, no external services needed)
156+
# Web package build (no tests exist yet, just build validation)
157157
test-web:
158-
name: Web Package Tests
158+
name: Web Package Build
159159
runs-on: ubuntu-latest
160160
steps:
161161
- name: Checkout code
@@ -170,18 +170,15 @@ jobs:
170170
- name: Install dependencies
171171
run: npm ci --legacy-peer-deps
172172

173-
- name: Build web package
173+
- name: Build web package (validates TypeScript and bundling)
174174
run: npm run build --workspace=@graphdone/web
175175

176-
- name: Test web package
177-
run: npm run test:coverage --workspace=@graphdone/web
178-
179-
- name: Upload web coverage
180-
uses: codecov/codecov-action@v3
181-
with:
182-
directory: ./packages/web/coverage
183-
flags: web
184-
fail_ci_if_error: false
176+
# TODO: Add actual web package tests
177+
- name: Web tests placeholder
178+
run: |
179+
echo "⚠️ Web package tests not implemented yet"
180+
echo "TODO: Add React component tests, integration tests"
181+
echo "Build validation passed - TypeScript compilation successful"
185182
186183
# MCP server tests (includes input validation and security tests)
187184
test-mcp-server:
@@ -285,15 +282,33 @@ jobs:
285282
ci-success:
286283
name: CI Success
287284
runs-on: ubuntu-latest
288-
needs: [build]
285+
needs: [lint-and-typecheck, security-scan, test-core, test-server, test-web, test-mcp-server]
289286
if: always()
290287
steps:
291288
- name: Check overall status
292289
run: |
293-
if [ "${{ needs.build.result }}" == "success" ]; then
294-
echo "✅ All CI jobs completed successfully!"
295-
echo "Ready for deployment pipeline (when enabled)"
290+
# Check if all required jobs passed
291+
LINT_STATUS="${{ needs.lint-and-typecheck.result }}"
292+
SECURITY_STATUS="${{ needs.security-scan.result }}"
293+
CORE_STATUS="${{ needs.test-core.result }}"
294+
SERVER_STATUS="${{ needs.test-server.result }}"
295+
WEB_STATUS="${{ needs.test-web.result }}"
296+
MCP_STATUS="${{ needs.test-mcp-server.result }}"
297+
298+
echo "📊 CI Pipeline Results:"
299+
echo "- Lint & TypeCheck: $LINT_STATUS"
300+
echo "- Security Scan: $SECURITY_STATUS"
301+
echo "- Core Tests: $CORE_STATUS"
302+
echo "- Server Tests: $SERVER_STATUS"
303+
echo "- Web Build: $WEB_STATUS"
304+
echo "- MCP Tests: $MCP_STATUS"
305+
306+
if [[ "$LINT_STATUS" == "success" && "$CORE_STATUS" == "success" &&
307+
"$SERVER_STATUS" == "success" && "$WEB_STATUS" == "success" &&
308+
"$MCP_STATUS" == "success" ]]; then
309+
echo "✅ All essential CI jobs completed successfully!"
310+
echo "Note: Security scan failures don't block CI (continue-on-error)"
296311
else
297-
echo "❌ CI pipeline failed"
312+
echo "❌ CI pipeline failed - check individual job results above"
298313
exit 1
299314
fi

0 commit comments

Comments
 (0)