release: v1 #310
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: 'π Check `core` Version Equality' | |
# Ensures version numbers in pyproject.toml and version.py stay in sync | |
# Prevents releases with mismatched version numbers | |
on: | |
pull_request: | |
paths: | |
- 'libs/core/pyproject.toml' | |
- 'libs/core/langchain_core/version.py' | |
permissions: | |
contents: read | |
jobs: | |
check_version_equality: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v5 | |
- name: 'β Verify pyproject.toml & version.py Match' | |
run: | | |
# Check core versions | |
CORE_PYPROJECT_VERSION=$(grep -Po '(?<=^version = ")[^"]*' libs/core/pyproject.toml) | |
CORE_VERSION_PY_VERSION=$(grep -Po '(?<=^VERSION = ")[^"]*' libs/core/langchain_core/version.py) | |
# Compare core versions | |
if [ "$CORE_PYPROJECT_VERSION" != "$CORE_VERSION_PY_VERSION" ]; then | |
echo "langchain-core versions in pyproject.toml and version.py do not match!" | |
echo "pyproject.toml version: $CORE_PYPROJECT_VERSION" | |
echo "version.py version: $CORE_VERSION_PY_VERSION" | |
exit 1 | |
else | |
echo "Core versions match: $CORE_PYPROJECT_VERSION" | |
fi | |
# Check langchain_v1 versions | |
LANGCHAIN_PYPROJECT_VERSION=$(grep -Po '(?<=^version = ")[^"]*' libs/langchain_v1/pyproject.toml) | |
LANGCHAIN_INIT_PY_VERSION=$(grep -Po '(?<=^__version__ = ")[^"]*' libs/langchain_v1/langchain/__init__.py) | |
# Compare langchain_v1 versions | |
if [ "$LANGCHAIN_PYPROJECT_VERSION" != "$LANGCHAIN_INIT_PY_VERSION" ]; then | |
echo "langchain_v1 versions in pyproject.toml and __init__.py do not match!" | |
echo "pyproject.toml version: $LANGCHAIN_PYPROJECT_VERSION" | |
echo "version.py version: $LANGCHAIN_INIT_PY_VERSION" | |
exit 1 | |
else | |
echo "Langchain v1 versions match: $LANGCHAIN_PYPROJECT_VERSION" | |
fi |