1414 description : " Name of the base package artifact"
1515 required : true
1616 type : string
17+ core-artifact-name :
18+ description : " Name of the langflow-core package artifact"
19+ required : false
20+ type : string
1721 main-artifact-name :
1822 description : " Name of the main package artifact"
1923 required : true
@@ -258,6 +262,13 @@ jobs:
258262 name : ${{ inputs.base-artifact-name || needs.build-if-needed.outputs.base-artifact-name || 'adhoc-dist-base' }}
259263 path : ./base-dist
260264
265+ - name : Download langflow-core package artifact
266+ if : steps.install-method.outputs.method == 'wheel' && inputs.core-artifact-name != ''
267+ uses : actions/download-artifact@v7
268+ with :
269+ name : ${{ inputs.core-artifact-name }}
270+ path : ./core-dist
271+
261272 - name : Download main package artifact
262273 if : steps.install-method.outputs.method == 'wheel'
263274 uses : actions/download-artifact@v7
@@ -291,7 +302,7 @@ jobs:
291302
292303 refresh_find_links() {
293304 FIND_LINKS=()
294- for wheel_dir in ./sdk-dist ./lfx-dist ./base-dist ./bundles-dist; do
305+ for wheel_dir in ./sdk-dist ./lfx-dist ./base-dist ./core-dist ./ bundles-dist; do
295306 if [ -d "$wheel_dir" ]; then
296307 FIND_LINKS+=(--find-links "$wheel_dir")
297308 fi
@@ -325,6 +336,11 @@ jobs:
325336 BASE_WHEELS=(./base-dist/*.whl)
326337 install_wheels "base" "${BASE_WHEELS[@]}"
327338
339+ CORE_WHEELS=(./core-dist/*.whl)
340+ if [ ${#CORE_WHEELS[@]} -gt 0 ]; then
341+ install_wheels "core" "${CORE_WHEELS[@]}"
342+ fi
343+
328344 if [ -d ./bundles-dist ]; then
329345 BUNDLE_WHEELS=(./bundles-dist/*.whl)
330346 install_wheels "bundle" "${BUNDLE_WHEELS[@]}"
@@ -560,6 +576,13 @@ jobs:
560576 name : ${{ inputs.base-artifact-name || needs.build-if-needed.outputs.base-artifact-name || 'adhoc-dist-base' }}
561577 path : ./base-dist
562578
579+ - name : Download langflow-core package artifact
580+ if : steps.install-method.outputs.method == 'wheel' && inputs.core-artifact-name != ''
581+ uses : actions/download-artifact@v7
582+ with :
583+ name : ${{ inputs.core-artifact-name }}
584+ path : ./core-dist
585+
563586 - name : Download main package artifact
564587 if : steps.install-method.outputs.method == 'wheel'
565588 uses : actions/download-artifact@v7
@@ -593,7 +616,7 @@ jobs:
593616
594617 refresh_find_links() {
595618 FIND_LINKS=()
596- for wheel_dir in ./sdk-dist ./lfx-dist ./base-dist ./bundles-dist; do
619+ for wheel_dir in ./sdk-dist ./lfx-dist ./base-dist ./core-dist ./ bundles-dist; do
597620 if [ -d "$wheel_dir" ]; then
598621 FIND_LINKS+=(--find-links "$wheel_dir")
599622 fi
@@ -623,6 +646,11 @@ jobs:
623646 BASE_WHEELS=(./base-dist/*.whl)
624647 install_wheels "base" "${BASE_WHEELS[@]}"
625648
649+ CORE_WHEELS=(./core-dist/*.whl)
650+ if [ ${#CORE_WHEELS[@]} -gt 0 ]; then
651+ install_wheels "core" "${CORE_WHEELS[@]}"
652+ fi
653+
626654 if [ -d ./bundles-dist ]; then
627655 BUNDLE_WHEELS=(./bundles-dist/*.whl)
628656 install_wheels "bundle" "${BUNDLE_WHEELS[@]}"
@@ -645,12 +673,12 @@ jobs:
645673 run : |
646674 # Expose the local wheel dirs so dependency re-resolution (the
647675 # pre-release path below drops --no-deps) can find the local
648- # pre-release lfx/base wheels. Without these, uv re-resolves
676+ # pre-release lfx/base/core wheels. Without these, uv re-resolves
649677 # langflow-base's `lfx>=X.Y.Zrc0` constraint against PyPI only, where
650678 # the matching rc/dev wheel is not published yet, and fails with
651679 # "No solution found when resolving dependencies".
652680 FIND_LINKS=()
653- for wheel_dir in ./sdk-dist ./lfx-dist ./base-dist ./bundles-dist; do
681+ for wheel_dir in ./sdk-dist ./lfx-dist ./base-dist ./core-dist ./ bundles-dist; do
654682 if [ -d "$wheel_dir" ]; then
655683 FIND_LINKS+=(--find-links "$wheel_dir")
656684 fi
@@ -706,19 +734,24 @@ jobs:
706734 fi
707735 uv pip install --force-reinstall $NO_DEPS --prerelease=if-necessary-or-explicit "${FIND_LINKS[@]}" --python ./test-env/Scripts/python.exe "${INSTALL_WHEELS[@]}"
708736 fi
737+
738+ CORE_WHEEL=$(find ./core-dist -name "*.whl" -type f 2>/dev/null | head -1 || true)
739+ if [ -n "$CORE_WHEEL" ]; then
740+ uv pip install --force-reinstall --no-deps --python ./test-env/Scripts/python.exe "$CORE_WHEEL"
741+ fi
709742 shell : bash
710743
711744 - name : Force reinstall local wheels to prevent downgrades (Unix)
712745 if : steps.install-method.outputs.method == 'wheel' && matrix.os != 'windows'
713746 run : |
714747 # Expose the local wheel dirs so dependency re-resolution (the
715748 # pre-release path below drops --no-deps) can find the local
716- # pre-release lfx/base wheels. Without these, uv re-resolves
749+ # pre-release lfx/base/core wheels. Without these, uv re-resolves
717750 # langflow-base's `lfx>=X.Y.Zrc0` constraint against PyPI only, where
718751 # the matching rc/dev wheel is not published yet, and fails with
719752 # "No solution found when resolving dependencies".
720753 FIND_LINKS=()
721- for wheel_dir in ./sdk-dist ./lfx-dist ./base-dist ./bundles-dist; do
754+ for wheel_dir in ./sdk-dist ./lfx-dist ./base-dist ./core-dist ./ bundles-dist; do
722755 if [ -d "$wheel_dir" ]; then
723756 FIND_LINKS+=(--find-links "$wheel_dir")
724757 fi
@@ -774,6 +807,11 @@ jobs:
774807 fi
775808 uv pip install --force-reinstall $NO_DEPS --prerelease=if-necessary-or-explicit "${FIND_LINKS[@]}" --python ./test-env/bin/python "${INSTALL_WHEELS[@]}"
776809 fi
810+
811+ CORE_WHEEL=$(find ./core-dist -name "*.whl" -type f 2>/dev/null | head -1 || true)
812+ if [ -n "$CORE_WHEEL" ]; then
813+ uv pip install --force-reinstall --no-deps --python ./test-env/bin/python "$CORE_WHEEL"
814+ fi
777815 shell : bash
778816
779817 # PyPI installation steps
0 commit comments