Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
72 changes: 72 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
name: CI Pipeline

on:
pull_request:
branches:
- main

jobs:
type_check:
name: Type Check and Lint
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6

- name: Install uv
uses: astral-sh/setup-uv@v7
with:
version: "0.9.27"
enable-cache: true

- name: Set up Python
uses: actions/setup-python@v6
with:
python-version-file: ".python-version"

- name: Install dependencies
run: uv sync --dev --all-extras

- name: Ruff check
run: |
uv run ruff check || exit 1
uv run ruff format --check || exit 1

- name: Pyright
run: uv run pyright .

test:
name: Test
runs-on: ubuntu-latest
needs: type_check
environment: LLMGW_SETTINGS
env:
UIPATH_LLM_BACKEND: ${{ vars.UIPATH_LLM_BACKEND }}
LLMGW_URL: ${{ vars.LLMGW_URL }}
LLMGW_SEMANTIC_ORG_ID: ${{ secrets.LLMGW_SEMANTIC_ORG_ID }}
LLMGW_SEMANTIC_USER_ID: ${{ secrets.LLMGW_SEMANTIC_USER_ID }}
LLMGW_SEMANTIC_TENANT_ID: ${{ secrets.LLMGW_SEMANTIC_TENANT_ID }}
LLMGW_REQUESTING_PRODUCT: ${{ vars.LLMGW_REQUESTING_PRODUCT }}
LLMGW_REQUESTING_FEATURE: ${{ vars.LLMGW_REQUESTING_FEATURE }}
LLMGW_CLIENT_ID: ${{ secrets.LLMGW_CLIENT_ID }}
LLMGW_CLIENT_SECRET: ${{ secrets.LLMGW_CLIENT_SECRET }}
steps:
- uses: actions/checkout@v6
with:
lfs: true

- name: Install uv
uses: astral-sh/setup-uv@v7
with:
version: "0.9.27"
enable-cache: true

- name: Set up Python
uses: actions/setup-python@v6
with:
python-version-file: ".python-version"

- name: Install dependencies
run: uv sync --dev --all-extras

- name: Run tests
run: uv run pytest tests
87 changes: 37 additions & 50 deletions .github/workflows/ci_change_version.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,83 +6,70 @@ on:
- main

jobs:
validate-version:
name: Validate version updates
validate-uipath-llm-client:
name: uipath-llm-client
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
with:
fetch-depth: 0

- name: Get changed files
id: changes
run: |
git diff origin/main...HEAD --name-only > changes.txt
echo "Changed files:"
cat changes.txt

- name: Validate version updates for changed packages
- name: Validate version update
run: |
VALIDATION_FAILED=0

# Core package: src/uipath_llm_client/ -> src/uipath_llm_client/__version__.py
core_changes=$(grep -E '^src/uipath_llm_client/' changes.txt | grep -v '__version__.py' || true)
core_version=$(grep -E '^src/uipath_llm_client/__version__.py' changes.txt || true)
if [ -n "$core_changes" ] && [ -z "$core_version" ]; then
echo "::error::Core package (src/uipath_llm_client/) changes detected but no version update in src/uipath_llm_client/__version__.py"
VALIDATION_FAILED=1
fi

# Langchain package: packages/uipath_langchain_client/ -> packages/uipath_langchain_client/src/uipath_langchain_client/__version__.py
langchain_changes=$(grep -E '^packages/uipath_langchain_client/' changes.txt | grep -v '__version__.py' || true)
langchain_version=$(grep -E '^packages/uipath_langchain_client/src/uipath_langchain_client/__version__.py' changes.txt || true)
if [ -n "$langchain_changes" ] && [ -z "$langchain_version" ]; then
echo "::error::Langchain package (packages/uipath_langchain_client/) changes detected but no version update in packages/uipath_langchain_client/src/uipath_langchain_client/__version__.py"
VALIDATION_FAILED=1
fi

# LlamaIndex package: packages/uipath_llamaindex_client/ -> packages/uipath_llamaindex_client/src/uipath_llamaindex_client/__version__.py
llamaindex_changes=$(grep -E '^packages/uipath_llamaindex_client/' changes.txt | grep -v '__version__.py' || true)
llamaindex_version=$(grep -E '^packages/uipath_llamaindex_client/src/uipath_llamaindex_client/__version__.py' changes.txt || true)
if [ -n "$llamaindex_changes" ] && [ -z "$llamaindex_version" ]; then
echo "::error::LlamaIndex package (packages/uipath_llamaindex_client/) changes detected but no version update in packages/uipath_llamaindex_client/src/uipath_llamaindex_client/__version__.py"
VALIDATION_FAILED=1
fi

if [ $VALIDATION_FAILED -eq 1 ]; then
echo "::error::uipath-llm-client: package changes detected but no version update in src/uipath_llm_client/__version__.py"
exit 1
fi
echo "✓ All package versions are consistent with changes."
echo "✓ Version is consistent with changes."

