| name: Integration tests |
|
|
| on: |
| workflow_dispatch: |
| inputs: |
| working-directory: |
| required: true |
| type: string |
| description: "From which folder this pipeline executes" |
| python-version: |
| required: true |
| type: string |
| description: "Python version to use" |
|
|
| env: |
| UV_FROZEN: "true" |
|
|
| jobs: |
| build: |
| defaults: |
| run: |
| working-directory: ${{ inputs.working-directory }} |
| runs-on: ubuntu-latest |
| name: Python ${{ inputs.python-version }} |
| steps: |
| - uses: actions/checkout@v4 |
|
|
| - name: Set up Python ${{ inputs.python-version }} + uv |
| uses: "./.github/actions/uv_setup" |
| with: |
| python-version: ${{ inputs.python-version }} |
|
|
| - name: Install dependencies |
| shell: bash |
| run: uv sync --group test --group test_integration |
|
|
| - name: Install deps outside pyproject |
| if: ${{ startsWith(inputs.working-directory, 'libs/community/') }} |
| shell: bash |
| run: VIRTUAL_ENV=.venv uv pip install "boto3<2" "google-cloud-aiplatform<2" |
|
|
| - name: Run integration tests |
| shell: bash |
| env: |
| AI21_API_KEY: ${{ secrets.AI21_API_KEY }} |
| FIREWORKS_API_KEY: ${{ secrets.FIREWORKS_API_KEY }} |
| GOOGLE_API_KEY: ${{ secrets.GOOGLE_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_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 }} |
| MISTRAL_API_KEY: ${{ secrets.MISTRAL_API_KEY }} |
| TOGETHER_API_KEY: ${{ secrets.TOGETHER_API_KEY }} |
| OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }} |
| GROQ_API_KEY: ${{ secrets.GROQ_API_KEY }} |
| NVIDIA_API_KEY: ${{ secrets.NVIDIA_API_KEY }} |
| GOOGLE_SEARCH_API_KEY: ${{ secrets.GOOGLE_SEARCH_API_KEY }} |
| GOOGLE_CSE_ID: ${{ secrets.GOOGLE_CSE_ID }} |
| HUGGINGFACEHUB_API_TOKEN: ${{ secrets.HUGGINGFACEHUB_API_TOKEN }} |
| EXA_API_KEY: ${{ secrets.EXA_API_KEY }} |
| NOMIC_API_KEY: ${{ secrets.NOMIC_API_KEY }} |
| WATSONX_APIKEY: ${{ secrets.WATSONX_APIKEY }} |
| WATSONX_PROJECT_ID: ${{ secrets.WATSONX_PROJECT_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 }} |
| ES_URL: ${{ secrets.ES_URL }} |
| ES_CLOUD_ID: ${{ secrets.ES_CLOUD_ID }} |
| ES_API_KEY: ${{ secrets.ES_API_KEY }} |
| MONGODB_ATLAS_URI: ${{ secrets.MONGODB_ATLAS_URI }} |
| VOYAGE_API_KEY: ${{ secrets.VOYAGE_API_KEY }} |
| COHERE_API_KEY: ${{ secrets.COHERE_API_KEY }} |
| UPSTAGE_API_KEY: ${{ secrets.UPSTAGE_API_KEY }} |
| XAI_API_KEY: ${{ secrets.XAI_API_KEY }} |
| PPLX_API_KEY: ${{ secrets.PPLX_API_KEY }} |
| run: | |
| make integration_tests |
| |
| - name: Ensure the tests did not create any additional files |
| shell: bash |
| run: | |
| set -eu |
| |
| STATUS="$(git status)" |
| echo "$STATUS" |
|
|
| |
| |
| echo "$STATUS" | grep 'nothing to commit, working tree clean' |
|
|