langflow/.github/workflows
Gabriel Luiz Freitas Almeida 6403a8f564
fix(graph): fixes bug that caused simple flows with Loop to fail (#8809)
* fix: improve predecessors check for loop component

- Enhanced the handling of cycle vertices to prevent infinite loops by ensuring that a vertex can only run if all pending predecessors have completed.
- Updated conditions for the first execution of cycle vertices to allow running only if all pending predecessors are also cycle vertices.
- This refactor improves the robustness of the vertex management system in asynchronous workflows.

* fix: update _mark_branch method to return visited vertices and refine predecessor mapping

* fix: prevent duplicate item dependencies in LoopComponent

* feat: add loop connection handling in Component class

- Introduced methods to process loop feedback connections, allowing components to connect outputs to loop-enabled inputs.
- Implemented checks to validate loop connections and ensure proper handling of callable methods from other components.
- Enhanced the edge creation logic to support special loop feedback edges targeting outputs instead of inputs.

* fix: enhance name overlap validation in FrontendNode

- Updated the validate_name_overlap method to exclude outputs that allow loops from the overlap check.
- Improved error message to include the display name of the component, along with detailed lists of input and output names for better debugging.

* fix: correct condition for executing cycle vertices in RunnableVerticesManager

- Updated the logic to ensure that a cycle vertex can only execute if it is a loop and all pending predecessors are cycle vertices. This change enhances the robustness of the vertex management system in asynchronous workflows.

* feat: implement comprehensive loop flow for URL processing

- Added a new loop flow that processes multiple URLs through a series of components including URLComponent, SplitTextComponent, LoopComponent, ParserComponent, PromptComponent, OpenAIModelComponent, StructuredOutputComponent, and ChatOutput.
- Enhanced the StructuredOutputComponent to include a detailed system prompt and refined output schema to ensure proper JSON formatting.
- Introduced a test case to validate the creation and execution of the loop flow, ensuring all components are correctly integrated and the expected execution order is maintained.

* refactor: enhance loop target handling in Component and Edge classes

- Introduced LoopTargetHandleDict to better manage loop target structures in the Component and Edge classes.
- Updated the Component class to utilize type casting for loop target handles, improving type safety.
- Refactored the Edge class to accommodate the new loop target handling, ensuring compatibility with existing edge structures.
- Removed deprecated message handling methods from the Component class to streamline the codebase and improve maintainability.

* test: skip OpenAI model integration test if API key is not set

- Added a conditional skip to the test_build_model_integration_reasoning method to prevent execution when the OPENAI_API_KEY environment variable is not set, ensuring tests run only in appropriate environments.

* [autofix.ci] apply automated fixes

* chore: add required secrets for OpenAI and Anthropic APIs in CI workflows

* Updated ci.yml to include OPENAI_API_KEY and ANTHROPIC_API_KEY secrets.
* Modified python_test.yml to mark these secrets as required for workflow execution.

* fix: update OPENAI_API_KEY check in test_loop.py to handle dummy values

* Modified the condition in the pytest skipif decorator to also skip tests when OPENAI_API_KEY is set to "dummy", ensuring more robust test execution.

* refactor: streamline component setup in test_loop.py

* Removed redundant comments and improved formatting for component initialization in the loop_flow function.
* Added missing system_prompt to StructuredOutputComponent to resolve "Multiple structured outputs" error.
* Updated test_loop_flow to ensure it tests the graph creation with proper loop feedback connection.

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2025-07-03 14:39:09 +00:00
..
matchers Update linting workflows for frontend and Python code (#2171) 2024-06-14 06:27:48 -07:00
add-labels.yml ci: add issues permission to Manage Labels workflow (#5706) 2025-01-15 16:34:22 -08:00
auto-update.yml bugfix: fix api request custom component (#2470) 2024-07-04 05:05:22 -07:00
ci.yml fix(graph): fixes bug that caused simple flows with Loop to fail (#8809) 2025-07-03 14:39:09 +00:00
codeflash.yml chore(ci): replace local uv setup action with astral-sh/setup-uv@v6 (#8491) 2025-06-11 18:56:04 +00:00
codeql.yml Bump github/codeql-action from 2 to 3 (#1420) 2024-02-15 10:49:28 -03:00
conventional-labels.yml build(deps):(deps): bump Namchee/conventional-pr from 0.15.5 to 0.15.6 (#6059) 2025-02-03 15:21:04 +00:00
create-release.yml ci: Add GitHub Actions workflow for creating releases (#4587) 2024-11-13 16:11:30 -08:00
deploy-docs-draft.yml docs: bump node version in docs draft deploy workflow (#8742) 2025-06-25 16:11:40 -07:00
deploy_gh-pages.yml docs: update deploy_gh-pages.yml (#8741) 2025-06-25 23:20:29 +00:00
docker-build.yml chore(ci): replace local uv setup action with astral-sh/setup-uv@v6 (#8491) 2025-06-11 18:56:04 +00:00
docker_test.yml fix: docker test trigger for poetry is wrong now is uv (#6743) 2025-03-13 00:33:41 +00:00
docs-update-openapi.yml build(deps):(deps): bump actions/checkout from 3 to 4 (#7379) 2025-04-01 14:32:17 +00:00
docs_test.yml chore: use yarn only (#6141) 2025-02-06 17:44:46 +00:00
fetch_docs_notion.yml chore: use yarn only (#6141) 2025-02-06 17:44:46 +00:00
integration_tests.yml chore(ci): replace local uv setup action with astral-sh/setup-uv@v6 (#8491) 2025-06-11 18:56:04 +00:00
jest_test.yml ci: add frontend test execution, reporting, and coverage in workflow (#8815) 2025-07-01 20:38:10 +00:00
js_autofix.yml build(deps):(deps): bump autofix-ci/action from ff86a557419858bb967097bfc916833f5647fa8c to 551dded8c6cc8a1054039c8bc0b8b48c51dfc6ef (#6058) 2025-02-03 15:21:10 +00:00
lint-js.yml bugfix: fix api request custom component (#2470) 2024-07-04 05:05:22 -07:00
lint-py.yml chore(ci): replace local uv setup action with astral-sh/setup-uv@v6 (#8491) 2025-06-11 18:56:04 +00:00
nightly_build.yml ci: change nightly to run in UTC time to fix nightly-status check (#8629) 2025-06-20 14:23:40 +00:00
py_autofix.yml chore(ci): update workflow to use astral-sh/setup-uv@v6 with Python version (#8508) 2025-06-12 09:30:29 -03:00
python_test.yml fix(graph): fixes bug that caused simple flows with Loop to fail (#8809) 2025-07-03 14:39:09 +00:00
release.yml fix: replace instances of 127.0.0.1 to localhost (#8536) 2025-06-16 15:54:04 +00:00
release_nightly.yml chore(workflow): comment out Docker build step for langflow-all in nightly release (#8727) 2025-06-26 17:27:03 +00:00
store_pytest_durations.yml chore(ci): replace local uv setup action with astral-sh/setup-uv@v6 (#8491) 2025-06-11 18:56:04 +00:00
style-check-py.yml chore(ci): replace local uv setup action with astral-sh/setup-uv@v6 (#8491) 2025-06-11 18:56:04 +00:00
typescript_test.yml ci: add frontend test execution, reporting, and coverage in workflow (#8815) 2025-07-01 20:38:10 +00:00