diff --git a/.github/scripts/get_min_versions.py b/.github/scripts/get_min_versions.py index 2f8db84197fcf..a8d5e19488e5b 100644 --- a/.github/scripts/get_min_versions.py +++ b/.github/scripts/get_min_versions.py @@ -4,7 +4,12 @@ from packaging.version import parse as parse_version import re -MIN_VERSION_LIBS = ["langchain-core", "langchain-community", "langchain", "langchain-text-splitters"] +MIN_VERSION_LIBS = [ + "langchain-core", + "langchain-community", + "langchain", + "langchain-text-splitters", +] def get_min_version(version: str) -> str: @@ -56,12 +61,13 @@ def get_min_version_from_toml(toml_path: str): return min_versions -# Get the TOML file path from the command line argument -toml_file = sys.argv[1] +if __name__ == "__main__": + # Get the TOML file path from the command line argument + toml_file = sys.argv[1] -# Call the function to get the minimum versions -min_versions = get_min_version_from_toml(toml_file) + # Call the function to get the minimum versions + min_versions = get_min_version_from_toml(toml_file) -print( - " ".join([f"{lib}=={version}" for lib, version in min_versions.items()]) -) # noqa: T201 + print( + " ".join([f"{lib}=={version}" for lib, version in min_versions.items()]) + ) # noqa: T201 diff --git a/.github/workflows/_release.yml b/.github/workflows/_release.yml index cc2156b561862..49b20777dca9d 100644 --- a/.github/workflows/_release.yml +++ b/.github/workflows/_release.yml @@ -157,6 +157,24 @@ jobs: run: make tests working-directory: ${{ inputs.working-directory }} + - name: Get minimum versions + working-directory: ${{ inputs.working-directory }} + id: min-version + run: | + poetry run pip install packaging + min_versions="$(poetry run python $GITHUB_WORKSPACE/.github/scripts/get_min_versions.py pyproject.toml)" + 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: 'Authenticate to Google Cloud' id: 'auth' uses: google-github-actions/auth@v2 @@ -200,24 +218,6 @@ jobs: run: make integration_tests working-directory: ${{ inputs.working-directory }} - - name: Get minimum versions - working-directory: ${{ inputs.working-directory }} - id: min-version - run: | - poetry run pip install packaging - min_versions="$(poetry run python $GITHUB_WORKSPACE/.github/scripts/get_min_versions.py pyproject.toml)" - 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 }} - publish: needs: - build