Skip to content

Conversation

@Cristhianzl
Copy link
Member

@Cristhianzl Cristhianzl commented Dec 10, 2025

This pull request contains several updates to CI/CD workflow files and a minor code improvement in dependency management. The main themes are improvements to the build and installation process in GitHub Actions workflows, and better type annotation handling in the backend service dependencies.

GitHub Actions workflow improvements:

  • Updated uv pip install commands in .github/workflows/cross-platform-test.yml to include the --prerelease=allow flag, ensuring that prerelease wheel files can be installed during testing. [1] [2] [3] [4] [5]
  • Changed the pre-release version check in .github/workflows/release.yml to use the input release_tag directly, improving reliability and clarity.
  • Added the --no-sources flag to the make build command in .github/workflows/release_nightly.yml to exclude source distributions from the nightly build artifacts.
  • Removed an unnecessary cd src/lfx && uv lock && cd ../.. command from .github/workflows/nightly_build.yml, streamlining the workflow.

Backend dependency management:

  • Moved imports for SettingsService, JobQueueService, StorageService, and TelemetryService outside the TYPE_CHECKING block in src/backend/base/langflow/services/deps.py to ensure FastAPI can evaluate type annotations at runtime. Also updated the return type of get_cache_service to use Union for better type clarity. [1] [2]

Summary by CodeRabbit

  • Chores
    • Enhanced build infrastructure with improved pipeline configurations across all platforms for increased stability
    • Added support for prerelease wheel distributions to enable earlier testing of development versions before general release
    • Optimized nightly and release workflows for better efficiency, consistency, and faster delivery cycles
    • Refined internal service architecture for improved application performance and maintainability

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

Cristhianzl and others added 9 commits December 10, 2025 08:33
… FastAPI requirements

fix(deps.py): update return type of get_cache_service function to use Union for better type hinting
…all necessary files are tracked

fix(Makefile): add --no-sources flag to uv build command for langflow_base to optimize build process
… in nightly build workflow to streamline the process
…flag for Langflow Base CLI to ensure proper build configuration

fix(Makefile): remove --no-sources from build_langflow_base to align with updated build command in release workflow
…upport

fix(deps.py): move certain imports outside TYPE_CHECKING for FastAPI compatibility and update type hinting for get_cache_service function
@Cristhianzl Cristhianzl self-assigned this Dec 10, 2025
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Dec 10, 2025

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.

Walkthrough

This PR modifies four CI/CD workflow files to adjust wheel installation flags, version extraction logic, and build arguments, while also reorganizing service imports in the dependency module to expose them at runtime rather than just in type-checking blocks.

Changes

Cohort / File(s) Summary
CI/CD Workflow Updates
.github/workflows/cross-platform-test.yml
Adds --prerelease=allow flag to uv pip install commands for wheel file installations across Windows and Unix paths.
.github/workflows/nightly_build.yml
.github/workflows/release.yml
.github/workflows/release_nightly.yml
Service Dependency Module
src/backend/base/langflow/services/deps.py
Moves SettingsService, JobQueueService, StorageService, and TelemetryService from TYPE_CHECKING to runtime imports; publicly exposes these services at module scope. Updates get_cache_service() return type annotation from pipe union to Union syntax.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

  • Workflow changes are straightforward flag/argument additions and removal of a single command line
  • The deps.py reorganization is a standard import migration with clear intent; review should verify no unintended circular dependencies are introduced

Possibly related PRs

Suggested labels

size:S, lgtm

Suggested reviewers

  • ogabrielluiz
  • jordanrfrazier

Pre-merge checks and finishing touches

❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Test Quality And Coverage ⚠️ Warning PR modifies code in deps.py to move imports out of TYPE_CHECKING and change return type annotations for FastAPI runtime evaluation, but provides no tests to validate these changes work correctly. Add tests verifying the moved imports don't create circular dependencies, services are importable at runtime, get_cache_service returns correct types, and FastAPI can evaluate annotations successfully.
✅ Passed checks (6 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately captures the two main changes: allowing prerelease packages in CI workflows and fixing runtime type imports in the backend dependencies file.
Docstring Coverage ✅ Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%.
Test Coverage For New Implementations ✅ Passed PR modifies service imports in deps.py for FastAPI dependency injection; existing test coverage found for services; workflow changes are CI/CD config updates tested through CI workflows; low-risk refactoring.
Test File Naming And Structure ✅ Passed This PR does not modify any test files—only CI/CD workflows and backend service code, so the test file naming and structure check is not applicable.
Excessive Mock Usage Warning ✅ Passed This PR does not modify or introduce any test files, making the Excessive Mock Usage Warning check not applicable.

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.

@github-actions github-actions bot added the bug Something isn't working label Dec 10, 2025
@codecov
Copy link

codecov bot commented Dec 10, 2025

Codecov Report

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

❌ Your project status has failed because the head coverage (39.27%) 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   #10945   +/-   ##
=======================================
  Coverage   32.93%   32.93%           
=======================================
  Files        1387     1387           
  Lines       65334    65338    +4     
  Branches     9653     9653           
=======================================
+ Hits        21520    21522    +2     
- Misses      42721    42723    +2     
  Partials     1093     1093           
Flag Coverage Δ
backend 52.17% <100.00%> (-0.01%) ⬇️
frontend 15.11% <ø> (ø)
lfx 39.27% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

Files with missing lines Coverage Δ
src/backend/base/langflow/services/deps.py 83.33% <100.00%> (+1.07%) ⬆️

... and 4 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.

@github-actions github-actions bot added bug Something isn't working and removed bug Something isn't working labels Dec 10, 2025
@github-actions github-actions bot removed the bug Something isn't working label Dec 10, 2025
Copy link
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: 2

🧹 Nitpick comments (1)
src/backend/base/langflow/services/deps.py (1)

179-179: Use modern type union syntax.

Since the project targets Python 3.10+ (workflows use 3.13), you can use the | operator instead of typing.Union for cleaner, more modern syntax.

Apply this diff:

-def get_cache_service() -> Union[CacheService, AsyncBaseCacheService]:
+def get_cache_service() -> CacheService | AsyncBaseCacheService:

This also addresses the Ruff UP007 violation flagged by static analysis.

📜 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 a209acd and 61c5c3c.

📒 Files selected for processing (5)
  • .github/workflows/cross-platform-test.yml (5 hunks)
  • .github/workflows/nightly_build.yml (0 hunks)
  • .github/workflows/release.yml (1 hunks)
  • .github/workflows/release_nightly.yml (1 hunks)
  • src/backend/base/langflow/services/deps.py (2 hunks)
💤 Files with no reviewable changes (1)
  • .github/workflows/nightly_build.yml
🧰 Additional context used
📓 Path-based instructions (1)
src/backend/**/*.py

📄 CodeRabbit inference engine (.cursor/rules/backend_development.mdc)

src/backend/**/*.py: Use FastAPI async patterns with await for async operations in component execution methods
Use asyncio.create_task() for background tasks and implement proper cleanup with try/except for asyncio.CancelledError
Use queue.put_nowait() for non-blocking queue operations and asyncio.wait_for() with timeouts for controlled get operations

Files:

  • src/backend/base/langflow/services/deps.py
🧠 Learnings (2)
📚 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 {pyproject.toml,uv.lock} : Use `uv` (>=0.4) for Python dependency management in backend development

Applied to files:

  • .github/workflows/cross-platform-test.yml
📚 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 Langflow REST API endpoints using the `client` fixture with appropriate HTTP methods (GET, POST, etc.), headers (logged_in_headers), and payload validation

Applied to files:

  • .github/workflows/release_nightly.yml
🧬 Code graph analysis (1)
src/backend/base/langflow/services/deps.py (4)
src/backend/base/langflow/services/schema.py (1)
  • ServiceType (4-22)
src/backend/base/langflow/services/cache/base.py (2)
  • AsyncBaseCacheService (110-169)
  • CacheService (12-107)
src/backend/base/langflow/services/job_queue/service.py (1)
  • JobQueueService (19-329)
src/lfx/src/lfx/services/storage/service.py (1)
  • StorageService (16-196)
🪛 GitHub Actions: Ruff Style Check
src/backend/base/langflow/services/deps.py

[error] 26-26: Ruff: TC002 Move third-party import 'lfx.services.settings.service.SettingsService' into a type-checking block.

🪛 GitHub Check: Ruff Style Check (3.13)
src/backend/base/langflow/services/deps.py

[failure] 30-30: Ruff (TC001)
src/backend/base/langflow/services/deps.py:30:49: TC001 Move application import langflow.services.telemetry.service.TelemetryService into a type-checking block


[failure] 29-29: Ruff (TC001)
src/backend/base/langflow/services/deps.py:29:47: TC001 Move application import langflow.services.storage.service.StorageService into a type-checking block


[failure] 28-28: Ruff (TC001)
src/backend/base/langflow/services/deps.py:28:49: TC001 Move application import langflow.services.job_queue.service.JobQueueService into a type-checking block


[failure] 26-26: Ruff (TC002)
src/backend/base/langflow/services/deps.py:26:43: TC002 Move third-party import lfx.services.settings.service.SettingsService into a type-checking block


[failure] 179-179: Ruff (UP007)
src/backend/base/langflow/services/deps.py:179:28: UP007 Use X | Y for type annotations

⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (301)
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 5/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 16/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 13/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 7/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 9/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 14/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 11/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 2/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 17/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 8/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 10/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 12/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 6/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 15/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 1/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 4/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 3/17
  • GitHub Check: Lint Backend / Run Mypy (3.11)
  • GitHub Check: Test Docker Images / Test docker images
  • GitHub Check: Lint Backend / Run Mypy (3.12)
  • GitHub Check: Lint Backend / Run Mypy (3.13)
  • GitHub Check: Run Backend Tests / Unit Tests - Python 3.10 - Group 2
  • GitHub Check: Run Backend Tests / Unit Tests - Python 3.10 - Group 5
  • GitHub Check: Run Backend Tests / Unit Tests - Python 3.10 - Group 4
  • GitHub Check: Run Backend Tests / Unit Tests - Python 3.10 - Group 3
  • GitHub Check: Run Backend Tests / Unit Tests - Python 3.10 - Group 1
  • GitHub Check: Run Backend Tests / LFX Tests - Python 3.10
  • GitHub Check: Run Backend Tests / Integration Tests - Python 3.10
  • GitHub Check: Test Starter Templates
  • GitHub Check: Update Starter Projects
  • GitHub Check: Optimize new Python code in this PR
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 5/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 16/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 13/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 7/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 9/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 14/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 11/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 2/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 17/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 8/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 10/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 12/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 6/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 15/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 1/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 4/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 3/17
  • GitHub Check: Lint Backend / Run Mypy (3.11)
  • GitHub Check: Test Docker Images / Test docker images
  • GitHub Check: Lint Backend / Run Mypy (3.12)
  • GitHub Check: Lint Backend / Run Mypy (3.13)
  • GitHub Check: Run Backend Tests / Unit Tests - Python 3.10 - Group 2
  • GitHub Check: Run Backend Tests / Unit Tests - Python 3.10 - Group 5
  • GitHub Check: Run Backend Tests / Unit Tests - Python 3.10 - Group 4
  • GitHub Check: Run Backend Tests / Unit Tests - Python 3.10 - Group 3
  • GitHub Check: Run Backend Tests / Unit Tests - Python 3.10 - Group 1
  • GitHub Check: Run Backend Tests / LFX Tests - Python 3.10
  • GitHub Check: Run Backend Tests / Integration Tests - Python 3.10
  • GitHub Check: Test Starter Templates
  • GitHub Check: Update Starter Projects
  • GitHub Check: Optimize new Python code in this PR
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 5/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 16/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 13/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 7/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 9/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 14/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 11/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 2/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 17/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 8/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 10/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 12/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 6/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 15/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 1/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 4/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 3/17
  • GitHub Check: Lint Backend / Run Mypy (3.11)
  • GitHub Check: Test Docker Images / Test docker images
  • GitHub Check: Lint Backend / Run Mypy (3.12)
  • GitHub Check: Lint Backend / Run Mypy (3.13)
  • GitHub Check: Run Backend Tests / Unit Tests - Python 3.10 - Group 2
  • GitHub Check: Run Backend Tests / Unit Tests - Python 3.10 - Group 5
  • GitHub Check: Run Backend Tests / Unit Tests - Python 3.10 - Group 4
  • GitHub Check: Run Backend Tests / Unit Tests - Python 3.10 - Group 3
  • GitHub Check: Run Backend Tests / Unit Tests - Python 3.10 - Group 1
  • GitHub Check: Run Backend Tests / LFX Tests - Python 3.10
  • GitHub Check: Run Backend Tests / Integration Tests - Python 3.10
  • GitHub Check: Test Starter Templates
  • GitHub Check: Update Starter Projects
  • GitHub Check: Optimize new Python code in this PR
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 5/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 16/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 13/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 7/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 9/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 14/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 11/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 2/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 17/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 8/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 10/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 12/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 6/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 15/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 1/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 4/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 3/17
  • GitHub Check: Lint Backend / Run Mypy (3.11)
  • GitHub Check: Test Docker Images / Test docker images
  • GitHub Check: Lint Backend / Run Mypy (3.12)
  • GitHub Check: Lint Backend / Run Mypy (3.13)
  • GitHub Check: Run Backend Tests / Unit Tests - Python 3.10 - Group 2
  • GitHub Check: Run Backend Tests / Unit Tests - Python 3.10 - Group 5
  • GitHub Check: Run Backend Tests / Unit Tests - Python 3.10 - Group 4
  • GitHub Check: Run Backend Tests / Unit Tests - Python 3.10 - Group 3
  • GitHub Check: Run Backend Tests / Unit Tests - Python 3.10 - Group 1
  • GitHub Check: Run Backend Tests / LFX Tests - Python 3.10
  • GitHub Check: Run Backend Tests / Integration Tests - Python 3.10
  • GitHub Check: Test Starter Templates
  • GitHub Check: Update Starter Projects
  • GitHub Check: Optimize new Python code in this PR
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 5/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 16/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 13/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 7/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 9/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 14/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 11/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 2/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 17/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 8/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 10/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 12/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 6/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 15/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 1/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 4/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 3/17
  • GitHub Check: Lint Backend / Run Mypy (3.11)
  • GitHub Check: Test Docker Images / Test docker images
  • GitHub Check: Lint Backend / Run Mypy (3.12)
  • GitHub Check: Run Backend Tests / Unit Tests - Python 3.10 - Group 2
  • GitHub Check: Run Backend Tests / Unit Tests - Python 3.10 - Group 5
  • GitHub Check: Run Backend Tests / Unit Tests - Python 3.10 - Group 4
  • GitHub Check: Run Backend Tests / Unit Tests - Python 3.10 - Group 3
  • GitHub Check: Run Backend Tests / Unit Tests - Python 3.10 - Group 1
  • GitHub Check: Run Backend Tests / LFX Tests - Python 3.10
  • GitHub Check: Run Backend Tests / Integration Tests - Python 3.10
  • GitHub Check: Test Starter Templates
  • GitHub Check: Update Starter Projects
  • GitHub Check: Optimize new Python code in this PR
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 5/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 16/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 13/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 7/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 9/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 14/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 11/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 2/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 17/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 8/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 10/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 12/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 6/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 15/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 1/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 4/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 3/17
  • GitHub Check: Lint Backend / Run Mypy (3.11)
  • GitHub Check: Test Docker Images / Test docker images
  • GitHub Check: Lint Backend / Run Mypy (3.12)
  • GitHub Check: Run Backend Tests / Unit Tests - Python 3.10 - Group 2
  • GitHub Check: Run Backend Tests / Unit Tests - Python 3.10 - Group 5
  • GitHub Check: Run Backend Tests / Unit Tests - Python 3.10 - Group 4
  • GitHub Check: Run Backend Tests / Unit Tests - Python 3.10 - Group 3
  • GitHub Check: Run Backend Tests / Unit Tests - Python 3.10 - Group 1
  • GitHub Check: Run Backend Tests / LFX Tests - Python 3.10
  • GitHub Check: Run Backend Tests / Integration Tests - Python 3.10
  • GitHub Check: Test Starter Templates
  • GitHub Check: Update Starter Projects
  • GitHub Check: Optimize new Python code in this PR
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 5/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 16/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 13/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 7/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 9/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 14/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 11/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 2/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 17/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 8/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 10/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 12/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 6/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 15/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 1/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 4/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 3/17
  • GitHub Check: Lint Backend / Run Mypy (3.11)
  • GitHub Check: Test Docker Images / Test docker images
  • GitHub Check: Lint Backend / Run Mypy (3.12)
  • GitHub Check: Run Backend Tests / Unit Tests - Python 3.10 - Group 2
  • GitHub Check: Run Backend Tests / Unit Tests - Python 3.10 - Group 5
  • GitHub Check: Run Backend Tests / Unit Tests - Python 3.10 - Group 4
  • GitHub Check: Run Backend Tests / Unit Tests - Python 3.10 - Group 3
  • GitHub Check: Run Backend Tests / Unit Tests - Python 3.10 - Group 1
  • GitHub Check: Run Backend Tests / LFX Tests - Python 3.10
  • GitHub Check: Run Backend Tests / Integration Tests - Python 3.10
  • GitHub Check: Test Starter Templates
  • GitHub Check: Update Starter Projects
  • GitHub Check: Optimize new Python code in this PR
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 5/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 16/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 13/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 7/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 9/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 14/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 11/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 2/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 17/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 8/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 10/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 12/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 6/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 15/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 1/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 4/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 3/17
  • GitHub Check: Lint Backend / Run Mypy (3.11)
  • GitHub Check: Test Docker Images / Test docker images
  • GitHub Check: Run Backend Tests / Unit Tests - Python 3.10 - Group 2
  • GitHub Check: Run Backend Tests / Unit Tests - Python 3.10 - Group 5
  • GitHub Check: Run Backend Tests / Unit Tests - Python 3.10 - Group 4
  • GitHub Check: Run Backend Tests / Unit Tests - Python 3.10 - Group 3
  • GitHub Check: Run Backend Tests / Unit Tests - Python 3.10 - Group 1
  • GitHub Check: Run Backend Tests / LFX Tests - Python 3.10
  • GitHub Check: Run Backend Tests / Integration Tests - Python 3.10
  • GitHub Check: Test Starter Templates
  • GitHub Check: Update Starter Projects
  • GitHub Check: Optimize new Python code in this PR
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 5/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 16/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 13/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 7/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 9/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 14/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 11/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 2/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 17/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 8/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 10/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 12/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 6/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 15/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 1/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 4/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 3/17
  • GitHub Check: Lint Backend / Run Mypy (3.11)
  • GitHub Check: Test Docker Images / Test docker images
  • GitHub Check: Run Backend Tests / Unit Tests - Python 3.10 - Group 2
  • GitHub Check: Run Backend Tests / Unit Tests - Python 3.10 - Group 5
  • GitHub Check: Run Backend Tests / Unit Tests - Python 3.10 - Group 4
  • GitHub Check: Run Backend Tests / Unit Tests - Python 3.10 - Group 3
  • GitHub Check: Run Backend Tests / Unit Tests - Python 3.10 - Group 1
  • GitHub Check: Run Backend Tests / LFX Tests - Python 3.10
  • GitHub Check: Run Backend Tests / Integration Tests - Python 3.10
  • GitHub Check: Test Starter Templates
  • GitHub Check: Update Starter Projects
  • GitHub Check: Optimize new Python code in this PR
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 5/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 16/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 13/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 7/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 9/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 14/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 11/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 2/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 17/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 8/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 10/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 12/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 6/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 15/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 1/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 4/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 3/17
  • GitHub Check: Lint Backend / Run Mypy (3.11)
  • GitHub Check: Test Docker Images / Test docker images
  • GitHub Check: Run Backend Tests / Unit Tests - Python 3.10 - Group 2
  • GitHub Check: Run Backend Tests / Unit Tests - Python 3.10 - Group 5
  • GitHub Check: Run Backend Tests / Unit Tests - Python 3.10 - Group 4
  • GitHub Check: Run Backend Tests / Unit Tests - Python 3.10 - Group 3
  • GitHub Check: Run Backend Tests / Unit Tests - Python 3.10 - Group 1
  • GitHub Check: Run Backend Tests / LFX Tests - Python 3.10
  • GitHub Check: Run Backend Tests / Integration Tests - Python 3.10
  • GitHub Check: Test Starter Templates
  • GitHub Check: Update Starter Projects
  • GitHub Check: Optimize new Python code in this PR
🔇 Additional comments (4)
.github/workflows/release_nightly.yml (1)

166-166: LGTM! Consistent wheel-only build for nightly releases.

The addition of --no-sources ensures nightly builds produce only wheel files, which is appropriate for automated nightly releases and aligns with the main build at line 243.

.github/workflows/cross-platform-test.yml (2)

192-192: LGTM! Base package prerelease support added correctly.

The --prerelease=allow flag enables testing with nightly/prerelease versions of langflow-base-nightly across platforms.

Also applies to: 234-234


478-520: LGTM! Experimental base package installs support prereleases.

Consistent application of --prerelease=allow for base package installations in the experimental test matrix.

src/backend/base/langflow/services/deps.py (1)

23-30: Runtime imports correctly placed for FastAPI dependency injection.

The explanatory comment accurately describes why these imports must be outside TYPE_CHECKING. FastAPI's dependency injection system evaluates type annotations at runtime (with eval_str=True), requiring these service types to be importable at module load time. The static analysis warnings (TC001/TC002) are false positives in this context.

WHEEL_FILE=$(find ./main-dist -name "*.whl" -type f | head -1)
if [ -n "$WHEEL_FILE" ]; then
uv pip install --python ./test-env/Scripts/python.exe "$WHEEL_FILE"
uv pip install --prerelease=allow --python ./test-env/Scripts/python.exe "$WHEEL_FILE"
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

Inconsistent prerelease flag for main package in experimental tests.

Line 492 adds --prerelease=allow for Windows experimental main package installation, but line 534 (Unix experimental main package) does not have this flag. If the main package may depend on prerelease versions (which line 492 suggests), both platforms should have consistent flags.

Apply this diff to add consistency:

       WHEEL_FILE=$(find ./main-dist -name "*.whl" -type f | head -1)
       if [ -n "$WHEEL_FILE" ]; then
-        uv pip install --python ./test-env/bin/python "$WHEEL_FILE"
+        uv pip install --prerelease=allow --python ./test-env/bin/python "$WHEEL_FILE"
       else
         echo "No wheel file found in ./main-dist/"
         exit 1

Also applies to: 534-534

🤖 Prompt for AI Agents
.github/workflows/cross-platform-test.yml lines 492 and 534: the Windows
experimental main-package install uses the --prerelease=allow flag but the Unix
counterpart does not, causing inconsistent behavior; update the Unix
experimental install command at line 534 to include --prerelease=allow (or
alternately remove the flag from line 492 if prereleases are undesired) so both
platforms use the same prerelease handling, ensuring the main package and its
dependencies are installed consistently across OSes.

Comment on lines +230 to 232
version="${{ inputs.release_tag }}"
echo "$version"
if [[ "${version}" =~ ^([0-9]+\.)?([0-9]+\.)?[0-9]+((a|b|rc|dev|post)([0-9]+))$ ]]; then
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

🧩 Analysis chain

🏁 Script executed:

head -50 .github/workflows/release.yml

Repository: langflow-ai/langflow

Length of output: 1525


🏁 Script executed:

wc -l .github/workflows/release.yml

Repository: langflow-ai/langflow

Length of output: 97


🏁 Script executed:

sed -n '220,240p' .github/workflows/release.yml

Repository: langflow-ai/langflow

Length of output: 904


🏁 Script executed:

sed -n '1,100p' .github/workflows/release.yml

Repository: langflow-ai/langflow

Length of output: 3474


🏁 Script executed:

git tag -l | head -30

Repository: langflow-ai/langflow

Length of output: 46


🏁 Script executed:

grep -n "release_tag\|version" .github/workflows/release.yml | head -30

Repository: langflow-ai/langflow

Length of output: 2056


🏁 Script executed:

git log --oneline --decorate | grep tag | head -20

Repository: langflow-ai/langflow

Length of output: 46


🏁 Script executed:

git describe --tags 2>/dev/null || echo "No tags found"

Repository: langflow-ai/langflow

Length of output: 77


🏁 Script executed:

git show-ref --tags | head -20

Repository: langflow-ai/langflow

Length of output: 46


Strip the "v" prefix from release_tag before validating prerelease version format.

The regex at line 232 expects a version string without a "v" prefix (e.g., 1.2.3a1), but Git tags commonly use the "v" prefix (e.g., v1.2.3a1). This pattern is already handled elsewhere in the workflow at line 157 with sed 's/^v//'. Without stripping the prefix here, the prerelease validation will reject valid tags that follow the standard Git convention.

Add prefix stripping before the regex check:

      - name: Check if pre-release
        if: inputs.pre_release
        run: |
          version="${{ inputs.release_tag }}"
+         version="${version#v}"
          echo "$version"
          if [[ "${version}" =~ ^([0-9]+\.)?([0-9]+\.)?[0-9]+((a|b|rc|dev|post)([0-9]+))$ ]]; then
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
version="${{ inputs.release_tag }}"
echo "$version"
if [[ "${version}" =~ ^([0-9]+\.)?([0-9]+\.)?[0-9]+((a|b|rc|dev|post)([0-9]+))$ ]]; then
version="${{ inputs.release_tag }}"
version="${version#v}"
echo "$version"
if [[ "${version}" =~ ^([0-9]+\.)?([0-9]+\.)?[0-9]+((a|b|rc|dev|post)([0-9]+))$ ]]; then
🤖 Prompt for AI Agents
In .github/workflows/release.yml around lines 230 to 232, the prerelease regex
expects a version without a leading "v" but the code doesn't strip that prefix
here; update the script to remove a leading "v" from the version variable before
running the regex check (e.g., normalize the value by stripping a leading 'v'
via shell parameter expansion or sed) so tags like "v1.2.3a1" are validated
correctly against the existing regex.

@github-actions github-actions bot added the bug Something isn't working label Dec 10, 2025
@github-actions github-actions bot added bug Something isn't working and removed bug Something isn't working labels Dec 10, 2025
@github-actions github-actions bot added bug Something isn't working and removed bug Something isn't working labels Dec 10, 2025
@github-actions
Copy link
Contributor

github-actions bot commented Dec 10, 2025

Frontend Unit Test Coverage Report

Coverage Summary

Lines Statements Branches Functions
Coverage: 16%
16.37% (4586/28003) 9.65% (2087/21610) 10.68% (659/6165)

Unit Test Results

Tests Skipped Failures Errors Time
1777 0 💤 0 ❌ 0 🔥 23.631s ⏱️

Copy link
Collaborator

@Adam-Aghili Adam-Aghili left a comment

Choose a reason for hiding this comment

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

LGTM!

some ruff issues

@github-actions github-actions bot added the lgtm This PR has been approved by a maintainer label Dec 10, 2025
@github-actions github-actions bot added bug Something isn't working and removed bug Something isn't working labels Dec 10, 2025
@github-actions github-actions bot added bug Something isn't working and removed bug Something isn't working labels Dec 10, 2025
@github-actions github-actions bot added bug Something isn't working and removed bug Something isn't working labels Dec 10, 2025
@github-actions github-actions bot added bug Something isn't working and removed bug Something isn't working labels Dec 10, 2025
@Cristhianzl Cristhianzl added this pull request to the merge queue Dec 10, 2025
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks Dec 10, 2025
@Cristhianzl Cristhianzl merged commit 12d17dc into main Dec 10, 2025
89 of 91 checks passed
@Cristhianzl Cristhianzl deleted the cz/fix-nightly-main branch December 10, 2025 15:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working lgtm This PR has been approved by a maintainer

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants