Skip to content

ci: add lfx paths to CI path filters#11212

Merged
ogabrielluiz merged 2 commits intomainfrom
fix/ci-lfx-path-filter
Mar 3, 2026
Merged

ci: add lfx paths to CI path filters#11212
ogabrielluiz merged 2 commits intomainfrom
fix/ci-lfx-path-filter

Conversation

@ogabrielluiz
Copy link
Copy Markdown
Contributor

@ogabrielluiz ogabrielluiz commented Jan 6, 2026

Summary

Changes to src/lfx were not triggering CI tests because the path filters did not include lfx directories.

This adds lfx paths to the following filters:

  • python: triggers backend tests for any lfx changes
  • docker: triggers docker tests when lfx changes
  • components-changes: lfx components directory
  • components: lfx components, custom, schema, graph directories
  • workspace: lfx inputs directory

Summary by CodeRabbit

  • Chores
    • Updated configuration to include the lfx package across Python, Docker, components, and workspace contexts, enabling proper version tracking and manifest management for the new package.

✏️ Tip: You can customize this high-level summary in your review settings.

Changes to src/lfx were not triggering CI tests because the path
filters did not include lfx directories. This adds lfx paths to:
- python: triggers backend tests for any lfx changes
- docker: triggers docker tests when lfx changes
- components-changes: lfx components
- components: lfx components, custom, schema, graph
- workspace: lfx inputs
@github-actions github-actions Bot added the community Pull Request from an external contributor label Jan 6, 2026
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Jan 6, 2026

Important

Review skipped

Auto incremental reviews are disabled on this repository.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Walkthrough

Updated .github/changes-filter.yaml to include the new lfx package paths across Python, Docker, components, and workspace filter groups, enabling proper manifesting and version lookup for the lfx subpackage.

Changes

