Skip to content

Conversation

@lyzno1
Copy link
Collaborator

@lyzno1 lyzno1 commented Jul 27, 2025

Description

This PR introduces a complete CI/CD workflow system for the project, including:

Features

🔄 Primary CI/CD Pipeline

  • Smart change detection to skip irrelevant checks
  • Parallel execution of core quality checks
  • Supports code formatting, type checking, and build validation
  • I18n (internationalization) validation
  • Security scanning and final state verification

🔒 Enhanced Security Checks

  • Security scans now run on pull requests (previously scheduled only)
  • Dependency vulnerability scanning
  • Hardcoded secret detection

📊 Code Quality Analysis

  • Code complexity analysis
  • Bundle size monitoring
  • TypeScript coverage tracking
  • Documentation coverage analysis
  • Automated PR feedback via comments

🔄 Automated Dependency Updates

  • Weekly dependency updates
  • Supports patch/minor/major upgrades
  • Post-update validation and testing
  • Auto-generated pull requests

📋 Improved Pull Request Template

  • Simplified checklist to reduce redundancy
  • Clear quality gate instructions
  • Integrated CI/CD status explanation

Technical Highlights

  • ✅ All pnpm commands aligned with package.json
  • ✅ Uses Node.js 18 and pnpm 9
  • ✅ Smart caching and parallel execution
  • ✅ Comprehensive workflow documentation

Recommended GitHub Ruleset Configuration

The following required status checks should be enabled in the repository settings:

CI/CD Pipeline / CI Status Check  
Security Checks / dependency-scan  
Security Checks / code-security

Type of Changes

  • ✨ New Feature (CI/CD Workflows)
  • 🔧 Configuration Changes (GitHub Actions)
  • 📚 Documentation Updates (Workflow Instructions)

All workflows have been locally verified and align with project development standards.

- Add main CI/CD pipeline with smart change detection
- Add dependency update automation with security audit
- Add code quality analysis with complexity tracking
- Enhance security checks to run on PRs
- Simplify PR template with consolidated checklists
- Add comprehensive workflow documentation

All workflows use pnpm and follow project conventions
@github-actions
Copy link

📊 Code Quality Analysis Results

Code Quality Summary

Generated at: Sun Jul 27 04:23:33 UTC 2025


Bundle Size Report

Generated at: Sun Jul 27 04:23:21 UTC 2025

Total build size: 501M

Static assets size: 18M

Large Files (> 1MB)

  • .next/server/app/favicon.ico.body: 1.4M
  • .next/server/app/favicon.ico/route.js: 1.8M
  • .next/trace: 1.6M
  • .next/cache/webpack/client-production/0.pack: 183M
  • .next/cache/webpack/client-production/index.pack: 28M
  • .next/cache/webpack/server-production/0.pack: 207M
  • .next/cache/webpack/server-production/index.pack: 36M
  • .next/cache/webpack/edge-server-production/0.pack: 17M
  • .next/cache/webpack/edge-server-production/index.pack: 1.4M

Code Complexity Report

Generated at: Sun Jul 27 04:22:21 UTC 2025