- name: Validate changelog updates for version changes
- name: Validate changelog update
run: |
VALIDATION_FAILED=0

# Core package: src/uipath_llm_client/__version__.py -> CHANGELOG.md (root)
core_version=$(grep -E '^src/uipath_llm_client/__version__.py' changes.txt || true)
core_changelog=$(grep -E '^CHANGELOG.md' changes.txt || true)
if [ -n "$core_version" ] && [ -z "$core_changelog" ]; then
echo "::error::Core package version changed but no changelog update in CHANGELOG.md"
VALIDATION_FAILED=1
echo "::error::uipath-llm-client: version changed but no changelog update in CHANGELOG.md"
exit 1
fi
echo "✓ Changelog is consistent with version changes."

# Langchain package: packages/uipath_langchain_client/src/uipath_langchain_client/__version__.py -> packages/uipath_langchain_client/CHANGELOG.md
langchain_version=$(grep -E '^packages/uipath_langchain_client/src/uipath_langchain_client/__version__.py' changes.txt || true)
langchain_changelog=$(grep -E '^packages/uipath_langchain_client/CHANGELOG.md' changes.txt || true)
if [ -n "$langchain_version" ] && [ -z "$langchain_changelog" ]; then
echo "::error::Langchain package version changed but no changelog update in packages/uipath_langchain_client/CHANGELOG.md"
VALIDATION_FAILED=1
fi
validate-uipath-langchain-client:
name: uipath-langchain-client
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
with:
fetch-depth: 0

- name: Get changed files
run: |
git diff origin/main...HEAD --name-only > changes.txt
echo "Changed files:"
cat changes.txt

# LlamaIndex package: packages/uipath_llamaindex_client/src/uipath_llamaindex_client/__version__.py -> packages/uipath_llamaindex_client/CHANGELOG.md
llamaindex_version=$(grep -E '^packages/uipath_llamaindex_client/src/uipath_llamaindex_client/__version__.py' changes.txt || true)
llamaindex_changelog=$(grep -E '^packages/uipath_llamaindex_client/CHANGELOG.md' changes.txt || true)
if [ -n "$llamaindex_version" ] && [ -z "$llamaindex_changelog" ]; then
echo "::error::LlamaIndex package version changed but no changelog update in packages/uipath_llamaindex_client/CHANGELOG.md"
VALIDATION_FAILED=1
- name: Validate version update
run: |
langchain_changes=$(grep -E '^packages/uipath_langchain_client/' changes.txt | grep -v '__version__.py' || true)
langchain_version=$(grep -E '^packages/uipath_langchain_client/src/uipath_langchain_client/__version__.py' changes.txt || true)
if [ -n "$langchain_changes" ] && [ -z "$langchain_version" ]; then
echo "::error::uipath-langchain-client: package changes detected but no version update in packages/uipath_langchain_client/src/uipath_langchain_client/__version__.py"
exit 1
fi
echo "✓ Version is consistent with changes."

if [ $VALIDATION_FAILED -eq 1 ]; then
- name: Validate changelog update
run: |
langchain_version=$(grep -E '^packages/uipath_langchain_client/src/uipath_langchain_client/__version__.py' changes.txt || true)
langchain_changelog=$(grep -E '^packages/uipath_langchain_client/CHANGELOG.md' changes.txt || true)
if [ -n "$langchain_version" ] && [ -z "$langchain_changelog" ]; then
echo "::error::uipath-langchain-client: version changed but no changelog update in packages/uipath_langchain_client/CHANGELOG.md"
exit 1
fi
echo "✓ All changelogs are consistent with version changes."
echo "✓ Changelog is consistent with version changes."
33 changes: 0 additions & 33 deletions .github/workflows/ci_run_tests.yml

This file was deleted.

35 changes: 0 additions & 35 deletions .github/workflows/ci_type_check.yml

This file was deleted.

5 changes: 5 additions & 0 deletions packages/uipath_langchain_client/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,11 @@

All notable changes to `uipath_langchain_client` will be documented in this file.

## [1.0.2] - 2026-02-02

### Buf Fix
- Removed old fix on Gemini streaming and updated with a new cleaner one

## [1.0.1] - 2026-02-02

### Bug Fix
Expand Down
2 changes: 1 addition & 1 deletion packages/uipath_langchain_client/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ readme = "README.md"
requires-python = ">=3.11"
dependencies = [
"langchain>=1.2.7",
"uipath-llm-client>=1.0.0",
"uipath-llm-client>=1.0.2",
]

[project.optional-dependencies]
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
__title__ = "UiPath LangChain Client"
__description__ = "A Python client for interacting with UiPath's LLM services via LangChain."
__version__ = "1.0.1"
__version__ = "1.0.2"
Loading