mirror of
https://github.com/hwchase17/langchain.git
synced 2026-02-21 14:43:07 +00:00
Using the published version means master is broken for contributors whenever we make changes in one lib that depend on the other.
71 lines
1.8 KiB
YAML
71 lines
1.8 KiB
YAML
name: test
|
|
|
|
on:
|
|
workflow_call:
|
|
inputs:
|
|
working-directory:
|
|
required: true
|
|
type: string
|
|
description: "From which folder this pipeline executes"
|
|
langchain-location:
|
|
required: false
|
|
type: string
|
|
description: "Relative path to the langchain library folder"
|
|
|
|
env:
|
|
POETRY_VERSION: "1.6.1"
|
|
|
|
jobs:
|
|
build:
|
|
defaults:
|
|
run:
|
|
working-directory: ${{ inputs.working-directory }}
|
|
runs-on: ubuntu-latest
|
|
strategy:
|
|
matrix:
|
|
python-version:
|
|
- "3.8"
|
|
- "3.9"
|
|
- "3.10"
|
|
- "3.11"
|
|
name: Python ${{ matrix.python-version }}
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: Set up Python ${{ matrix.python-version }} + Poetry ${{ env.POETRY_VERSION }}
|
|
uses: "./.github/actions/poetry_setup"
|
|
with:
|
|
python-version: ${{ matrix.python-version }}
|
|
poetry-version: ${{ env.POETRY_VERSION }}
|
|
working-directory: ${{ inputs.working-directory }}
|
|
cache-key: core
|
|
|
|
- name: Install dependencies
|
|
shell: bash
|
|
run: poetry install
|
|
|
|
- name: Install langchain editable
|
|
working-directory: ${{ inputs.working-directory }}
|
|
if: ${{ inputs.langchain-location }}
|
|
env:
|
|
LANGCHAIN_LOCATION: ${{ inputs.langchain-location }}
|
|
run: |
|
|
poetry run pip install -e "$LANGCHAIN_LOCATION"
|
|
|
|
- name: Run core tests
|
|
shell: bash
|
|
run: |
|
|
make test
|
|
|
|
- name: Ensure the tests did not create any additional files
|
|
shell: bash
|
|
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'
|