Spaces:
Runtime error
Runtime error
name: Scheduled tests | |
on: | |
workflow_dispatch: # Allows to trigger the workflow manually in GitHub UI | |
schedule: | |
- cron: '0 13 * * *' | |
env: | |
POETRY_VERSION: "1.7.1" | |
jobs: | |
build: | |
name: Python ${{ matrix.python-version }} - ${{ matrix.working-directory }} | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
python-version: | |
- "3.8" | |
- "3.11" | |
working-directory: | |
- "libs/partners/openai" | |
- "libs/partners/anthropic" | |
- "libs/partners/ai21" | |
- "libs/partners/fireworks" | |
- "libs/partners/groq" | |
- "libs/partners/mistralai" | |
- "libs/partners/together" | |
- "libs/partners/cohere" | |
- "libs/partners/google-vertexai" | |
- "libs/partners/google-genai" | |
- "libs/partners/aws" | |
- "libs/partners/nvidia-ai-endpoints" | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
path: langchain | |
- uses: actions/checkout@v4 | |
with: | |
repository: langchain-ai/langchain-google | |
path: langchain-google | |
- uses: actions/checkout@v4 | |
with: | |
repository: langchain-ai/langchain-nvidia | |
path: langchain-nvidia | |
- uses: actions/checkout@v4 | |
with: | |
repository: langchain-ai/langchain-cohere | |
path: langchain-cohere | |
- uses: actions/checkout@v4 | |
with: | |
repository: langchain-ai/langchain-aws | |
path: langchain-aws | |
- name: Move libs | |
run: | | |
rm -rf \ | |
langchain/libs/partners/google-genai \ | |
langchain/libs/partners/google-vertexai \ | |
langchain/libs/partners/nvidia-ai-endpoints \ | |
langchain/libs/partners/cohere | |
mv langchain-google/libs/genai langchain/libs/partners/google-genai | |
mv langchain-google/libs/vertexai langchain/libs/partners/google-vertexai | |
mv langchain-nvidia/libs/ai-endpoints langchain/libs/partners/nvidia-ai-endpoints | |
mv langchain-cohere/libs/cohere langchain/libs/partners/cohere | |
mv langchain-aws/libs/aws langchain/libs/partners/aws | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: "./langchain/.github/actions/poetry_setup" | |
with: | |
python-version: ${{ matrix.python-version }} | |
poetry-version: ${{ env.POETRY_VERSION }} | |
working-directory: langchain/${{ matrix.working-directory }} | |
cache-key: scheduled | |
- name: 'Authenticate to Google Cloud' | |
id: 'auth' | |
uses: google-github-actions/auth@v2 | |
with: | |
credentials_json: '${{ secrets.GOOGLE_CREDENTIALS }}' | |
- name: Configure AWS Credentials | |
uses: aws-actions/configure-aws-credentials@v4 | |
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: Install dependencies | |
run: | | |
echo "Running scheduled tests, installing dependencies with poetry..." | |
cd langchain/${{ matrix.working-directory }} | |
poetry install --with=test_integration,test | |
- name: Run integration tests | |
env: | |
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }} | |
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }} | |
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_LLM_DEPLOYMENT_NAME: ${{ secrets.AZURE_OPENAI_LLM_DEPLOYMENT_NAME }} | |
AZURE_OPENAI_EMBEDDINGS_DEPLOYMENT_NAME: ${{ secrets.AZURE_OPENAI_EMBEDDINGS_DEPLOYMENT_NAME }} | |
AI21_API_KEY: ${{ secrets.AI21_API_KEY }} | |
FIREWORKS_API_KEY: ${{ secrets.FIREWORKS_API_KEY }} | |
GROQ_API_KEY: ${{ secrets.GROQ_API_KEY }} | |
MISTRAL_API_KEY: ${{ secrets.MISTRAL_API_KEY }} | |
TOGETHER_API_KEY: ${{ secrets.TOGETHER_API_KEY }} | |
COHERE_API_KEY: ${{ secrets.COHERE_API_KEY }} | |
NVIDIA_API_KEY: ${{ secrets.NVIDIA_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 }} | |
run: | | |
cd langchain/${{ matrix.working-directory }} | |
make integration_tests | |
- name: Remove external libraries | |
run: | | |
rm -rf \ | |
langchain/libs/partners/google-genai \ | |
langchain/libs/partners/google-vertexai \ | |
langchain/libs/partners/nvidia-ai-endpoints \ | |
langchain/libs/partners/cohere \ | |
langchain/libs/partners/aws | |
- name: Ensure the tests did not create any additional files | |
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' | |