Cohort / File(s) Summary
GitHub Path Filters
\\.github/changes-filter.yaml
Added lfx package paths to Python filters (src/lfx/**, pyproject.toml), component filters (src/lfx/src/lfx/components/**, component_index.json), Docker/workflow filters, and workspace/component groupings to support the new lfx subpackage.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Pre-merge checks and finishing touches

✅ Passed checks (7 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately and concisely describes the main change: adding lfx paths to CI path filters in the changes-filter.yaml file.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Test Coverage For New Implementations ✅ Passed This PR is a CI configuration change that adds lfx paths to the .github/changes-filter.yaml file to enable CI test triggering for the lfx package. Since this is a configuration modification and not an implementation of new functionality, components, or features, new test files are not required or applicable according to the custom check criteria.
Test Quality And Coverage ✅ Passed This PR only modifies CI configuration (.github/changes-filter.yaml) to include src/lfx/** paths, with no new code implementations, features, functions, or API endpoints requiring test coverage.
Test File Naming And Structure ✅ Passed This PR only modifies CI configuration in .github/changes-filter.yaml and contains no test files, so the test file naming and structure verification check is not applicable.
Excessive Mock Usage Warning ✅ Passed The custom check for excessive mock usage is not applicable to this pull request. The PR only modifies the CI path filter configuration file (.github/changes-filter.yaml), which is a declarative YAML file containing path patterns for triggering CI workflows. The PR does not introduce, modify, or interact with any test files or code containing mocks.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch fix/ci-lfx-path-filter

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Fix all issues with AI Agents
In @.github/changes-filter.yaml:
- Around line 76-79: The components filter for the lfx package is missing
patterns for the utils and serialization directories; update the
.github/changes-filter.yaml lfx filter group (the block containing
"src/lfx/src/lfx/components/**", "src/lfx/src/lfx/custom/**",
"src/lfx/src/lfx/schema/**", "src/lfx/src/lfx/graph/**") by adding entries for
"src/lfx/src/lfx/utils/**" and "src/lfx/src/lfx/serialization/**" immediately
after that block, and ensure you do not add an entry for a non-existent
"initial_setup" directory.
🧹 Nitpick comments (1)
.github/changes-filter.yaml (1)

10-10: Consider removing redundant path.

The path src/lfx/pyproject.toml on line 10 is already covered by the broader src/lfx/** pattern on line 5.

🔎 Proposed fix
  - "src/lfx/**"
  - "pyproject.toml"
  - "uv.lock"
  - "src/backend/base/pyproject.toml"
  - "src/backend/base/uv.lock"
- - "src/lfx/pyproject.toml"
  - "**/python_test.yml"
📜 Review details

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 7d797c1 and 556fcdd.

📒 Files selected for processing (1)
  • .github/changes-filter.yaml
🧰 Additional context used
🧠 Learnings (6)
📚 Learning: 2025-11-24T19:46:09.104Z
Learnt from: CR
Repo: langflow-ai/langflow PR: 0
File: .cursor/rules/backend_development.mdc:0-0
Timestamp: 2025-11-24T19:46:09.104Z
Learning: Applies to src/backend/base/langflow/components/**/*.py : Add new components to the appropriate subdirectory under `src/backend/base/langflow/components/` (agents/, data/, embeddings/, input_output/, models/, processing/, prompts/, tools/, or vectorstores/)

Applied to files:

  • .github/changes-filter.yaml
📚 Learning: 2025-11-24T19:46:09.104Z
Learnt from: CR
Repo: langflow-ai/langflow PR: 0
File: .cursor/rules/backend_development.mdc:0-0
Timestamp: 2025-11-24T19:46:09.104Z
Learning: Applies to src/backend/base/langflow/components/**/__init__.py : Update `__init__.py` with alphabetically sorted imports when adding new components

Applied to files:

  • .github/changes-filter.yaml
📚 Learning: 2025-11-24T19:47:28.997Z
Learnt from: CR
Repo: langflow-ai/langflow PR: 0
File: .cursor/rules/testing.mdc:0-0
Timestamp: 2025-11-24T19:47:28.997Z
Learning: Applies to src/backend/tests/**/*.py : Use same filename as component with appropriate test prefix/suffix (e.g., `my_component.py` → `test_my_component.py`)

Applied to files:

  • .github/changes-filter.yaml
📚 Learning: 2025-11-24T19:47:28.997Z
Learnt from: CR
Repo: langflow-ai/langflow PR: 0
File: .cursor/rules/testing.mdc:0-0
Timestamp: 2025-11-24T19:47:28.997Z
Learning: Applies to src/backend/tests/**/*.py : Test component versioning and backward compatibility using `file_names_mapping` fixture with `VersionComponentMapping` objects mapping component files across Langflow versions

Applied to files:

  • .github/changes-filter.yaml
📚 Learning: 2025-11-24T19:47:28.997Z
Learnt from: CR
Repo: langflow-ai/langflow PR: 0
File: .cursor/rules/testing.mdc:0-0
Timestamp: 2025-11-24T19:47:28.997Z
Learning: Applies to src/backend/tests/**/*.py : Place backend unit tests in `src/backend/tests/` directory, component tests in `src/backend/tests/unit/components/` organized by component subdirectory, and integration tests accessible via `make integration_tests`

Applied to files:

  • .github/changes-filter.yaml
📚 Learning: 2025-11-24T19:46:45.790Z
Learnt from: CR
Repo: langflow-ai/langflow PR: 0
File: .cursor/rules/frontend_development.mdc:0-0
Timestamp: 2025-11-24T19:46:45.790Z
Learning: Applies to src/frontend/src/components/**/*.{tsx,jsx} : Use React Flow for flow graph visualization with Node, Edge, Controls, and Background components

Applied to files:

  • .github/changes-filter.yaml
🔇 Additional comments (3)
.github/changes-filter.yaml (3)

36-36: LGTM!

The addition of src/lfx/** to the docker filter group is consistent with the backend pattern and correctly ensures that lfx changes trigger docker tests.


16-16: LGTM!

The addition correctly mirrors the backend components pattern and ensures lfx component changes are properly detected.


5-5: Overall structure and approach look good.

The additions successfully achieve the PR objective of ensuring lfx changes trigger appropriate CI workflows. The path patterns are consistent with the existing backend structure, making the configuration maintainable and predictable.

Also applies to: 16-16, 36-36, 76-79, 84-84

Comment on lines +76 to +79
- "src/lfx/src/lfx/components/**"
- "src/lfx/src/lfx/custom/**"
- "src/lfx/src/lfx/schema/**"
- "src/lfx/src/lfx/graph/**"
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Check if utils, initial_setup, and serialization directories exist in lfx

echo "Checking for lfx directories that might need to be added to filters:"
echo ""

echo "=== Checking for utils directory ==="
fd -t d "^utils$" src/lfx/src/lfx/ 2>/dev/null || echo "Not found"
echo ""

echo "=== Checking for initial_setup directory ==="
fd -t d "^initial_setup$" src/lfx/src/lfx/ 2>/dev/null || echo "Not found"
echo ""

echo "=== Checking for serialization directory ==="
fd -t d "^serialization$" src/lfx/src/lfx/ 2>/dev/null || echo "Not found"
echo ""

echo "=== Current lfx directory structure (top level) ==="
fd -t d . src/lfx/src/lfx/ --max-depth 1 2>/dev/null || echo "src/lfx/src/lfx/ not found"

Repository: langflow-ai/langflow

Length of output: 994


Add missing lfx directories to the components filter group.

The lfx package contains utils and serialization directories that exist in the backend components filter but are missing from the lfx filter. Add these lines after line 79:

  - "src/lfx/src/lfx/utils/**"
  - "src/lfx/src/lfx/serialization/**"

The initial_setup directory does not exist in lfx, so it should not be included.

🤖 Prompt for AI Agents
In @.github/changes-filter.yaml around lines 76 - 79, The components filter for
the lfx package is missing patterns for the utils and serialization directories;
update the .github/changes-filter.yaml lfx filter group (the block containing
"src/lfx/src/lfx/components/**", "src/lfx/src/lfx/custom/**",
"src/lfx/src/lfx/schema/**", "src/lfx/src/lfx/graph/**") by adding entries for
"src/lfx/src/lfx/utils/**" and "src/lfx/src/lfx/serialization/**" immediately
after that block, and ensure you do not add an entry for a non-existent
"initial_setup" directory.

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Mar 3, 2026

Frontend Unit Test Coverage Report

Coverage Summary

Lines Statements Branches Functions
Coverage: 23%
22.87% (7981/34889) 15.45% (4224/27334) 15.6% (1147/7348)

Unit Test Results

Tests Skipped Failures Errors Time
2611 0 💤 0 ❌ 0 🔥 45.057s ⏱️

@codecov
Copy link
Copy Markdown

codecov Bot commented Mar 3, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 37.32%. Comparing base (0cedf8a) to head (c0185e0).
⚠️ Report is 1 commits behind head on main.

❌ Your project status has failed because the head coverage (42.29%) is below the target coverage (60.00%). You can increase the head coverage or adjust the target coverage.

Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff             @@
##             main   #11212      +/-   ##
==========================================
- Coverage   37.33%   37.32%   -0.01%     
==========================================
  Files        1592     1592              
  Lines       78279    78279              
  Branches    11824    11824              
==========================================
- Hits        29226    29219       -7     
- Misses      47432    47440       +8     
+ Partials     1621     1620       -1     
Flag Coverage Δ
backend 57.36% <ø> (-0.04%) ⬇️
frontend 20.49% <ø> (ø)
lfx 42.29% <ø> (+<0.01%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.
see 7 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Copy link
Copy Markdown
Member

@Cristhianzl Cristhianzl left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

@github-actions github-actions Bot added the lgtm This PR has been approved by a maintainer label Mar 3, 2026
@ogabrielluiz ogabrielluiz added this pull request to the merge queue Mar 3, 2026
Merged via the queue into main with commit 797c430 Mar 3, 2026
89 of 90 checks passed
@ogabrielluiz ogabrielluiz deleted the fix/ci-lfx-path-filter branch March 3, 2026 13:07
HimavarshaVS pushed a commit that referenced this pull request Mar 10, 2026
Changes to src/lfx were not triggering CI tests because the path
filters did not include lfx directories. This adds lfx paths to:
- python: triggers backend tests for any lfx changes
- docker: triggers docker tests when lfx changes
- components-changes: lfx components
- components: lfx components, custom, schema, graph
- workspace: lfx inputs
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

community Pull Request from an external contributor lgtm This PR has been approved by a maintainer

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants