From 889a45b664638ef646fa58257cfe263d44cb6c6a Mon Sep 17 00:00:00 2001 From: Nick Hollon Date: Fri, 24 Apr 2026 09:23:40 -0400 Subject: [PATCH] ci(infra): overlay local `langchain-*` installs for external partners (#36989) we want to be able to test against the branch we run against when we are testing external partner packages (aws, google) so overally the changes on top of the external partners when we install the dependencies Co-authored-by: Mason Daugherty --- .github/workflows/integration_tests.yml | 33 +++++++++++++++++++++---- 1 file changed, 28 insertions(+), 5 deletions(-) diff --git a/.github/workflows/integration_tests.yml b/.github/workflows/integration_tests.yml index 4698ddea6f8..8080f833005 100644 --- a/.github/workflows/integration_tests.yml +++ b/.github/workflows/integration_tests.yml @@ -176,16 +176,39 @@ jobs: # Partner packages use [tool.uv.sources] in their pyproject.toml to resolve # langchain-core/langchain to local editable installs, so `uv sync` automatically # tests against the versions from the current branch (not published releases). - - # TODO: external google/aws don't have local resolution since they live in - # separate repos, so they pull `core`/`langchain_v1` from PyPI. We should update - # their dev groups to use git source dependencies pointing to the current - # branch's latest commit SHA to fully test against local langchain changes. + # + # External google/aws packages live in separate repos and don't declare + # [tool.uv.sources], so `uv sync` pulls langchain-* from PyPI. Overlay + # local editable installs after sync so integration tests exercise the + # current branch's langchain code. Matches the pattern used by the + # `test-dependents` job below for deepagents. run: | echo "Running scheduled tests, installing dependencies with uv..." cd langchain/${{ matrix.working-directory }} uv sync --group test --group test_integration + case "${{ matrix.working-directory }}" in + libs/partners/google-genai) + uv pip install \ + -e $GITHUB_WORKSPACE/langchain/libs/core \ + -e $GITHUB_WORKSPACE/langchain/libs/standard-tests + ;; + libs/partners/google-vertexai) + uv pip install \ + -e $GITHUB_WORKSPACE/langchain/libs/core \ + -e $GITHUB_WORKSPACE/langchain/libs/langchain_v1 \ + -e $GITHUB_WORKSPACE/langchain/libs/standard-tests + ;; + libs/partners/aws) + uv pip install \ + -e $GITHUB_WORKSPACE/langchain/libs/core \ + -e $GITHUB_WORKSPACE/langchain/libs/langchain_v1 \ + -e $GITHUB_WORKSPACE/langchain/libs/langchain \ + -e $GITHUB_WORKSPACE/langchain/libs/standard-tests \ + -e $GITHUB_WORKSPACE/langchain/libs/partners/anthropic + ;; + esac + - name: "🚀 Run Integration Tests" # WARNING: All secrets below are available to every matrix job regardless of # which package is being tested. This is intentional for simplicity, but means