⚠️ app/layout.tsx: 111 lines/function (total: 111 lines, 1 functions)
⚠️ app/reset-password/page.tsx: 22 lines/function (total: 91 lines, 4 functions)
⚠️ app/chat/layout.tsx: 26 lines/function (total: 53 lines, 2 functions)
⚠️ app/chat/[conversationId]/page.tsx: 27 lines/function (total: 251 lines, 9 functions)
⚠️ app/sso/processing/page.tsx: 45 lines/function (total: 316 lines, 7 functions)
⚠️ app/phone-login/page.tsx: 138 lines/function (total: 138 lines, 1 functions)
⚠️ app/apps/text-generation/[instanceId]/page.tsx: 32 lines/function (total: 259 lines, 8 functions)
⚠️ app/apps/layout.tsx: 24 lines/function (total: 48 lines, 2 functions)
⚠️ app/apps/chatbot/[instanceId]/page.tsx: 29 lines/function (total: 435 lines, 15 functions)
⚠️ app/apps/agent/[instanceId]/page.tsx: 30 lines/function (total: 455 lines, 15 functions)
⚠️ app/apps/chatflow/[instanceId]/page.tsx: 26 lines/function (total: 480 lines, 18 functions)
⚠️ app/apps/workflow/[instanceId]/page.tsx: 31 lines/function (total: 251 lines, 8 functions)
⚠️ app/admin/content/page.tsx: 31 lines/function (total: 602 lines, 19 functions)
⚠️ app/admin/permissions/page.tsx: 22 lines/function (total: 44 lines, 2 functions)
⚠️ app/admin/sso-providers/page.tsx: 36 lines/function (total: 289 lines, 8 functions)
⚠️ app/admin/page.tsx: 34 lines/function (total: 172 lines, 5 functions)
⚠️ app/admin/api-config/page.tsx: 25 lines/function (total: 1394 lines, 55 functions)
⚠️ app/settings/layout.tsx: 37 lines/function (total: 75 lines, 2 functions)
⚠️ app/settings/page.tsx: 25 lines/function (total: 77 lines, 3 functions)
⚠️ app/about/page.tsx: 39 lines/function (total: 276 lines, 7 functions)
⚠️ app/login/page.tsx: 40 lines/function (total: 160 lines, 4 functions)
⚠️ app/api/auth/sso-signin/route.ts: 40 lines/function (total: 243 lines, 6 functions)
⚠️ app/api/auth/callback/route.ts: 89 lines/function (total: 89 lines, 1 functions)
⚠️ app/api/sso/[providerId]/callback/route.ts: 241 lines/function (total: 241 lines, 1 functions)
⚠️ app/api/sso/[providerId]/logout/route.ts: 63 lines/function (total: 126 lines, 2 functions)
⚠️ app/api/sso/[providerId]/login/route.ts: 76 lines/function (total: 76 lines, 1 functions)
⚠️ app/api/translations/[locale]/route.ts: 22 lines/function (total: 133 lines, 6 functions)
⚠️ app/api/dify/[appId]/[...slug]/route.ts: 28 lines/function (total: 617 lines, 22 functions)
⚠️ app/api/admin/encrypt/route.ts: 32 lines/function (total: 97 lines, 3 functions)
⚠️ app/api/admin/translations/route.ts: 34 lines/function (total: 374 lines, 11 functions)
⚠️ app/api/admin/status/route.ts: 54 lines/function (total: 54 lines, 1 functions)
⚠️ app/api/admin/users/route.ts: 38 lines/function (total: 77 lines, 2 functions)
⚠️ app/api/admin/users/for-group/route.ts: 55 lines/function (total: 111 lines, 2 functions)
⚠️ components/file-preview/file-preview-canvas.tsx: 42 lines/function (total: 127 lines, 3 functions)
⚠️ components/file-preview/file-preview-backdrop.tsx: 31 lines/function (total: 31 lines, 1 functions)
⚠️ components/text-generation/text-generation-result-viewer.tsx: 28 lines/function (total: 487 lines, 17 functions)
⚠️ components/text-generation/text-generation-viewer.tsx: 41 lines/function (total: 414 lines, 10 functions)
⚠️ components/text-generation/text-generation-layout.tsx: 25 lines/function (total: 360 lines, 14 functions)
⚠️ components/text-generation/text-generation-tracker.tsx: 35 lines/function (total: 424 lines, 12 functions)
⚠️ components/home/index.tsx: 22 lines/function (total: 228 lines, 10 functions)
⚠️ components/nav-bar/nav-button.tsx: 47 lines/function (total: 47 lines, 1 functions)
⚠️ components/nav-bar/nav-bar.tsx: 39 lines/function (total: 79 lines, 2 functions)
⚠️ components/nav-bar/conversation-title-button.tsx: 24 lines/function (total: 576 lines, 24 functions)
⚠️ components/nav-bar/workflow-history-button.tsx: 55 lines/function (total: 55 lines, 1 functions)
⚠️ components/nav-bar/avatar-button.tsx: 27 lines/function (total: 109 lines, 4 functions)
⚠️ components/nav-bar/conditional-nav-bar.tsx: 41 lines/function (total: 41 lines, 1 functions)
⚠️ components/auth/phone-auth.tsx: 38 lines/function (total: 271 lines, 7 functions)
⚠️ components/auth/sso-button.tsx: 42 lines/function (total: 296 lines, 7 functions)
⚠️ components/auth/forgot-password-form.tsx: 85 lines/function (total: 256 lines, 3 functions)
⚠️ components/auth/login-form.tsx: 59 lines/function (total: 295 lines, 5 functions)
⚠️ components/auth/register-form.tsx: 69 lines/function (total: 414 lines, 6 functions)
⚠️ components/auth/reset-password-form.tsx: 51 lines/function (total: 519 lines, 10 functions)
⚠️ components/ui/notification-bar.tsx: 66 lines/function (total: 66 lines, 1 functions)
⚠️ components/ui/spinner.tsx: 38 lines/function (total: 38 lines, 1 functions)
⚠️ components/ui/suggested-question-button.tsx: 22 lines/function (total: 88 lines, 4 functions)
⚠️ components/ui/alert.tsx: 21 lines/function (total: 86 lines, 4 functions)
⚠️ components/ui/select.tsx: 23 lines/function (total: 162 lines, 7 functions)
⚠️ components/ui/wide-panel-left.tsx: 21 lines/function (total: 21 lines, 1 functions)
⚠️ components/ui/switch.tsx: 30 lines/function (total: 30 lines, 1 functions)
⚠️ components/ui/user-avatar.tsx: 25 lines/function (total: 103 lines, 4 functions)
⚠️ components/ui/typing-dots.tsx: 54 lines/function (total: 108 lines, 2 functions)
⚠️ components/ui/page-loader.tsx: 28 lines/function (total: 144 lines, 5 functions)
⚠️ components/ui/label.tsx: 22 lines/function (total: 22 lines, 1 functions)
⚠️ components/ui/resizable-split-pane.tsx: 25 lines/function (total: 226 lines, 9 functions)
⚠️ components/ui/message-actions-container.tsx: 39 lines/function (total: 39 lines, 1 functions)
⚠️ components/ui/badge.tsx: 48 lines/function (total: 48 lines, 1 functions)
⚠️ components/ui/message-action-button.tsx: 34 lines/function (total: 102 lines, 3 functions)
⚠️ components/ui/button.tsx: 60 lines/function (total: 120 lines, 2 functions)
⚠️ components/ui/confirm-dialog.tsx: 21 lines/function (total: 407 lines, 19 functions)
⚠️ components/ui/textarea.tsx: 24 lines/function (total: 24 lines, 1 functions)
⚠️ components/ui/more-button-v2.tsx: 71 lines/function (total: 71 lines, 1 functions)
⚠️ components/ui/dynamic-title.tsx: 30 lines/function (total: 510 lines, 17 functions)
⚠️ components/ui/logout-confirm-dialog.tsx: 21 lines/function (total: 366 lines, 17 functions)
⚠️ components/ui/input-dialog.tsx: 21 lines/function (total: 464 lines, 22 functions)
⚠️ components/ui/input.tsx: 25 lines/function (total: 25 lines, 1 functions)
⚠️ components/ui/adaptive-key-badge.tsx: 45 lines/function (total: 137 lines, 3 functions)
⚠️ components/ui/more-button.tsx: 37 lines/function (total: 75 lines, 2 functions)
⚠️ components/chat/dynamic-suggested-questions.tsx: 22 lines/function (total: 246 lines, 11 functions)
⚠️ components/chat/messages-loading-indicator.tsx: 21 lines/function (total: 172 lines, 8 functions)
⚠️ components/chat/message-actions/user-message-actions.tsx: 23 lines/function (total: 46 lines, 2 functions)
⚠️ components/chat/welcome-screen.tsx: 31 lines/function (total: 218 lines, 7 functions)
⚠️ components/chat/message-skeleton.tsx: 24 lines/function (total: 72 lines, 3 functions)
⚠️ components/chat/chat-input-backdrop.tsx: 33 lines/function (total: 33 lines, 1 functions)
⚠️ components/chat/scroll-to-bottom-button.tsx: 22 lines/function (total: 68 lines, 3 functions)
⚠️ components/chat/markdown-block/markdown-blockquote.tsx: 42 lines/function (total: 42 lines, 1 functions)
⚠️ components/chat/markdown-block/export-button.tsx: 24 lines/function (total: 173 lines, 7 functions)
⚠️ components/chat/markdown-block/code-block.tsx: 31 lines/function (total: 155 lines, 5 functions)
⚠️ components/chat/markdown-block/inline-code.tsx: 41 lines/function (total: 41 lines, 1 functions)
⚠️ components/chat/markdown-block/think-block-header.tsx: 31 lines/function (total: 127 lines, 4 functions)
⚠️ components/chat/markdown-block/markdown-table.tsx: 57 lines/function (total: 57 lines, 1 functions)
⚠️ components/chat/markdown-block/think-block-content.tsx: 77 lines/function (total: 465 lines, 6 functions)
⚠️ components/chat/markdown-block/code-block-header.tsx: 22 lines/function (total: 67 lines, 3 functions)
⚠️ components/chat/reference-sources.tsx: 31 lines/function (total: 311 lines, 10 functions)
⚠️ components/chat/messages/user-message/file-attachment-display.tsx: 25 lines/function (total: 151 lines, 6 functions)
⚠️ components/chat/messages/assistant-message/assistant-message.tsx: 40 lines/function (total: 723 lines, 18 functions)
⚠️ components/sidebar/sidebar-container.tsx: 28 lines/function (total: 143 lines, 5 functions)
⚠️ components/sidebar/sidebar-favorite-apps.tsx: 25 lines/function (total: 414 lines, 16 functions)
⚠️ components/sidebar/index.tsx: 24 lines/function (total: 24 lines, 1 functions)
⚠️ components/sidebar/sidebar-header.tsx: 28 lines/function (total: 533 lines, 19 functions)
⚠️ components/sidebar/sidebar-chat-skeleton.tsx: 53 lines/function (total: 53 lines, 1 functions)
⚠️ components/sidebar/conditional-sidebar.tsx: 38 lines/function (total: 38 lines, 1 functions)
⚠️ components/sidebar/sidebar-list-button.tsx: 35 lines/function (total: 178 lines, 5 functions)
⚠️ components/sidebar/sidebar-chat-icon.tsx: 77 lines/function (total: 77 lines, 1 functions)
⚠️ components/sidebar/sidebar-button.tsx: 29 lines/function (total: 149 lines, 5 functions)
⚠️ components/sidebar/sidebar-footer.tsx: 25 lines/function (total: 75 lines, 3 functions)
⚠️ components/mobile/ui/user-bottom-sheet.tsx: 21 lines/function (total: 238 lines, 11 functions)
⚠️ components/mobile/mobile-user-button.tsx: 25 lines/function (total: 128 lines, 5 functions)
⚠️ components/mobile/mobile-nav-button.tsx: 74 lines/function (total: 74 lines, 1 functions)
⚠️ components/apps/app-card.tsx: 51 lines/function (total: 306 lines, 6 functions)
⚠️ components/apps/app-loading.tsx: 29 lines/function (total: 29 lines, 1 functions)
⚠️ components/apps/app-header.tsx: 77 lines/function (total: 77 lines, 1 functions)
⚠️ components/apps/app-list.tsx: 31 lines/function (total: 95 lines, 3 functions)
⚠️ components/admin/admin-button/index.tsx: 29 lines/function (total: 59 lines, 2 functions)
⚠️ components/admin/content/about-preview.tsx: 58 lines/function (total: 293 lines, 5 functions)
⚠️ components/admin/content/save-actions.tsx: 41 lines/function (total: 123 lines, 3 functions)
⚠️ components/admin/content/home-preview.tsx: 40 lines/function (total: 243 lines, 6 functions)
⚠️ components/admin/return-to-chat-button.tsx: 29 lines/function (total: 29 lines, 1 functions)
⚠️ components/admin/permissions/group-permission-list.tsx: 28 lines/function (total: 170 lines, 6 functions)
⚠️ components/admin/permissions/permission-layout.tsx: 99 lines/function (total: 99 lines, 1 functions)
⚠️ components/admin/permissions/permission-header.tsx: 34 lines/function (total: 68 lines, 2 functions)
⚠️ components/admin/permissions/search-and-filter.tsx: 25 lines/function (total: 103 lines, 4 functions)
⚠️ components/admin/permissions/visibility-selector.tsx: 28 lines/function (total: 141 lines, 5 functions)
⚠️ components/admin/permissions/permission-panel.tsx: 179 lines/function (total: 179 lines, 1 functions)
⚠️ components/admin/permissions/app-list.tsx: 39 lines/function (total: 198 lines, 5 functions)
⚠️ components/admin/sso-providers/sso-provider-form.tsx: 33 lines/function (total: 1166 lines, 35 functions)
⚠️ components/admin/sso-providers/sso-stats-cards.tsx: 39 lines/function (total: 235 lines, 6 functions)
⚠️ components/admin/sso-providers/sso-table.tsx: 32 lines/function (total: 448 lines, 14 functions)
⚠️ components/admin/api-config/form-actions.tsx: 25 lines/function (total: 51 lines, 2 functions)
⚠️ components/admin/api-config/empty-state.tsx: 36 lines/function (total: 36 lines, 1 functions)
⚠️ components/admin/api-config/dify-app-type-selector.tsx: 25 lines/function (total: 205 lines, 8 functions)
⚠️ components/admin/api-config/dify-parameters-panel.tsx: 35 lines/function (total: 1965 lines, 56 functions)
⚠️ components/admin/api-config/instance-detail-header.tsx: 27 lines/function (total: 55 lines, 2 functions)
⚠️ components/admin/api-config/api-config-fields.tsx: 25 lines/function (total: 228 lines, 9 functions)
⚠️ components/admin/api-config/custom-provider-selector.tsx: 21 lines/function (total: 210 lines, 10 functions)
⚠️ components/admin/groups/create-group-modal.tsx: 35 lines/function (total: 248 lines, 7 functions)
⚠️ components/admin/groups/groups-list.tsx: 27 lines/function (total: 332 lines, 12 functions)
⚠️ components/admin/groups/groups-stats-cards.tsx: 43 lines/function (total: 129 lines, 3 functions)
⚠️ components/admin/groups/group-members-modal.tsx: 28 lines/function (total: 911 lines, 32 functions)
⚠️ components/admin/groups/edit-group-modal.tsx: 34 lines/function (total: 272 lines, 8 functions)
⚠️ components/admin/groups/groups-header.tsx: 29 lines/function (total: 87 lines, 3 functions)
⚠️ components/admin/groups/groups-search.tsx: 24 lines/function (total: 97 lines, 4 functions)
⚠️ components/admin/users/user-table.tsx: 31 lines/function (total: 819 lines, 26 functions)
⚠️ components/admin/users/user-filters.tsx: 28 lines/function (total: 402 lines, 14 functions)
⚠️ components/admin/users/user-stats-cards.tsx: 57 lines/function (total: 286 lines, 5 functions)
⚠️ components/chatflow/chatflow-input-area.tsx: 27 lines/function (total: 688 lines, 25 functions)
⚠️ components/chatflow/chatflow-execution-bar.tsx: 28 lines/function (total: 652 lines, 23 functions)
⚠️ components/chatflow/chatflow-node-tracker.tsx: 22 lines/function (total: 224 lines, 10 functions)
⚠️ components/settings/profile/profile-form.tsx: 53 lines/function (total: 483 lines, 9 functions)
⚠️ components/settings/profile/avatar-modal.tsx: 22 lines/function (total: 555 lines, 25 functions)
⚠️ components/settings/profile/avatar-preview.tsx: 83 lines/function (total: 83 lines, 1 functions)
⚠️ components/settings/profile/profile-settings.tsx: 49 lines/function (total: 246 lines, 5 functions)
⚠️ components/settings/navigation/settings-sidebar.tsx: 27 lines/function (total: 82 lines, 3 functions)
⚠️ components/settings/account/account-settings.tsx: 52 lines/function (total: 365 lines, 7 functions)
⚠️ components/settings/appearance/timezone-selector.tsx: 37 lines/function (total: 597 lines, 16 functions)
⚠️ components/settings/appearance/language-card.tsx: 56 lines/function (total: 112 lines, 2 functions)
⚠️ components/workflow/history-button.tsx: 25 lines/function (total: 50 lines, 2 functions)
⚠️ components/workflow/workflow-input-form/index.tsx: 23 lines/function (total: 391 lines, 17 functions)
⚠️ components/workflow/workflow-input-form/form-field.tsx: 43 lines/function (total: 302 lines, 7 functions)
⚠️ components/workflow/workflow-input-form/validation.ts: 46 lines/function (total: 185 lines, 4 functions)
⚠️ components/workflow/execution-history/execution-item.tsx: 53 lines/function (total: 213 lines, 4 functions)
⚠️ components/workflow/execution-history/index.tsx: 25 lines/function (total: 555 lines, 22 functions)
⚠️ components/workflow/workflow-layout.tsx: 25 lines/function (total: 350 lines, 14 functions)
⚠️ components/workflow/workflow-tracker/result-viewer.tsx: 43 lines/function (total: 518 lines, 12 functions)
⚠️ components/workflow/workflow-tracker/node-progress.tsx: 40 lines/function (total: 160 lines, 4 functions)
⚠️ components/workflow/workflow-tracker/unified-status-panel.tsx: 30 lines/function (total: 240 lines, 8 functions)
⚠️ components/workflow/workflow-tracker/execution-bar.tsx: 35 lines/function (total: 598 lines, 17 functions)
⚠️ components/chat-input/file-type-selector.tsx: 25 lines/function (total: 258 lines, 10 functions)
⚠️ components/chat-input/container.tsx: 78 lines/function (total: 78 lines, 1 functions)
⚠️ components/chat-input/attachment-preview-item.tsx: 31 lines/function (total: 221 lines, 7 functions)
⚠️ components/history/history-selection-bar.tsx: 23 lines/function (total: 143 lines, 6 functions)
⚠️ components/history/history-header.tsx: 26 lines/function (total: 52 lines, 2 functions)
⚠️ lib/hooks/use-theme-colors.ts: 28 lines/function (total: 28 lines, 1 functions)
⚠️ lib/hooks/use-welcome-layout.ts: 23 lines/function (total: 532 lines, 23 functions)
⚠️ lib/hooks/use-file-types-from-config.ts: 31 lines/function (total: 157 lines, 5 functions)
⚠️ lib/hooks/use-text-generation-execution.ts: 32 lines/function (total: 736 lines, 23 functions)
⚠️ lib/hooks/use-chat-messages.ts: 26 lines/function (total: 485 lines, 18 functions)
⚠️ lib/hooks/use-admin-auth.ts: 36 lines/function (total: 108 lines, 3 functions)
⚠️ lib/hooks/use-logout.ts: 25 lines/function (total: 75 lines, 3 functions)
⚠️ lib/hooks/use-chat-scroll.ts: 22 lines/function (total: 177 lines, 8 functions)
⚠️ lib/hooks/use-welcome-screen.ts: 37 lines/function (total: 75 lines, 2 functions)
⚠️ lib/hooks/use-workflow-execution.ts: 22 lines/function (total: 778 lines, 34 functions)
⚠️ lib/hooks/use-chat-width.ts: 21 lines/function (total: 21 lines, 1 functions)
⚠️ lib/hooks/use-chat-interface.ts: 24 lines/function (total: 1741 lines, 71 functions)
⚠️ lib/hooks/use-chat-bottom-spacing.ts: 22 lines/function (total: 44 lines, 2 functions)
⚠️ lib/hooks/use-conversation-messages.ts: 21 lines/function (total: 749 lines, 35 functions)
⚠️ lib/hooks/use-profile.ts: 26 lines/function (total: 235 lines, 9 functions)
⚠️ lib/supabase/client.ts: 28 lines/function (total: 28 lines, 1 functions)
⚠️ lib/stores/current-app-store.ts: 22 lines/function (total: 496 lines, 22 functions)
⚠️ lib/stores/app-list-store.ts: 25 lines/function (total: 607 lines, 24 functions)
⚠️ lib/config/dify-config.ts: 45 lines/function (total: 270 lines, 6 functions)
⚠️ lib/types/result.ts: 21 lines/function (total: 85 lines, 4 functions)
⚠️ lib/utils/sse-parser.ts: 26 lines/function (total: 214 lines, 8 functions)
⚠️ lib/utils/encryption.ts: 26 lines/function (total: 80 lines, 3 functions)
⚠️ lib/theme/settings-colors.ts: 339 lines/function (total: 339 lines, 1 functions)
⚠️ lib/theme/main-colors.ts: 89 lines/function (total: 89 lines, 1 functions)
⚠️ lib/constants/file-types.ts: 56 lines/function (total: 56 lines, 1 functions)
⚠️ lib/db/users.ts: 23 lines/function (total: 515 lines, 22 functions)
⚠️ lib/db/group-permissions.ts: 29 lines/function (total: 615 lines, 21 functions)
⚠️ lib/db/app-executions.ts: 23 lines/function (total: 523 lines, 22 functions)
⚠️ lib/db/sso-providers.ts: 30 lines/function (total: 337 lines, 11 functions)
⚠️ lib/services/sso/generic-cas-service.ts: 176 lines/function (total: 530 lines, 3 functions)
⚠️ lib/services/dify/workflow-service.ts: 50 lines/function (total: 660 lines, 13 functions)
⚠️ lib/services/dify/chat-service.ts: 49 lines/function (total: 493 lines, 10 functions)
⚠️ lib/services/dify/message-service.ts: 45 lines/function (total: 274 lines, 6 functions)
⚠️ lib/services/dify/conversation-service.ts: 67 lines/function (total: 475 lines, 7 functions)
⚠️ lib/services/dify/app-service.ts: 55 lines/function (total: 611 lines, 11 functions)
⚠️ lib/services/dify/index.ts: 124 lines/function (total: 124 lines, 1 functions)
⚠️ lib/services/dify/types.ts: 186 lines/function (total: 1488 lines, 8 functions)
⚠️ lib/services/dify/validation.ts: 51 lines/function (total: 153 lines, 3 functions)
⚠️ lib/services/dify/annotation-service.ts: 90 lines/function (total: 634 lines, 7 functions)
⚠️ lib/services/dify/app-parameters-service.ts: 51 lines/function (total: 155 lines, 3 functions)
⚠️ lib/services/dify/completion-service.ts: 42 lines/function (total: 386 lines, 9 functions)
⚠️ lib/services/admin/content/translation-service.ts: 296 lines/function (total: 296 lines, 1 functions)
⚠️ lib/services/admin/user/sso-user-service.ts: 225 lines/function (total: 675 lines, 3 functions)
⚠️ lib/services/db/message-service.ts: 50 lines/function (total: 500 lines, 10 functions)
⚠️ lib/services/db/data-service.ts: 51 lines/function (total: 413 lines, 8 functions)


