mirror of
https://github.com/hwchase17/langchain.git
synced 2026-01-24 13:58:11 +00:00
Update all Poetry versions to the current latest, 1.8.4 . I was checking how lock files are managed and found out that even though the files are generated - updated with the current latest version of Poetry, the version used in CI and Dockerfile was outdated. * https://github.com/langchain-ai/langchain/pull/28061/files#diff-e00422d37a73d07c174e7838ad7c30f642d06305aff8f9d71e1e84c6897efbffL1 * https://github.com/langchain-ai/langchain/pull/28070/files#diff-55267c883e58892916d5316bc029725fdeeba5a77e2557cf7667793823d9d9c6L1 * https://github.com/langchain-ai/langchain/pull/27991/files#diff-9f96b8fd39133c3f1d737e013c9042b065b42ae04b3da76902304f30cec136d8R1 <!-- If no one reviews your PR within a few days, please @-mention one of baskaryan, efriis, eyurtsev, ccurme, vbarda, hwchase17. --> Co-authored-by: Erick Friis <erick@langchain.dev>
77 lines
2.3 KiB
YAML
77 lines
2.3 KiB
YAML
name: test
|
|
|
|
on:
|
|
workflow_call:
|
|
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:
|
|
POETRY_VERSION: "1.8.4"
|
|
|
|
jobs:
|
|
build:
|
|
defaults:
|
|
run:
|
|
working-directory: ${{ inputs.working-directory }}
|
|
runs-on: ubuntu-latest
|
|
name: "make test #${{ inputs.python-version }}"
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: Set up Python ${{ inputs.python-version }} + Poetry ${{ env.POETRY_VERSION }}
|
|
uses: "./.github/actions/poetry_setup"
|
|
id: setup-python
|
|
with:
|
|
python-version: ${{ inputs.python-version }}
|
|
poetry-version: ${{ env.POETRY_VERSION }}
|
|
working-directory: ${{ inputs.working-directory }}
|
|
cache-key: core
|
|
- name: Install dependencies
|
|
shell: bash
|
|
run: poetry install --with test
|
|
|
|
- name: Run core tests
|
|
shell: bash
|
|
run: |
|
|
make test
|
|
|
|
- name: Get minimum versions
|
|
working-directory: ${{ inputs.working-directory }}
|
|
id: min-version
|
|
shell: bash
|
|
run: |
|
|
poetry run pip install packaging tomli requests
|
|
python_version="$(poetry run python --version | awk '{print $2}')"
|
|
min_versions="$(poetry run python $GITHUB_WORKSPACE/.github/scripts/get_min_versions.py pyproject.toml pull_request $python_version)"
|
|
echo "min-versions=$min_versions" >> "$GITHUB_OUTPUT"
|
|
echo "min-versions=$min_versions"
|
|
|
|
- name: Run unit tests with minimum dependency versions
|
|
if: ${{ steps.min-version.outputs.min-versions != '' }}
|
|
env:
|
|
MIN_VERSIONS: ${{ steps.min-version.outputs.min-versions }}
|
|
run: |
|
|
poetry run pip install $MIN_VERSIONS
|
|
make tests
|
|
working-directory: ${{ inputs.working-directory }}
|
|
|
|
- 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'
|
|
|