* Add comprehensive coverage check workflow Created a dedicated workflow that runs code coverage before PR approval: 🚀 Coverage Runs Early: - Triggers: Push to branches + PR events (opened, sync, ready_for_review) - Smart filtering: Only runs when backend code changes - Fast feedback: Unit tests only for quick coverage results 📊 Comprehensive Reporting: - CodeCov integration with proper flags and naming - PR comments with coverage status and links - Workflow summary with coverage percentage - Coverage artifacts (XML + HTML) saved for review ⚡ Intelligent Execution: - Path filtering: src/backend/**, pyproject.toml, uv.lock - Branch filtering: main, develop, feature/**, fix/**, hotfix/** - Draft protection: Skips draft PRs - Dynamic naming: Different names for push vs PR contexts 🎯 Benefits: - Developers get immediate coverage feedback on push - Reviewers see coverage context during PR review - Coverage issues caught before approval, not after - Continuous monitoring of coverage trends across branches This replaces the previous "coverage after approval" approach with "coverage before approval" - exactly what was requested! 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com> * Remove all restrictions from coverage workflow - Coverage now runs on ANY push to ANY branch - Coverage runs on ANY PR with ANY changes - No path filtering - runs regardless of what files changed - No branch filtering - runs on all branches - Ensures coverage runs on every PR as requested * move test to be run when we submit pr * Configure CI to run tests before PR approval - Remove 'lgtm' label requirement from CI trigger - Run tests immediately on PR opened/synchronized events - Add ci.yml to path filters to trigger tests when workflow changes - Coverage and tests now run before approval for early feedback 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com> * add labeled --------- Co-authored-by: Claude <noreply@anthropic.com>
91 lines
3 KiB
YAML
91 lines
3 KiB
YAML
# https://github.com/dorny/paths-filter
|
|
python:
|
|
- "src/backend/**"
|
|
- "src/backend/**.py"
|
|
- "pyproject.toml"
|
|
- "uv.lock"
|
|
- "src/backend/base/pyproject.toml"
|
|
- "src/backend/base/uv.lock"
|
|
- "**/python_test.yml"
|
|
- ".github/workflows/ci.yml"
|
|
components-changes:
|
|
- "src/backend/base/langflow/components/**"
|
|
starter-projects-changes:
|
|
- "src/backend/base/langflow/initial_setup/**"
|
|
frontend-tests:
|
|
- "src/frontend/tests/**"
|
|
frontend:
|
|
- "src/frontend/**"
|
|
- "**/typescript_test.yml"
|
|
- "**/jest_test.yml"
|
|
- ".github/workflows/ci.yml"
|
|
docs:
|
|
- "docs/**"
|
|
|
|
# Test categories and their associated paths
|
|
starter-projects:
|
|
- "src/backend/base/langflow/initial_setup/**"
|
|
- "src/backend/base/langflow/components/**"
|
|
- "src/backend/base/langflow/services/**"
|
|
- "src/backend/base/langflow/custom/**"
|
|
- "src/backend/base/langflow/api/v1/chat.py"
|
|
- "src/frontend/src/pages/MainPage/**"
|
|
- "src/frontend/src/utils/reactflowUtils.ts"
|
|
- "src/frontend/tests/extended/features/**"
|
|
- "src/backend/base/langflow/custom/**"
|
|
- "src/backend/base/langflow/graph/**"
|
|
|
|
components:
|
|
- "src/frontend/src/components/**"
|
|
- "src/frontend/src/modals/**"
|
|
- "src/frontend/src/pages/FlowPage/**"
|
|
- "src/frontend/src/shared/**"
|
|
- "src/frontend/src/hooks/**"
|
|
- "src/frontend/src/CustomNodes/**"
|
|
- "src/frontend/src/style/**"
|
|
- "src/frontend/src/utils/styleUtils.ts"
|
|
- "src/frontend/tests/core/features/**"
|
|
- "src/frontend/tests/core/integrations/**"
|
|
- "src/frontend/tests/core/regression/**"
|
|
- "src/frontend/tests/extended/integrations/**"
|
|
- "src/frontend/tests/extended/features/**"
|
|
- "src/frontend/tests/extended/regression/**"
|
|
- "src/backend/base/langflow/custom/**"
|
|
- "src/backend/base/langflow/schema/**"
|
|
- "src/backend/base/langflow/graph/**"
|
|
- "src/backend/base/langflow/utils/**"
|
|
- "src/backend/base/langflow/custom/**"
|
|
- "src/backend/base/langflow/components/**"
|
|
- "src/backend/base/langflow/initial_setup/**"
|
|
- "src/backend/base/langflow/serialization/**"
|
|
|
|
workspace:
|
|
- "src/backend/base/langflow/inputs/**"
|
|
- "src/frontend/src/components/core/parameterRenderComponent/**"
|
|
- "src/frontend/src/CustomNodes/**"
|
|
- "src/frontend/src/modals/**"
|
|
- "src/frontend/src/style/**"
|
|
- "src/frontend/src/CustomEdges/**"
|
|
- "src/frontend/src/utils/reactflowUtils.ts"
|
|
- "src/frontend/src/utils/buildUtils.ts"
|
|
- "src/frontend/tests/core/features/**"
|
|
- "src/frontend/tests/core/unit/**"
|
|
- "src/frontend/tests/extended/features/**"
|
|
- "src/frontend/tests/core/regression/**"
|
|
|
|
api:
|
|
- "src/backend/base/langflow/api/**"
|
|
- "src/frontend/src/controllers/**"
|
|
- "src/frontend/tests/core/features/**"
|
|
- "src/frontend/tests/extended/features/**"
|
|
- "src/frontend/tests/extended/regression/**"
|
|
|
|
database:
|
|
- "src/backend/base/langflow/services/database/**"
|
|
- "src/backend/base/langflow/alembic/**"
|
|
- "src/frontend/src/controllers/**"
|
|
- "src/frontend/tests/core/features/**"
|
|
- "src/frontend/tests/extended/features/**"
|
|
|
|
mainpage:
|
|
- "src/frontend/src/pages/MainPage/**"
|