Documentation Coverage Report

Generated at: Sun Jul 27 04:22:08 UTC 2025

Documentation Coverage: 13% (23/175 functions)

Undocumented Functions

Undocumented function at app/layout.tsx:65
Undocumented function at app/reset-password/page.tsx:12
Undocumented function at app/reset-password/page.tsx:16
Undocumented function at app/chat/layout.tsx:13
Undocumented function at app/chat/[conversationId]/page.tsx:35
Undocumented function at app/sso/processing/page.tsx:19
Undocumented function at app/sso/processing/page.tsx:286
Undocumented function at app/forgot-password/page.tsx:9
Undocumented function at app/phone-login/page.tsx:10
Undocumented function at app/apps/layout.tsx:13
Undocumented function at app/apps/chatbot/[instanceId]/page.tsx:34
Undocumented function at app/apps/agent/[instanceId]/page.tsx:34
Undocumented function at app/apps/chatflow/[instanceId]/page.tsx:32
Undocumented function at app/apps/page.tsx:16
Undocumented function at app/admin/layout.tsx:36
Undocumented function at app/admin/content/page.tsx:58
Undocumented function at app/admin/permissions/page.tsx:11
Undocumented function at app/admin/sso-providers/page.tsx:25
Undocumented function at app/admin/page.tsx:27
Undocumented function at app/admin/page.tsx:87
Undocumented function at app/admin/api-config/layout.tsx:55
Undocumented function at app/admin/api-config/page.tsx:1271
Undocumented function at app/admin/groups/page.tsx:13
Undocumented function at app/admin/users/page.tsx:34
Undocumented function at app/settings/layout.tsx:14
Undocumented function at app/page.tsx:3
Undocumented function at app/providers.tsx:10
Undocumented function at app/about/page.tsx:16
Undocumented function at app/register/page.tsx:9
Undocumented function at app/login/page.tsx:15
Undocumented function at app/api/auth/sso-signin/route.ts:13
Undocumented function at app/api/sso/[providerId]/callback/route.ts:11
Undocumented function at app/api/sso/[providerId]/logout/route.ts:13
Undocumented function at app/api/sso/[providerId]/logout/route.ts:53
Undocumented function at app/api/sso/[providerId]/login/route.ts:9
Undocumented function at app/api/dify/[appId]/[...slug]/route.ts:567
Undocumented function at app/api/dify/[appId]/[...slug]/route.ts:570
Undocumented function at app/api/dify/[appId]/[...slug]/route.ts:577
Undocumented function at app/api/dify/[appId]/[...slug]/route.ts:584
Undocumented function at app/api/dify/[appId]/[...slug]/route.ts:591
Undocumented function at app/api/dify/[appId]/[...slug]/route.ts:598
Undocumented function at components/home/index.tsx:17
Undocumented function at components/nav-bar/conversation-title-button.tsx:30
Undocumented function at components/auth/social-auth-buttons.tsx:24
Undocumented function at components/auth/phone-auth.tsx:13
Undocumented function at components/auth/sso-button.tsx:24
Undocumented function at components/auth/sso-button.tsx:95
Undocumented function at components/auth/forgot-password-form.tsx:14
Undocumented function at components/auth/login-form.tsx:19
Undocumented function at components/auth/register-form.tsx:17
Undocumented function at components/auth/reset-password-form.tsx:15
Undocumented function at components/ui/spinner.tsx:15
Undocumented function at components/ui/user-avatar.tsx:37
Undocumented function at components/ui/badge.tsx:42
Undocumented function at components/ui/typewriter.tsx:14
Undocumented function at components/ui/popover.tsx:26
Undocumented function at components/ui/popover.tsx:275
Undocumented function at components/ui/popover.tsx:322
Undocumented function at components/ui/dropdown-menu.tsx:18
Undocumented function at components/ui/dropdown-menu.tsx:65
Undocumented function at components/ui/dropdown-menu.tsx:87
Undocumented function at components/ui/custom-select.tsx:24
Undocumented function at components/ui/language-switcher.tsx:26
Undocumented function at components/ui/tooltip.tsx:80
Undocumented function at components/ui/dropdown-menu-v2.tsx:112
Undocumented function at components/ui/adaptive-key-badge.tsx:117
Undocumented function at components/ui/more-button.tsx:19
Undocumented function at components/chat/messages-loading-indicator.tsx:20
Undocumented function at components/chat/message-skeleton.tsx:9
Undocumented function at components/chat/message-skeleton.tsx:61
Undocumented function at components/chat/reference-sources.tsx:34
Undocumented function at components/sidebar/sidebar-container.tsx:14
Undocumented function at components/sidebar/sidebar-favorite-apps.tsx:38
Undocumented function at components/sidebar/index.tsx:6
Undocumented function at components/sidebar/sidebar-header.tsx:33
Undocumented function at components/sidebar/sidebar-backdrop.tsx:6
Undocumented function at components/sidebar/sidebar-list-button.tsx:24
Undocumented function at components/sidebar/sidebar-chat-list.tsx:31
Undocumented function at components/sidebar/sidebar-chat-icon.tsx:12
Undocumented function at components/sidebar/chat-skeleton.tsx:15
Undocumented function at components/sidebar/chat-skeleton.tsx:31
Undocumented function at components/sidebar/sidebar-button.tsx:19
Undocumented function at components/sidebar/sidebar-footer.tsx:15
Undocumented function at components/mobile/mobile-nav-button.tsx:11
Undocumented function at components/apps/app-card.tsx:39
Undocumented function at components/apps/app-loading.tsx:8
Undocumented function at components/apps/app-header.tsx:15
Undocumented function at components/apps/app-list.tsx:37
Undocumented function at components/apps/app-filters.tsx:21
Undocumented function at components/admin/content/preview-toolbar.tsx:18
Undocumented function at components/admin/content/about-preview.tsx:28
Undocumented function at components/admin/content/content-tabs.tsx:13
Undocumented function at components/admin/content/save-actions.tsx:18
Undocumented function at components/admin/content/about-editor.tsx:54
Undocumented function at components/admin/content/home-editor.tsx:48
Undocumented function at components/admin/content/editor-skeleton.tsx:6
Undocumented function at components/admin/content/home-preview.tsx:31
Undocumented function at components/admin/return-to-chat-button.tsx:10
Undocumented function at components/admin/permissions/group-permission-list.tsx:18
Undocumented function at components/admin/permissions/permission-layout.tsx:12
Undocumented function at components/admin/permissions/permission-header.tsx:10
Undocumented function at components/admin/permissions/search-and-filter.tsx:11
Undocumented function at components/admin/permissions/visibility-selector.tsx:19
Undocumented function at components/admin/permissions/permission-panel.tsx:13
Undocumented function at components/admin/permissions/app-list.tsx:11
Undocumented function at components/admin/sso-providers/sso-provider-form.tsx:121
Undocumented function at components/admin/sso-providers/sso-filters.tsx:12
Undocumented function at components/admin/sso-providers/table-dropdown.tsx:14
Undocumented function at components/admin/sso-providers/sso-stats-cards.tsx:27
Undocumented function at components/admin/sso-providers/sso-table.tsx:49
Undocumented function at components/admin/api-config/provider-management-modal.tsx:70
Undocumented function at components/admin/api-config/instance-filter-selector.tsx:21
Undocumented function at components/admin/api-config/custom-provider-selector.tsx:21
Undocumented function at components/admin/groups/create-group-modal.tsx:18
Undocumented function at components/admin/groups/groups-list.tsx:34
Undocumented function at components/admin/groups/groups-stats-cards.tsx:20
Undocumented function at components/admin/groups/group-members-modal.tsx:39
Undocumented function at components/admin/groups/edit-group-modal.tsx:20
Undocumented function at components/admin/groups/groups-header.tsx:14
Undocumented function at components/admin/groups/groups-search.tsx:14
Undocumented function at components/chatflow/chatflow-execution-bar.tsx:470
Undocumented function at components/chatflow/chatflow-execution-bar.tsx:496
Undocumented function at components/chatflow/chatflow-execution-bar.tsx:604
Undocumented function at components/settings/profile/profile-form.tsx:45
Undocumented function at components/settings/profile/avatar-cropper.tsx:29
Undocumented function at components/settings/profile/avatar-upload-area.tsx:24
Undocumented function at components/settings/profile/avatar-preview.tsx:20
Undocumented function at components/settings/navigation/settings-mobile-nav.tsx:22
Undocumented function at components/settings/account/account-settings.tsx:35
Undocumented function at components/settings/appearance/theme-card.tsx:17
Undocumented function at components/settings/appearance/timezone-selector.tsx:210
Undocumented function at components/settings/appearance/language-card.tsx:17
Undocumented function at components/workflow/workflow-tracker/result-viewer.tsx:93
Undocumented function at components/chat-input/model-selector-button.tsx:24
Undocumented function at components/history/history-selection-bar.tsx:24
Undocumented function at lib/hooks/use-admin-auth.ts:42
Undocumented function at lib/hooks/use-mobile.ts:6
Undocumented function at lib/hooks/use-create-conversation.ts:82
Undocumented function at lib/hooks/use-user-timezone.ts:30
Undocumented function at lib/stores/api-config-store.ts:51
Undocumented function at lib/stores/theme-store.ts:33
Undocumented function at lib/stores/theme-store.ts:40
Undocumented function at lib/utils/client-render.tsx:30
Undocumented function at lib/db/users.ts:145
Undocumented function at lib/db/group-permissions.ts:64
Undocumented function at lib/db/group-permissions.ts:193
Undocumented function at lib/db/group-permissions.ts:292
Undocumented function at lib/db/group-permissions.ts:462
Undocumented function at lib/db/group-permissions.ts:562
Undocumented function at lib/db/index.ts:48
Undocumented function at lib/db/index.ts:118
Undocumented function at lib/utils.ts:4


