mirror of
https://github.com/hwchase17/langchain.git
synced 2026-06-09 10:17:00 +00:00
Bumps the minor-and-patch group with 2 updates: [actions/create-github-app-token](https://github.com/actions/create-github-app-token) and [aws-actions/configure-aws-credentials](https://github.com/aws-actions/configure-aws-credentials). Updates `actions/create-github-app-token` from 3.1.1 to 3.2.0 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/actions/create-github-app-token/releases">actions/create-github-app-token's releases</a>.</em></p> <blockquote> <h2>v3.2.0</h2> <h2><a href="https://github.com/actions/create-github-app-token/compare/v3.1.1...v3.2.0">3.2.0</a> (2026-05-12)</h2> <h3>Features</h3> <ul> <li>add support for enterprise-level GitHub Apps (<a href="https://redirect.github.com/actions/create-github-app-token/issues/263">#263</a>) (<a href="952a2a7073">952a2a7</a>)</li> <li>support full repository names in <code>repositories</code> input (<a href="https://redirect.github.com/actions/create-github-app-token/issues/372">#372</a>) (<a href="85eb8dd414">85eb8dd</a>)</li> </ul> <h3>Bug Fixes</h3> <ul> <li><strong>deps:</strong> bump <code>@actions/core</code> from 3.0.0 to 3.0.1 in the production-dependencies group (<a href="https://redirect.github.com/actions/create-github-app-token/issues/364">#364</a>) (<a href="43e5c345bf">43e5c34</a>)</li> <li>validate private-key input (<a href="https://redirect.github.com/actions/create-github-app-token/issues/376">#376</a>) (<a href="f24bbd8964">f24bbd8</a>)</li> </ul> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/actions/create-github-app-token/blob/main/CHANGELOG.md">actions/create-github-app-token's changelog</a>.</em></p> <blockquote> <h1>Changelog</h1> <h2><a href="https://github.com/actions/create-github-app-token/compare/v3.1.1...v3.2.0">3.2.0</a> (2026-05-12)</h2> <h3>Features</h3> <ul> <li>add support for enterprise-level GitHub Apps (<a href="https://redirect.github.com/actions/create-github-app-token/issues/263">#263</a>) (<a href="952a2a7073">952a2a7</a>)</li> <li>support full repository names in <code>repositories</code> input (<a href="https://redirect.github.com/actions/create-github-app-token/issues/372">#372</a>) (<a href="85eb8dd414">85eb8dd</a>)</li> </ul> <h3>Bug Fixes</h3> <ul> <li><strong>deps:</strong> bump <code>@actions/core</code> from 3.0.0 to 3.0.1 in the production-dependencies group (<a href="https://redirect.github.com/actions/create-github-app-token/issues/364">#364</a>) (<a href="43e5c345bf">43e5c34</a>)</li> <li>validate private-key input (<a href="https://redirect.github.com/actions/create-github-app-token/issues/376">#376</a>) (<a href="f24bbd8964">f24bbd8</a>)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="bcd2ba4921"><code>bcd2ba4</code></a> chore(main): release 3.2.0 (<a href="https://redirect.github.com/actions/create-github-app-token/issues/370">#370</a>)</li> <li><a href="f24bbd8964"><code>f24bbd8</code></a> fix: validate private-key input (<a href="https://redirect.github.com/actions/create-github-app-token/issues/376">#376</a>)</li> <li><a href="363531b6d9"><code>363531b</code></a> docs: capitalize Git as a proper noun in README (<a href="https://redirect.github.com/actions/create-github-app-token/issues/374">#374</a>)</li> <li><a href="fd2801133e"><code>fd28011</code></a> docs: update procedure to configure Git (<a href="https://redirect.github.com/actions/create-github-app-token/issues/287">#287</a>)</li> <li><a href="85eb8dd414"><code>85eb8dd</code></a> feat: support full repository names in <code>repositories</code> input (<a href="https://redirect.github.com/actions/create-github-app-token/issues/372">#372</a>)</li> <li><a href="c9aabb8372"><code>c9aabb8</code></a> build(deps-dev): bump yaml from 2.8.3 to 2.8.4 in the development-dependencie...</li> <li><a href="e02e816e55"><code>e02e816</code></a> build(deps-dev): bump undici from 7.24.6 to 8.2.0 (<a href="https://redirect.github.com/actions/create-github-app-token/issues/366">#366</a>)</li> <li><a href="8d835bfd37"><code>8d835bf</code></a> build(deps-dev): bump esbuild from 0.27.4 to 0.28.0 in the development-depend...</li> <li><a href="952a2a7073"><code>952a2a7</code></a> feat: add support for enterprise-level GitHub Apps (<a href="https://redirect.github.com/actions/create-github-app-token/issues/263">#263</a>)</li> <li><a href="43e5c345bf"><code>43e5c34</code></a> fix(deps): bump <code>@actions/core</code> from 3.0.0 to 3.0.1 in the production-dependenc...</li> <li>Additional commits viewable in <a href="1b10c78c78...bcd2ba4921">compare view</a></li> </ul> </details> <br /> Updates `aws-actions/configure-aws-credentials` from 6.1.0 to 6.1.1 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/aws-actions/configure-aws-credentials/releases">aws-actions/configure-aws-credentials's releases</a>.</em></p> <blockquote> <h2>v6.1.1</h2> <h2>What's Changed</h2> <ul> <li>chore(deps-dev): bump esbuild from 0.27.4 to 0.28.0 by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/aws-actions/configure-aws-credentials/pull/1722">aws-actions/configure-aws-credentials#1722</a></li> <li>chore(deps-dev): bump <code>@types/node</code> from 25.5.0 to 25.5.2 by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/aws-actions/configure-aws-credentials/pull/1723">aws-actions/configure-aws-credentials#1723</a></li> <li>chore(deps-dev): bump <code>@smithy/property-provider</code> from 4.2.12 to 4.2.13 by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/aws-actions/configure-aws-credentials/pull/1724">aws-actions/configure-aws-credentials#1724</a></li> <li>chore(deps): bump proxy-agent from 8.0.0 to 8.0.1 by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/aws-actions/configure-aws-credentials/pull/1726">aws-actions/configure-aws-credentials#1726</a></li> <li>chore(deps): bump <code>@smithy/node-http-handler</code> from 4.5.1 to 4.5.2 by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/aws-actions/configure-aws-credentials/pull/1725">aws-actions/configure-aws-credentials#1725</a></li> <li>chore(deps): bump <code>@aws-sdk/client-sts</code> from 3.1020.0 to 3.1025.0 by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/aws-actions/configure-aws-credentials/pull/1727">aws-actions/configure-aws-credentials#1727</a></li> <li>chore(deps): bump basic-ftp from 5.2.0 to 5.2.1 by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/aws-actions/configure-aws-credentials/pull/1728">aws-actions/configure-aws-credentials#1728</a></li> <li>chore(deps): bump basic-ftp from 5.2.1 to 5.2.2 by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/aws-actions/configure-aws-credentials/pull/1729">aws-actions/configure-aws-credentials#1729</a></li> <li>chore(deps-dev): bump <code>@types/node</code> from 25.5.2 to 25.6.0 by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/aws-actions/configure-aws-credentials/pull/1730">aws-actions/configure-aws-credentials#1730</a></li> <li>chore(deps-dev): bump <code>@aws-sdk/credential-provider-env</code> from 3.972.24 to 3.972.25 by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/aws-actions/configure-aws-credentials/pull/1733">aws-actions/configure-aws-credentials#1733</a></li> <li>chore(deps): bump <code>@aws-sdk/client-sts</code> from 3.1025.0 to 3.1030.0 by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/aws-actions/configure-aws-credentials/pull/1732">aws-actions/configure-aws-credentials#1732</a></li> <li>chore(deps-dev): bump <code>@biomejs/biome</code> from 2.4.10 to 2.4.11 by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/aws-actions/configure-aws-credentials/pull/1734">aws-actions/configure-aws-credentials#1734</a></li> <li>chore(deps): bump basic-ftp from 5.2.2 to 5.3.0 by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/aws-actions/configure-aws-credentials/pull/1736">aws-actions/configure-aws-credentials#1736</a></li> <li>chore(deps-dev): bump memfs from 4.57.1 to 4.57.2 by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/aws-actions/configure-aws-credentials/pull/1737">aws-actions/configure-aws-credentials#1737</a></li> <li>chore(deps-dev): bump typescript from 6.0.2 to 6.0.3 by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/aws-actions/configure-aws-credentials/pull/1740">aws-actions/configure-aws-credentials#1740</a></li> <li>chore(deps-dev): bump <code>@smithy/property-provider</code> from 4.2.13 to 4.2.14 by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/aws-actions/configure-aws-credentials/pull/1741">aws-actions/configure-aws-credentials#1741</a></li> <li>chore(deps-dev): bump <code>@aws-sdk/credential-provider-env</code> from 3.972.25 to 3.972.28 by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/aws-actions/configure-aws-credentials/pull/1742">aws-actions/configure-aws-credentials#1742</a></li> <li>chore(deps): bump <code>@aws-sdk/client-sts</code> from 3.1030.0 to 3.1033.0 by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/aws-actions/configure-aws-credentials/pull/1743">aws-actions/configure-aws-credentials#1743</a></li> <li>chore(deps-dev): bump <code>@biomejs/biome</code> from 2.4.11 to 2.4.12 by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/aws-actions/configure-aws-credentials/pull/1739">aws-actions/configure-aws-credentials#1739</a></li> <li>chore(deps-dev): bump <code>@biomejs/biome</code> from 2.4.12 to 2.4.13 by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/aws-actions/configure-aws-credentials/pull/1747">aws-actions/configure-aws-credentials#1747</a></li> <li>chore(deps): bump postcss from 8.5.6 to 8.5.12 by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/aws-actions/configure-aws-credentials/pull/1752">aws-actions/configure-aws-credentials#1752</a></li> <li>chore(deps): bump <code>@smithy/node-http-handler</code> from 4.6.0 to 4.6.1 by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/aws-actions/configure-aws-credentials/pull/1750">aws-actions/configure-aws-credentials#1750</a></li> <li>chore(deps-dev): bump <code>@aws-sdk/credential-provider-env</code> from 3.972.28 to 3.972.32 by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/aws-actions/configure-aws-credentials/pull/1751">aws-actions/configure-aws-credentials#1751</a></li> <li>chore(deps): bump <code>@aws-sdk/client-sts</code> from 3.1033.0 to 3.1038.0 by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/aws-actions/configure-aws-credentials/pull/1749">aws-actions/configure-aws-credentials#1749</a></li> <li>chore: release 6.1.1 by <a href="https://github.com/lehmanmj"><code>@lehmanmj</code></a> in <a href="https://redirect.github.com/aws-actions/configure-aws-credentials/pull/1757">aws-actions/configure-aws-credentials#1757</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/aws-actions/configure-aws-credentials/compare/v6...v6.1.1">https://github.com/aws-actions/configure-aws-credentials/compare/v6...v6.1.1</a></p> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/aws-actions/configure-aws-credentials/blob/main/CHANGELOG.md">aws-actions/configure-aws-credentials's changelog</a>.</em></p> <blockquote> <h1>Changelog</h1> <p>All notable changes to this project will be documented in this file. See <a href="https://github.com/conventional-changelog/standard-version">standard-version</a> for commit guidelines.</p> <h2><a href="https://github.com/aws-actions/configure-aws-credentials/compare/v6.1.0...v6.1.1">6.1.1</a> (2026-05-05)</h2> <h3>Miscellaneous Chores</h3> <ul> <li>various dependency updates</li> </ul> <h2><a href="https://github.com/aws-actions/configure-aws-credentials/compare/v6.0.0...v6.1.0">6.1.0</a> (2026-04-06)</h2> <h3>Features</h3> <ul> <li>add skip cleanup option (<a href="https://redirect.github.com/aws-actions/configure-aws-credentials/issues/1716">#1716</a>) (<a href="11b1c58b24">11b1c58</a>), closes <a href="https://redirect.github.com/aws-actions/configure-aws-credentials/issues/1545">#1545</a></li> <li>Support usage of AWS Profiles (<a href="https://redirect.github.com/aws-actions/configure-aws-credentials/issues/1696">#1696</a>) (<a href="a7f0c828ac">a7f0c82</a>)</li> </ul> <h2><a href="https://github.com/aws-actions/configure-aws-credentials/compare/v5.1.1...v6.0.0">6.0.0</a> (2026-02-04)</h2> <h3>⚠ BREAKING CHANGES</h3> <ul> <li>Update action to use node24 (<a href="https://redirect.github.com/aws-actions/configure-aws-credentials/pull/1632">#1632</a>) (<a href="a7a2c1125c">a7a2c11</a>)</li> </ul> <h3>Features</h3> <ul> <li>add support to define transitive tag keys (<a href="https://redirect.github.com/aws-actions/configure-aws-credentials/pull/1316">#1316</a>) (<a href="232435c0c0">232435c</a>) (<a href="930ebd9bca">930ebd9</a>)</li> </ul> <h3>Bug Fixes</h3> <ul> <li>properly output <code>aws-account-id</code> and <code>authenticated-arn</code> when using role-chaining (<a href="https://redirect.github.com/aws-actions/configure-aws-credentials/pull/1633">#1633</a>) (<a href="7ceaf96edc">7ceaf96</a>)</li> </ul> <h2><a href="https://github.com/aws-actions/configure-aws-credentials/compare/v5.1.0...v5.1.1">5.1.1</a> (2025-11-24)</h2> <h3>Miscellaneous Chores</h3> <ul> <li>release 5.1.1 (<a href="56d6a583f0">56d6a58</a>)</li> </ul> <h2><a href="https://github.com/aws-actions/configure-aws-credentials/compare/v5.0.0...v5.1.0">5.1.0</a> (2025-10-06)</h2> <h3>Features</h3> <ul> <li>Add global timeout support (<a href="https://redirect.github.com/aws-actions/configure-aws-credentials/issues/1487">#1487</a>) (<a href="1584b8b0e2">1584b8b</a>)</li> <li>add no-proxy support (<a href="https://redirect.github.com/aws-actions/configure-aws-credentials/issues/1482">#1482</a>) (<a href="dde9b22a8e">dde9b22</a>)</li> <li>Improve debug logging in retry logic (<a href="https://redirect.github.com/aws-actions/configure-aws-credentials/issues/1485">#1485</a>) (<a href="97ef425d73">97ef425</a>)</li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="d979d5b3a7"><code>d979d5b</code></a> chore: release 6.1.1 (<a href="https://redirect.github.com/aws-actions/configure-aws-credentials/issues/1757">#1757</a>)</li> <li><a href="d4a9acd8d3"><code>d4a9acd</code></a> chore: Update dist</li> <li><a href="fc44f4ae40"><code>fc44f4a</code></a> chore(deps): bump <code>@aws-sdk/client-sts</code> from 3.1033.0 to 3.1038.0 (<a href="https://redirect.github.com/aws-actions/configure-aws-credentials/issues/1749">#1749</a>)</li> <li><a href="0b8336f1ba"><code>0b8336f</code></a> chore: Update dist</li> <li><a href="8c5bf33eed"><code>8c5bf33</code></a> chore(deps-dev): bump <code>@aws-sdk/credential-provider-env</code> (<a href="https://redirect.github.com/aws-actions/configure-aws-credentials/issues/1751">#1751</a>)</li> <li><a href="53df0c1c32"><code>53df0c1</code></a> chore: Update dist</li> <li><a href="c2c55827d2"><code>c2c5582</code></a> chore(deps): bump <code>@smithy/node-http-handler</code> from 4.6.0 to 4.6.1 (<a href="https://redirect.github.com/aws-actions/configure-aws-credentials/issues/1750">#1750</a>)</li> <li><a href="bd0031d7c3"><code>bd0031d</code></a> chore(deps): bump postcss from 8.5.6 to 8.5.12 (<a href="https://redirect.github.com/aws-actions/configure-aws-credentials/issues/1752">#1752</a>)</li> <li><a href="6ab499a698"><code>6ab499a</code></a> chore(deps-dev): bump <code>@biomejs/biome</code> from 2.4.12 to 2.4.13 (<a href="https://redirect.github.com/aws-actions/configure-aws-credentials/issues/1747">#1747</a>)</li> <li><a href="bc94895858"><code>bc94895</code></a> chore(deps-dev): bump <code>@biomejs/biome</code> from 2.4.11 to 2.4.12 (<a href="https://redirect.github.com/aws-actions/configure-aws-credentials/issues/1739">#1739</a>)</li> <li>Additional commits viewable in <a href="ec61189d14...d979d5b3a7">compare view</a></li> </ul> </details> <br /> Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore <dependency name> major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself) - `@dependabot ignore <dependency name> minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself) - `@dependabot ignore <dependency name>` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself) - `@dependabot unignore <dependency name>` will remove all of the ignore conditions of the specified dependency - `@dependabot unignore <dependency name> <ignore condition>` will remove the ignore condition of the specified dependency and ignore conditions </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
337 lines
15 KiB
YAML
337 lines
15 KiB
YAML
# Routine integration tests against partner libraries with live API credentials.
|
|
#
|
|
# Uses `make integration_tests` within each library being tested.
|
|
#
|
|
# Runs daily with the option to trigger manually.
|
|
|
|
name: "⏰ Integration Tests"
|
|
run-name: "Run Integration Tests - ${{ inputs.working-directory-override || (inputs.working-directory != 'all' && inputs.working-directory) || 'all libs' }} (Python ${{ inputs.python-version-override || '3.10, 3.13' }})"
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
inputs:
|
|
working-directory:
|
|
type: choice
|
|
description: "Library to test (select from dropdown)"
|
|
default: "all"
|
|
# Short names only — the `compute-matrix` job re-adds the `libs/` or
|
|
# `libs/partners/` prefix. When adding a new option, also update the
|
|
# `case` statement in `compute-matrix` if it isn't a partner package
|
|
# (partners are the default branch).
|
|
options:
|
|
- "all"
|
|
- "core"
|
|
- "langchain"
|
|
- "langchain_v1"
|
|
- "text-splitters"
|
|
- "standard-tests"
|
|
- "model-profiles"
|
|
- "anthropic"
|
|
- "chroma"
|
|
- "deepseek"
|
|
- "exa"
|
|
- "fireworks"
|
|
- "groq"
|
|
- "huggingface"
|
|
- "mistralai"
|
|
- "nomic"
|
|
- "ollama"
|
|
- "openai"
|
|
- "openrouter"
|
|
- "perplexity"
|
|
- "qdrant"
|
|
- "xai"
|
|
working-directory-override:
|
|
type: string
|
|
description: "Manual override — takes precedence over dropdown (e.g. libs/partners/partner-xyz)"
|
|
python-version-override:
|
|
type: string
|
|
description: "Python version override — defaults to 3.10 and 3.13 in matrix (e.g. 3.11)"
|
|
schedule:
|
|
- cron: "0 13 * * *" # Runs daily at 1PM UTC (9AM EDT/6AM PDT)
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
env:
|
|
UV_FROZEN: "true"
|
|
DEFAULT_LIBS: >-
|
|
["libs/partners/openai",
|
|
"libs/partners/anthropic",
|
|
"libs/partners/fireworks",
|
|
"libs/partners/groq",
|
|
"libs/partners/mistralai",
|
|
"libs/partners/xai",
|
|
"libs/partners/google-vertexai",
|
|
"libs/partners/google-genai",
|
|
"libs/partners/aws"]
|
|
|
|
jobs:
|
|
# Generate dynamic test matrix based on input parameters or defaults
|
|
# Only runs on the main repo (for scheduled runs) or when manually triggered
|
|
compute-matrix:
|
|
# Defend against forks running scheduled jobs, but allow manual runs from forks
|
|
if: github.repository_owner == 'langchain-ai' || github.event_name != 'schedule'
|
|
|
|
runs-on: ubuntu-latest
|
|
name: "📋 Compute Test Matrix"
|
|
outputs:
|
|
matrix: ${{ steps.set-matrix.outputs.matrix }}
|
|
python-version-min-3-11: ${{ steps.set-matrix.outputs.python-version-min-3-11 }}
|
|
steps:
|
|
- name: "🔢 Generate Python & Library Matrix"
|
|
id: set-matrix
|
|
env:
|
|
DEFAULT_LIBS: ${{ env.DEFAULT_LIBS }}
|
|
WORKING_DIRECTORY_OVERRIDE: ${{ github.event.inputs.working-directory-override || '' }}
|
|
WORKING_DIRECTORY_CHOICE: ${{ github.event.inputs.working-directory || 'all' }}
|
|
PYTHON_VERSION_OVERRIDE: ${{ github.event.inputs.python-version-override || '' }}
|
|
run: |
|
|
# echo "matrix=..." where matrix is a json formatted str with keys python-version and working-directory
|
|
# python-version defaults to 3.10 and 3.13, overridden to [PYTHON_VERSION_OVERRIDE] if set
|
|
# working-directory priority: override string > dropdown choice > DEFAULT_LIBS
|
|
python_version='["3.10", "3.13"]'
|
|
python_version_min_3_11='["3.11", "3.13"]'
|
|
working_directory="$DEFAULT_LIBS"
|
|
if [ -n "$PYTHON_VERSION_OVERRIDE" ]; then
|
|
python_version="[\"$PYTHON_VERSION_OVERRIDE\"]"
|
|
# Bound override version to >= 3.11 for packages requiring it
|
|
if [ "$(echo "$PYTHON_VERSION_OVERRIDE >= 3.11" | bc -l)" -eq 1 ]; then
|
|
python_version_min_3_11="[\"$PYTHON_VERSION_OVERRIDE\"]"
|
|
else
|
|
python_version_min_3_11='["3.11"]'
|
|
fi
|
|
fi
|
|
if [ -n "$WORKING_DIRECTORY_OVERRIDE" ]; then
|
|
working_directory="[\"$WORKING_DIRECTORY_OVERRIDE\"]"
|
|
elif [ "$WORKING_DIRECTORY_CHOICE" != "all" ]; then
|
|
# Map short dropdown name back to full path
|
|
case "$WORKING_DIRECTORY_CHOICE" in
|
|
core|langchain|langchain_v1|text-splitters|standard-tests|model-profiles)
|
|
working_directory="[\"libs/$WORKING_DIRECTORY_CHOICE\"]"
|
|
;;
|
|
*)
|
|
working_directory="[\"libs/partners/$WORKING_DIRECTORY_CHOICE\"]"
|
|
;;
|
|
esac
|
|
fi
|
|
matrix="{\"python-version\": $python_version, \"working-directory\": $working_directory}"
|
|
echo "$matrix"
|
|
echo "matrix=$matrix" >> $GITHUB_OUTPUT
|
|
echo "python-version-min-3-11=$python_version_min_3_11" >> $GITHUB_OUTPUT
|
|
|
|
# Run integration tests against partner libraries with live API credentials
|
|
integration-tests:
|
|
if: github.repository_owner == 'langchain-ai' || github.event_name != 'schedule'
|
|
name: "🐍 Python ${{ matrix.python-version }}: ${{ matrix.working-directory }}"
|
|
runs-on: ubuntu-latest
|
|
needs: [compute-matrix]
|
|
timeout-minutes: 30
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
python-version: ${{ fromJSON(needs.compute-matrix.outputs.matrix).python-version }}
|
|
working-directory: ${{ fromJSON(needs.compute-matrix.outputs.matrix).working-directory }}
|
|
|
|
steps:
|
|
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
|
|
with:
|
|
path: langchain
|
|
|
|
# These libraries exist outside of the monorepo and need to be checked out separately
|
|
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
|
|
with:
|
|
repository: langchain-ai/langchain-google
|
|
path: langchain-google
|
|
- name: "🔐 Authenticate to Google Cloud"
|
|
id: "auth"
|
|
uses: google-github-actions/auth@7c6bc770dae815cd3e89ee6cdf493a5fab2cc093 # v3
|
|
with:
|
|
credentials_json: "${{ secrets.GOOGLE_CREDENTIALS }}"
|
|
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
|
|
with:
|
|
repository: langchain-ai/langchain-aws
|
|
path: langchain-aws
|
|
- name: "🔐 Configure AWS Credentials"
|
|
uses: aws-actions/configure-aws-credentials@d979d5b3a71173a29b74b5b88418bfda9437d885 # v6
|
|
with:
|
|
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
|
|
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
|
|
aws-region: ${{ secrets.AWS_REGION }}
|
|
- name: "📦 Organize External Libraries"
|
|
run: |
|
|
rm -rf \
|
|
langchain/libs/partners/google-genai \
|
|
langchain/libs/partners/google-vertexai
|
|
mv langchain-google/libs/genai langchain/libs/partners/google-genai
|
|
mv langchain-google/libs/vertexai langchain/libs/partners/google-vertexai
|
|
mv langchain-aws/libs/aws langchain/libs/partners/aws
|
|
|
|
- name: "🐍 Set up Python ${{ matrix.python-version }} + UV"
|
|
uses: "./langchain/.github/actions/uv_setup"
|
|
with:
|
|
python-version: ${{ matrix.python-version }}
|
|
|
|
- name: "📦 Install Dependencies"
|
|
# 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).
|
|
#
|
|
# 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
|
|
# any test file could technically access any key. Only use for trusted code.
|
|
env:
|
|
LANGCHAIN_TESTS_USER_AGENT: ${{ secrets.LANGCHAIN_TESTS_USER_AGENT }}
|
|
|
|
AI21_API_KEY: ${{ secrets.AI21_API_KEY }}
|
|
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
|
|
ANTHROPIC_FILES_API_IMAGE_ID: ${{ secrets.ANTHROPIC_FILES_API_IMAGE_ID }}
|
|
ANTHROPIC_FILES_API_PDF_ID: ${{ secrets.ANTHROPIC_FILES_API_PDF_ID }}
|
|
ASTRA_DB_API_ENDPOINT: ${{ secrets.ASTRA_DB_API_ENDPOINT }}
|
|
ASTRA_DB_APPLICATION_TOKEN: ${{ secrets.ASTRA_DB_APPLICATION_TOKEN }}
|
|
ASTRA_DB_KEYSPACE: ${{ secrets.ASTRA_DB_KEYSPACE }}
|
|
AZURE_OPENAI_API_VERSION: ${{ secrets.AZURE_OPENAI_API_VERSION }}
|
|
AZURE_OPENAI_API_BASE: ${{ secrets.AZURE_OPENAI_API_BASE }}
|
|
AZURE_OPENAI_API_KEY: ${{ secrets.AZURE_OPENAI_API_KEY }}
|
|
AZURE_OPENAI_CHAT_DEPLOYMENT_NAME: ${{ secrets.AZURE_OPENAI_CHAT_DEPLOYMENT_NAME }}
|
|
AZURE_OPENAI_LEGACY_CHAT_DEPLOYMENT_NAME: ${{ secrets.AZURE_OPENAI_LEGACY_CHAT_DEPLOYMENT_NAME }}
|
|
AZURE_OPENAI_LLM_DEPLOYMENT_NAME: ${{ secrets.AZURE_OPENAI_LLM_DEPLOYMENT_NAME }}
|
|
AZURE_OPENAI_EMBEDDINGS_DEPLOYMENT_NAME: ${{ secrets.AZURE_OPENAI_EMBEDDINGS_DEPLOYMENT_NAME }}
|
|
COHERE_API_KEY: ${{ secrets.COHERE_API_KEY }}
|
|
DEEPSEEK_API_KEY: ${{ secrets.DEEPSEEK_API_KEY }}
|
|
ES_URL: ${{ secrets.ES_URL }}
|
|
ES_CLOUD_ID: ${{ secrets.ES_CLOUD_ID }}
|
|
ES_API_KEY: ${{ secrets.ES_API_KEY }}
|
|
EXA_API_KEY: ${{ secrets.EXA_API_KEY }}
|
|
FIREWORKS_API_KEY: ${{ secrets.FIREWORKS_API_KEY }}
|
|
GOOGLE_API_KEY: ${{ secrets.GOOGLE_API_KEY }}
|
|
GOOGLE_SEARCH_API_KEY: ${{ secrets.GOOGLE_SEARCH_API_KEY }}
|
|
GOOGLE_CSE_ID: ${{ secrets.GOOGLE_CSE_ID }}
|
|
GROQ_API_KEY: ${{ secrets.GROQ_API_KEY }}
|
|
HUGGINGFACEHUB_API_TOKEN: ${{ secrets.HUGGINGFACEHUB_API_TOKEN }}
|
|
MISTRAL_API_KEY: ${{ secrets.MISTRAL_API_KEY }}
|
|
MONGODB_ATLAS_URI: ${{ secrets.MONGODB_ATLAS_URI }}
|
|
NOMIC_API_KEY: ${{ secrets.NOMIC_API_KEY }}
|
|
NVIDIA_API_KEY: ${{ secrets.NVIDIA_API_KEY }}
|
|
OLLAMA_API_KEY: ${{ secrets.OLLAMA_API_KEY }}
|
|
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
|
|
OPENROUTER_API_KEY: ${{ secrets.OPENROUTER_API_KEY }}
|
|
PPLX_API_KEY: ${{ secrets.PPLX_API_KEY }}
|
|
TOGETHER_API_KEY: ${{ secrets.TOGETHER_API_KEY }}
|
|
UPSTAGE_API_KEY: ${{ secrets.UPSTAGE_API_KEY }}
|
|
WATSONX_APIKEY: ${{ secrets.WATSONX_APIKEY }}
|
|
WATSONX_PROJECT_ID: ${{ secrets.WATSONX_PROJECT_ID }}
|
|
XAI_API_KEY: ${{ secrets.XAI_API_KEY }}
|
|
run: |
|
|
cd langchain/${{ matrix.working-directory }}
|
|
make integration_tests
|
|
|
|
- name: "🧹 Clean up External Libraries"
|
|
# Clean up external libraries to avoid affecting the following git status check
|
|
run: |
|
|
rm -rf \
|
|
langchain/libs/partners/google-genai \
|
|
langchain/libs/partners/google-vertexai \
|
|
langchain/libs/partners/aws
|
|
|
|
- name: "🧹 Verify Clean Working Directory"
|
|
working-directory: langchain
|
|
run: |
|
|
set -eu
|
|
|
|
STATUS="$(git status)"
|
|
echo "$STATUS"
|
|
|
|
# grep will exit non-zero if the target message isn't found,
|
|
# and `set -e` above will cause the step to fail.
|
|
echo "$STATUS" | grep 'nothing to commit, working tree clean'
|
|
|
|
# Test dependent packages against local packages to catch breaking changes
|
|
test-dependents:
|
|
# Defend against forks running scheduled jobs, but allow manual runs from forks
|
|
if: github.repository_owner == 'langchain-ai' || github.event_name != 'schedule'
|
|
|
|
name: "🐍 Python ${{ matrix.python-version }}: ${{ matrix.package.path }}"
|
|
runs-on: ubuntu-latest
|
|
needs: [compute-matrix]
|
|
timeout-minutes: 30
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
# deepagents requires Python >= 3.11, use bounded version from compute-matrix
|
|
python-version: ${{ fromJSON(needs.compute-matrix.outputs.python-version-min-3-11) }}
|
|
package:
|
|
- name: deepagents
|
|
repo: langchain-ai/deepagents
|
|
path: libs/deepagents
|
|
|
|
steps:
|
|
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
|
|
with:
|
|
path: langchain
|
|
|
|
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
|
|
with:
|
|
repository: ${{ matrix.package.repo }}
|
|
path: ${{ matrix.package.name }}
|
|
|
|
- name: "🐍 Set up Python ${{ matrix.python-version }} + UV"
|
|
uses: "./langchain/.github/actions/uv_setup"
|
|
with:
|
|
python-version: ${{ matrix.python-version }}
|
|
|
|
- name: "📦 Install ${{ matrix.package.name }} with Local"
|
|
# Unlike partner packages (which use [tool.uv.sources] for local resolution),
|
|
# external dependents live in separate repos and need explicit overrides to
|
|
# test against the langchain versions from the current branch, as their
|
|
# pyproject.toml files point to released versions.
|
|
run: |
|
|
cd ${{ matrix.package.name }}/${{ matrix.package.path }}
|
|
|
|
# Install the package with test dependencies
|
|
uv sync --group test
|
|
|
|
# Override langchain packages with local versions
|
|
uv pip install \
|
|
-e $GITHUB_WORKSPACE/langchain/libs/core \
|
|
-e $GITHUB_WORKSPACE/langchain/libs/langchain_v1
|
|
|
|
# No API keys needed for now - deepagents `make test` only runs unit tests
|
|
- name: "🚀 Run ${{ matrix.package.name }} Tests"
|
|
run: |
|
|
cd ${{ matrix.package.name }}/${{ matrix.package.path }}
|
|
make test
|