# Workflow to run Langchain tests # # Please read inputs to provide correct values. # name: SDK Lib Langchain Tests run-name: "SDK Lib Langchain Tests ${{ github.ref_name }} by @${{ github.actor }}" permissions: contents: read env: OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }} OPENAI_ORG_ID: ${{ secrets.OPENAI_ORG_ID }} GCP_CREDENTIALS_JSON: ${{ secrets.GCP_CREDENTIALS_JSON }} GOOGLE_CLOUD_LOCATION: us-east1 GOOGLE_CLOUD_PROJECT: opik-sdk-tests GOOGLE_API_KEY: ${{ secrets.GOOGLE_API_KEY }} ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }} AWS_DEFAULT_REGION: us-east-1 AWS_ACCESS_KEY_ID: ${{ secrets.BEDROCK_AWS_ACCESS_KEY_ID }} AWS_SECRET_ACCESS_KEY: ${{ secrets.BEDROCK_AWS_SECRET_ACCESS_KEY }} OPIK_ENABLE_LITELLM_MODELS_MONITORING: False OPIK_SENTRY_ENABLE: False GROQ_API_KEY: ${{ secrets.GROQ_API_KEY }} on: workflow_call: jobs: tests: name: Langchain Python ${{matrix.python_version}} runs-on: ubuntu-latest timeout-minutes: 30 defaults: run: working-directory: sdks/python strategy: fail-fast: true matrix: python_version: ${{ fromJSON(vars.PYTHON_VERSIONS) }} steps: - name: Check out code uses: actions/checkout@v6 - name: Setup Python ${{matrix.python_version}} uses: actions/setup-python@v5 with: python-version: ${{matrix.python_version}} - name: Install opik run: pip install . - name: Install test tools run: | cd ./tests pip install --no-cache-dir --disable-pip-version-check -r test_requirements.txt - name: Install lib run: | cd ./tests pip install --no-cache-dir --disable-pip-version-check -r library_integration/langchain/requirements.txt - name: change aws role uses: aws-actions/configure-aws-credentials@v4 with: aws-access-key-id: ${{ secrets.BEDROCK_AWS_ACCESS_KEY_ID }} aws-secret-access-key: ${{ secrets.BEDROCK_AWS_SECRET_ACCESS_KEY }} role-to-assume: ${{ vars.BEDROCK_ROLE }} aws-region: us-east-1 role-chaining: true role-skip-session-tagging: true - name: Run tests run: | cd ./tests/library_integration/langchain/ python -m pytest -vv .