TypeScript Coverage Report

Generated at: Sun Jul 27 04:22:22 UTC 2025

TypeScript Coverage: 100% (395/395 files)

  • TypeScript files: 150
  • TSX files: 245
  • JavaScript files: 0
  • JSX files: 0

Type Check Results

✅ No type errors found


This comment was generated automatically by the code quality workflow.

@lyzno1 lyzno1 changed the title feat(ci): 完善 CI/CD 工作流和 PR 模板 feat(ci): improve CI/CD workflows and pull request templates Jul 27, 2025
- Reduce verbose output in PR comments
- Only show key metrics: bundle size, TS coverage, complexity count
- Keep detailed reports in workflow artifacts
- Improve comment readability and usefulness
@github-actions
Copy link

📊 Code Quality Summary

📦 Bundle Analysis

  • Total build size: ** 501M
  • Static assets: ** 18M

🔍 TypeScript Coverage

  • TypeScript Coverage Report

⚡ Code Complexity

  • 216 files with high complexity (>20 lines/function)
  • Consider refactoring large functions for better maintainability

Full reports available in workflow artifacts

Automated quality analysis - view detailed reports in workflow artifacts

@lyzno1 lyzno1 requested a review from zhangxuhe1 July 27, 2025 04:34
@lyzno1 lyzno1 closed this Jul 27, 2025
@lyzno1
Copy link
Collaborator Author

