fix(ci): rename bundles to -nightly during nightly build#13193
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (3)
WalkthroughThis PR adds automated nightly bundle publishing support. A new Python script rewrites bundle ChangesNightly Bundle Version Management
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes Important Pre-merge checks failedPlease resolve all errors before merging. Addressing warnings is optional. ❌ Failed checks (1 error, 2 warnings)
✅ Passed checks (6 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
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. Comment |
✅ Test Coverage AdvisorNo source changes detected without accompanying tests. Thanks for keeping coverage up! 🎉
|
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ 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
Flags with carried forward coverage won't be shown. Click here to find out more. 🚀 New features to boost your workflow:
|
Summary
The nightly build is failing in
uv lockwith:The bundles under
src/bundles/*(currentlylfx-arxiv,lfx-duckduckgo) declare"lfx>=0.5.0,<0.6.0"as a runtime dep. During nightly builds the script renames thelfxworkspace package tolfx-nightly, solfxis no longer a workspace source and uv falls back to PyPI — where onlylfx<=0.4.3exists — and the resolver errors out.This PR fixes that the same way
langflow,langflow-base,lfx, andlangflow-sdkalready handle it: rename the bundle to<name>-nightly, bump its version to<base>.dev<N>, and rewrite its lfx dep tolfx-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.pywalkssrc/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.ymlcalls the new script betweenupdate_lfx_version.pyandupdate_pyproject_combined.py, and extends thegit addline to capture the rewritten bundle pyprojects.Test plan
Verified locally on
release-1.10.0by running the exact nightly script chain from the failing CI log:update_sdk_version.py v0.2.0.dev38— passesupdate_lfx_version.py v0.5.0.dev38 v0.2.0.dev38— passesupdate_bundle_versions.py v0.5.0.dev38— renameslfx-arxiv→lfx-arxiv-nightly(0.1.0.dev38) andlfx-duckduckgo→lfx-duckduckgo-nightly(0.1.0.dev38)update_pyproject_combined.py main v1.10.0.dev38 v1.10.0.dev38 v0.5.0.dev38— passesuv lock— resolves 798 packages (previously failed)cd src/backend/base && uv lockandcd src/lfx && uv lock— both passupdate_bundle_versions.pyis 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
-nightlysuffix during automated releases