From 481cdd34994a2c22dc526871adae9bb71404fcb7 Mon Sep 17 00:00:00 2001 From: Eric Hare Date: Wed, 10 Jun 2026 04:50:33 -0700 Subject: [PATCH] fix(ci): allow pre-releases when pinning the nightly in migration validation (1.10.1) (#13601) fix(ci): allow pre-releases when pinning the nightly in migration validation Migration Test: pip/venv (stable -> nightly) failed deterministically on nightly run 27260425158 (twice, including a rerun): hint: langflow-base was requested with a pre-release marker (e.g., langflow-base==1.11.0.dev1), but pre-releases weren't enabled (try: --prerelease=allow) This is the first nightly publishing as a canonical .devN pre-release of the langflow distribution (nightly -> stable bundle cutover). The 'latest' branch of the upgrade step already passes --prerelease=allow, but the pinned-version branches do not. uv implicitly allows the pre-release for the directly requested ==X.Y.Z.devN pin, yet langflow's metadata pins langflow-base==X.Y.Z.devN transitively, and uv rejects transitive pre-releases unless they are enabled - so the install fails after the stable uninstall, sinking the migration test. Add --prerelease=allow to both pinned-version install lines. --- .github/workflows/db-migration-validation.yml | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/.github/workflows/db-migration-validation.yml b/.github/workflows/db-migration-validation.yml index 0dad7161d9..c82589ca26 100644 --- a/.github/workflows/db-migration-validation.yml +++ b/.github/workflows/db-migration-validation.yml @@ -182,13 +182,16 @@ jobs: # Install latest nightly (canonical pre-release) from PyPI uv pip install --upgrade --prerelease=allow 'langflow[postgresql]' else - # Install specific version - uv pip install --upgrade "langflow[postgresql]==$VERSION" + # Install specific version. --prerelease=allow is required even for an + # exact ==X.Y.Z.devN pin: uv only implicitly allows the pre-release for + # the directly requested package, while langflow's metadata pins + # langflow-base==X.Y.Z.devN transitively, which uv rejects without it. + uv pip install --upgrade --prerelease=allow "langflow[postgresql]==$VERSION" fi else # Direct version string (strip 'v' prefix if present) VERSION="${NIGHTLY_TAG#v}" - uv pip install --upgrade "langflow[postgresql]==$VERSION" + uv pip install --upgrade --prerelease=allow "langflow[postgresql]==$VERSION" fi # Verify upgrade