lyzno1 commented Jul 27, 2025

🔄 CI/CD Workflow Optimization Update

Changes Made

  • Removed ineffective code quality checks - Eliminated verbose and low-value analysis
  • Enhanced smart change detection - More precise file pattern matching for efficient CI runs
  • Streamlined to core package.json scripts - Only essential checks: type-check, lint, format:check, build, i18n:check
  • Improved file pattern specificity - Better targeting of TypeScript/React files, config files, and i18n resources

Current Workflow Status

✅ All Checks Passed (6 skipped, 10 successful)

Active Workflows:

  • ci.yml - Core CI/CD pipeline with smart detection
  • security.yml - Dependency and security scanning
  • dependency-update.yml - Automated dependency management
  • Claude AI integration workflows

Intelligent Detection Patterns:

  • Source files: app/**/*.{ts,tsx,js,jsx}, components/**/*.{ts,tsx,js,jsx}, lib/**/*.{ts,tsx,js,jsx}
  • Config files: package.json, tsconfig.json, eslint.config.mjs, etc.
  • I18n files: messages/**/*.json, scripts/**/*i18n*
  • Styles: styles/**/*.css, app/globals.css

Quality Gates

All checks now align with project's package.json scripts:

  • TypeScript: pnpm run type-check
  • Linting: pnpm run lint
  • Formatting: pnpm run format:check
  • Build: pnpm run build
  • I18n: pnpm run i18n:check + pnpm run i18n:validate

This optimization reduces noise while maintaining essential code quality and security checks. The workflow now provides actionable feedback without overwhelming developers with low-value metrics.

Ready for review and merge! 🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants