Skip to content

fix(ci): rename bundles to -nightly during nightly build#13193

Merged
erichare merged 1 commit into
release-1.10.0from
fix/nightly-build-bundle-lfx-dep
May 19, 2026
Merged

fix(ci): rename bundles to -nightly during nightly build#13193
erichare merged 1 commit into
release-1.10.0from
fix/nightly-build-bundle-lfx-dep

Conversation

@erichare
Copy link
Copy Markdown
Collaborator

@erichare erichare commented May 19, 2026

Summary

The nightly build is failing in uv lock with:

Because only lfx<=0.4.3 is available and lfx-arxiv depends on lfx>=0.5.0,<0.6.0,
we can conclude that lfx-arxiv's requirements are unsatisfiable.

The bundles under src/bundles/* (currently lfx-arxiv, lfx-duckduckgo) declare "lfx>=0.5.0,<0.6.0" as a runtime dep. During nightly builds the script renames the lfx workspace package to lfx-nightly, so lfx is no longer a workspace source and uv falls back to PyPI — where only lfx<=0.4.3 exists — and the resolver errors out.

This PR fixes that the same way langflow, langflow-base, lfx, and langflow-sdk already handle it: rename the bundle to <name>-nightly, bump its version to <base>.dev<N>, and rewrite its lfx dep to lfx-nightly==<version>. The source branch keeps the normal "lfx>=0.5.0,<0.6.0" form for regular releases — the rewrite only happens on the throwaway nightly tag commit.

What the new script does

scripts/ci/update_bundle_versions.py walks src/bundles/*/pyproject.toml (glob-based, so future bundles are picked up automatically) and for each one:

  • [project] name<name>-nightly
  • [project] version<base>.dev<N> (N from the LFX nightly tag — bundles ship in lockstep with lfx)
  • [project.entry-points."langflow.extensions"] key → <name>-nightly
  • "lfx>=0.5.0,<0.6.0" runtime dep → "lfx-nightly==<lfx_version>"

Then for the root pyproject.toml:

  • "<name>>=0.1.0" dependency → "<name>-nightly==<bundle_version>"
  • <name> = { workspace = true } source → <name>-nightly = { workspace = true }

All operations are idempotent — running the script twice is a no-op.

Workflow change

nightly_build.yml calls the new script between update_lfx_version.py and update_pyproject_combined.py, and extends the git add line to capture the rewritten bundle pyprojects.

Test plan

Verified locally on release-1.10.0 by running the exact nightly script chain from the failing CI log:

  • update_sdk_version.py v0.2.0.dev38 — passes
  • update_lfx_version.py v0.5.0.dev38 v0.2.0.dev38 — passes
  • update_bundle_versions.py v0.5.0.dev38 — renames lfx-arxivlfx-arxiv-nightly (0.1.0.dev38) and lfx-duckduckgolfx-duckduckgo-nightly (0.1.0.dev38)
  • update_pyproject_combined.py main v1.10.0.dev38 v1.10.0.dev38 v0.5.0.dev38 — passes
  • uv lock — resolves 798 packages (previously failed)
  • cd src/backend/base && uv lock and cd src/lfx && uv lock — both pass
  • Re-running update_bundle_versions.py is idempotent (no diff)

The follow-up PR will apply the same fix on feat/bundle-mass-extraction, where 86 bundles use the same pattern — the glob-based script handles them all without per-bundle edits.

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Chores
    • Enhanced nightly build workflow to properly version bundle packages with the -nightly suffix during automated releases
    • Updated build automation to ensure bundle version artifacts are committed alongside standard version updates

Review Change Stack

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented May 19, 2026

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: c3dc34f8-3ba5-4209-895e-b91c4c1cb7e6

📥 Commits

Reviewing files that changed from the base of the PR and between 23f2edf and 412b278.

📒 Files selected for processing (3)
  • .github/workflows/nightly_build.yml
  • .secrets.baseline
  • scripts/ci/update_bundle_versions.py

Walkthrough

This PR adds automated nightly bundle publishing support. A new Python script rewrites bundle pyproject.toml files to rename packages to -nightly variants, update versions using .dev suffixes, and redirect dependencies to nightly package equivalents. The script is executed during the nightly build workflow, and the git staging list is updated to commit bundle version changes alongside other nightly updates.

Changes

Nightly Bundle Version Management

Layer / File(s) Summary
Bundle version update script
scripts/ci/update_bundle_versions.py
Adds module utilities to parse LFX tags and extract dev numbers; implements rename_bundle_pyproject() to rewrite individual bundle configs; implements update_root_pyproject_for_bundle() to sync root pyproject references; implements update_bundles_for_nightly() to orchestrate bundle iteration and updates; and wires CLI entry point main() to accept LFX tag argument and invoke the update pipeline.
Workflow integration and baseline sync
.github/workflows/nightly_build.yml, .secrets.baseline
Adds step in the create-nightly-tag job to run the bundle version script with the generated LFX_TAG; extends git add staging to include src/bundles/*/pyproject.toml; and regenerates secrets baseline due to workflow line number changes.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes


Important

Pre-merge checks failed

Please resolve all errors before merging. Addressing warnings is optional.

❌ Failed checks (1 error, 2 warnings)

Check name Status Explanation Resolution
Test Coverage For New Implementations ❌ Error PR adds new script update_bundle_versions.py (181 lines, 4 public functions) with complex TOML regex operations, but includes no test file as required by the custom check. Add scripts/ci/test_update_bundle_versions.py with unit tests covering: rename_bundle_pyproject() regex ops, update_root_pyproject_for_bundle() transformations, idempotency, and CLI validation.
Test Quality And Coverage ⚠️ Warning No automated tests exist for the new update_bundle_versions.py script. The 181-line script has complex regex patterns, file I/O, and idempotency claims without test validation. Add test file with pytest covering regex patterns, version/name transformation, bundle updates, root pyproject changes, idempotency, and error cases.
Test File Naming And Structure ⚠️ Warning PR adds scripts/ci/update_bundle_versions.py (181 lines, 7 public functions) with no accompanying test file. Custom check requires tests with proper naming and structure. Add test_update_bundle_versions.py with pytest tests covering helper functions, rename_bundle_pyproject, update_root_pyproject_for_bundle, update_bundles_for_nightly, main CLI validation, and edge cases.
✅ 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 'fix(ci): rename bundles to -nightly during nightly build' accurately summarizes the main change: renaming bundle packages to -nightly counterparts during the nightly build process.
Docstring Coverage ✅ Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Excessive Mock Usage Warning ✅ Passed No test files were added or modified in this PR. The new script uses no mocks or test frameworks. Check is not applicable.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/nightly-build-bundle-lfx-dep

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 May 19, 2026
@github-actions
Copy link
Copy Markdown
Contributor

✅ Test Coverage Advisor

No source changes detected without accompanying tests. Thanks for keeping coverage up! 🎉

Advisory check only — never blocks merge.

@github-actions github-actions Bot added bug Something isn't working and removed bug Something isn't working labels May 19, 2026
@codecov
Copy link
Copy Markdown

codecov Bot commented May 19, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 54.82%. Comparing base (e080805) to head (412b278).
⚠️ Report is 2 commits behind head on release-1.10.0.

Additional details and impacted files

Impacted file tree graph

@@                Coverage Diff                 @@
##           release-1.10.0   #13193      +/-   ##
==================================================
- Coverage           55.24%   54.82%   -0.43%     
==================================================
  Files                2173     2173              
  Lines              203469   203470       +1     
  Branches            30709    30674      -35     
==================================================
- Hits               112404   111545     -859     
- Misses              89781    90641     +860     
  Partials             1284     1284              
Flag Coverage Δ
backend 60.42% <ø> (+0.15%) ⬆️
frontend 54.41% <ø> (-0.67%) ⬇️
lfx 51.07% <ø> (+<0.01%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.
see 191 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
Copy link
Copy Markdown
Contributor

Frontend Unit Test Coverage Report

Coverage Summary

Lines Statements Branches Functions
Coverage: 38%
38.82% (48715/125468) 67.96% (6631/9756) 38.61% (1116/2890)

Unit Test Results

Tests Skipped Failures Errors Time
4334 0 💤 0 ❌ 0 🔥 11m 14s ⏱️

@erichare erichare merged commit c901602 into release-1.10.0 May 19, 2026
120 of 121 checks passed
@erichare erichare deleted the fix/nightly-build-bundle-lfx-dep branch May 19, 2026 01:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant