@@ -223,13 +223,11 @@ test-fast: ## Run tests without slow markers
223223 $(PYTEST ) $(TESTS_DIR ) -v -m " not slow"
224224 @echo " Fast tests complete"
225225
226- .PHONY : ci-test
227- ci-test : fmt-check lint typecheck test # # Run CI pipeline (format, lint, typecheck, test)
228- @echo " CI pipeline complete"
229-
230226# ==============================================================================
231227# CI-SPECIFIC TARGETS (GitHub Actions)
232228# ==============================================================================
229+ # These targets are optimized for CI environments with coverage output
230+ # and proper exit codes for CI systems.
233231
234232.PHONY : ci-deps
235233ci-deps : # # Install dependencies for CI (no pre-commit hooks)
@@ -238,30 +236,59 @@ ci-deps: ## Install dependencies for CI (no pre-commit hooks)
238236 $(PIP ) install -e " .[dev]"
239237 @echo " CI dependencies installed"
240238
241- .PHONY : test-unit-ci
242- test-unit-ci : # # Run unit tests for CI with coverage output
243- @echo " Running unit tests for CI..."
244- $(PYTEST ) $(TESTS_DIR ) /unit -v --cov=$(SRC_DIR ) /tfo_mcp --cov-report=xml:coverage-unit.xml --cov-report=term
239+ .PHONY : ci-lint
240+ ci-lint : fmt-check lint typecheck # # Run full lint suite for CI
241+ @echo " CI lint suite complete"
242+
243+ .PHONY : ci-test-unit
244+ ci-test-unit : # # Run unit tests for CI with coverage output
245+ @echo " Running unit tests (CI mode)..."
246+ $(PYTEST ) $(TESTS_DIR ) /unit -v --tb=short --cov=$(SRC_DIR ) /tfo_mcp --cov-report=xml:coverage-unit.xml --cov-report=term-missing --junitxml=junit-unit.xml
245247 @echo " Unit tests complete"
246248
247- .PHONY : test-integration-ci
248- test-integration-ci : # # Run integration tests for CI with coverage output
249- @echo " Running integration tests for CI ..."
250- $(PYTEST ) $(TESTS_DIR ) /integration -v --cov=$(SRC_DIR ) /tfo_mcp --cov-report=xml:coverage-integration.xml --cov-report=term
249+ .PHONY : ci- test-integration
250+ ci- test-integration : # # Run integration tests for CI with coverage output
251+ @echo " Running integration tests (CI mode) ..."
252+ $(PYTEST ) $(TESTS_DIR ) /integration -v --tb=short -- cov=$(SRC_DIR ) /tfo_mcp --cov-append --cov- report=xml:coverage-integration.xml --cov-report=term-missing --junitxml=junit-integration.xml || true
251253 @echo " Integration tests complete"
252254
253- .PHONY : test-e2e-ci
254- test-e2e-ci : # # Run E2E tests for CI
255- @echo " Running E2E tests for CI ..."
256- $(PYTEST ) $(TESTS_DIR ) /e2e -v
255+ .PHONY : ci- test-e2e
256+ ci- test-e2e : # # Run E2E tests for CI
257+ @echo " Running E2E tests (CI mode) ..."
258+ $(PYTEST ) $(TESTS_DIR ) /e2e -v --tb=short --junitxml=junit-e2e.xml || true
257259 @echo " E2E tests complete"
258260
261+ .PHONY : ci-test
262+ ci-test : ci-test-unit ci-test-integration # # Run all tests for CI
263+ @echo " CI test suite complete"
264+
259265.PHONY : ci-build
260- ci-build : # # Build package for CI
261- @echo " Building for CI ..."
266+ ci-build : clean # # Build package for CI
267+ @echo " Building packages (CI mode) ..."
262268 $(PIP ) install build
263269 $(PYTHON ) -m build
264270 @echo " CI build complete"
271+ @ls -la $(DIST_DIR ) /
272+
273+ .PHONY : ci-security
274+ ci-security : # # Run security scan for CI
275+ @echo " Running security scan (CI mode)..."
276+ @$(PIP ) install bandit safety 2> /dev/null || true
277+ @bandit -r $(SRC_DIR ) / -f json -o bandit-results.json -ll || true
278+ @safety check --json > safety-results.json 2> /dev/null || true
279+ @echo " Security scan complete"
280+
281+ .PHONY : ci-coverage
282+ ci-coverage : # # Generate coverage reports for CI
283+ @echo " Generating coverage reports (CI mode)..."
284+ $(PYTEST ) $(TESTS_DIR ) / --cov=$(SRC_DIR ) /tfo_mcp --cov-report=xml:coverage.xml --cov-report=html:$(BUILD_DIR ) /htmlcov --cov-report=term-missing -q
285+ @echo " Coverage reports generated"
286+
287+ .PHONY : ci-validate
288+ ci-validate : # # Validate CI configuration
289+ @echo " Validating CI configuration..."
290+ $(PIP ) check
291+ @echo " CI configuration valid"
265292
266293.PHONY : deps-verify
267294deps-verify : # # Verify dependencies
@@ -334,12 +361,6 @@ docker-compose-logs: ## Show docker-compose logs
334361ci : deps-dev fmt-check lint typecheck test # # Run CI pipeline
335362 @echo " CI pipeline complete"
336363
337- .PHONY : ci-validate
338- ci-validate : # # Validate CI configuration
339- @echo " Validating CI configuration..."
340- $(PIP ) check
341- @echo " CI configuration valid"
342-
343364# ==============================================================================
344365# RELEASE
345366# ==============================================================================
0 commit comments