mirror of
https://github.com/hwchase17/langchain
synced 2024-10-27 21:46:30 +00:00
c75e1aa5ed
The previous approach was relying on `_test.yml` taking an input parameter, and then doing almost completely orthogonal things for each parameter value. I've separated out each of those test situations as its own job or workflow file, which eliminated all the special-casing and, in my opinion, improved maintainability by making it much more obvious what code runs when.
69 lines
1.7 KiB
YAML
69 lines
1.7 KiB
YAML
---
|
|
name: libs/langchain CI
|
|
|
|
on:
|
|
push:
|
|
branches: [ master ]
|
|
pull_request:
|
|
paths:
|
|
- '.github/workflows/_lint.yml'
|
|
- '.github/workflows/_test.yml'
|
|
- '.github/workflows/_pydantic_compatibility.yml'
|
|
- '.github/workflows/langchain_ci.yml'
|
|
- 'libs/langchain/**'
|
|
workflow_dispatch: # Allows to trigger the workflow manually in GitHub UI
|
|
|
|
env:
|
|
POETRY_VERSION: "1.5.1"
|
|
WORKDIR: "libs/langchain"
|
|
|
|
jobs:
|
|
lint:
|
|
uses:
|
|
./.github/workflows/_lint.yml
|
|
with:
|
|
working-directory: libs/langchain
|
|
secrets: inherit
|
|
|
|
test:
|
|
uses:
|
|
./.github/workflows/_test.yml
|
|
with:
|
|
working-directory: libs/langchain
|
|
secrets: inherit
|
|
|
|
pydantic-compatibility:
|
|
uses:
|
|
./.github/workflows/_pydantic_compatibility.yml
|
|
with:
|
|
working-directory: libs/langchain
|
|
secrets: inherit
|
|
|
|
extended-tests:
|
|
runs-on: ubuntu-latest
|
|
defaults:
|
|
run:
|
|
working-directory: ${{ env.WORKDIR }}
|
|
strategy:
|
|
matrix:
|
|
python-version:
|
|
- "3.8"
|
|
- "3.9"
|
|
- "3.10"
|
|
- "3.11"
|
|
name: Python ${{ matrix.python-version }} extended tests
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
- name: Set up Python ${{ matrix.python-version }}
|
|
uses: "./.github/actions/poetry_setup"
|
|
with:
|
|
python-version: ${{ matrix.python-version }}
|
|
working-directory: ${{ env.WORKDIR }}
|
|
poetry-version: ${{ env.POETRY_VERSION }}
|
|
cache-key: extended
|
|
install-command: |
|
|
echo "Running extended tests, installing dependencies with poetry..."
|
|
poetry install -E extended_testing
|
|
- name: Run extended tests
|
|
run: make extended_tests
|