Thanks to visit codestin.com
Credit goes to github.com

Skip to content

fix(langgraph): handle non-string dict keys in dump_json_safe #319

fix(langgraph): handle non-string dict keys in dump_json_safe

fix(langgraph): handle non-string dict keys in dump_json_safe #319

Workflow file for this run

name: unit
on:
push:
branches: [main]
paths:
- "sdks/python/**"
- "integrations/langgraph/python/**"
- "integrations/watsonx/python/**"
- "integrations/adk-middleware/python/**"
- "integrations/aws-strands/python/**"
- "integrations/langroid/python/**"
- ".github/workflows/unit-python-sdk.yml"
pull_request:
branches: [main]
paths:
- "sdks/python/**"
- "integrations/langgraph/python/**"
- "integrations/watsonx/python/**"
- "integrations/adk-middleware/python/**"
- "integrations/aws-strands/python/**"
- "integrations/langroid/python/**"
- ".github/workflows/unit-python-sdk.yml"
# Note: crew-ai uses Poetry (no uv.lock) — skipped for now.
permissions:
contents: read
jobs:
python:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
- name: Detect fork PR
id: fork-check
run: |
if [[ "${{ github.event_name }}" == "pull_request" && \
"${GITHUB_EVENT_PULL_REQUEST_HEAD_REPO_FULL_NAME}" != "${{ github.repository }}" ]]; then
echo "prefix=fork-" >> "$GITHUB_OUTPUT"
else
echo "prefix=" >> "$GITHUB_OUTPUT"
fi
env:
GITHUB_EVENT_PULL_REQUEST_HEAD_REPO_FULL_NAME: ${{ github.event.pull_request.head.repo.full_name }}
- name: Install uv
uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0
with:
version: ">=0.8.0"
- name: Load cached venv
id: cached-uv-dependencies
uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5
with:
path: sdks/python/.venv
key: ${{ steps.fork-check.outputs.prefix }}venv-${{ runner.os }}-${{ hashFiles('sdks/python/uv.lock') }}
- name: Install dependencies
working-directory: sdks/python
run: uv sync
- name: Run tests
working-directory: sdks/python
run: uv run python -m unittest discover tests -v
langgraph-python:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
- name: Detect fork PR
id: fork-check
run: |
if [[ "${{ github.event_name }}" == "pull_request" && \
"${GITHUB_EVENT_PULL_REQUEST_HEAD_REPO_FULL_NAME}" != "${{ github.repository }}" ]]; then
echo "prefix=fork-" >> "$GITHUB_OUTPUT"
else
echo "prefix=" >> "$GITHUB_OUTPUT"
fi
env:
GITHUB_EVENT_PULL_REQUEST_HEAD_REPO_FULL_NAME: ${{ github.event.pull_request.head.repo.full_name }}
- name: Install uv
uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0
with:
version: ">=0.8.0"
- name: Load cached venv
id: cached-uv-dependencies
uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5
with:
path: integrations/langgraph/python/.venv
key: ${{ steps.fork-check.outputs.prefix }}venv-${{ runner.os }}-langgraph-${{ hashFiles('integrations/langgraph/python/uv.lock') }}
- name: Install dependencies
working-directory: integrations/langgraph/python
run: uv sync
- name: Run tests
working-directory: integrations/langgraph/python
run: uv run python -m unittest discover tests -v
watsonx-python:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
- name: Detect fork PR
id: fork-check
run: |
if [[ "${{ github.event_name }}" == "pull_request" && \
"${GITHUB_EVENT_PULL_REQUEST_HEAD_REPO_FULL_NAME}" != "${{ github.repository }}" ]]; then
echo "prefix=fork-" >> "$GITHUB_OUTPUT"
else
echo "prefix=" >> "$GITHUB_OUTPUT"
fi
env:
GITHUB_EVENT_PULL_REQUEST_HEAD_REPO_FULL_NAME: ${{ github.event.pull_request.head.repo.full_name }}
- name: Install uv
uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0
with:
version: ">=0.8.0"
- name: Load cached venv
id: cached-uv-dependencies
uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5
with:
path: integrations/watsonx/python/.venv
key: ${{ steps.fork-check.outputs.prefix }}venv-${{ runner.os }}-watsonx-${{ hashFiles('integrations/watsonx/python/uv.lock') }}
- name: Install dependencies
working-directory: integrations/watsonx/python
run: uv sync
- name: Run tests
working-directory: integrations/watsonx/python
run: uv run python -m pytest tests/ -v
adk-middleware-python:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
- name: Detect fork PR
id: fork-check
run: |
if [[ "${{ github.event_name }}" == "pull_request" && \
"${GITHUB_EVENT_PULL_REQUEST_HEAD_REPO_FULL_NAME}" != "${{ github.repository }}" ]]; then
echo "prefix=fork-" >> "$GITHUB_OUTPUT"
else
echo "prefix=" >> "$GITHUB_OUTPUT"
fi
env:
GITHUB_EVENT_PULL_REQUEST_HEAD_REPO_FULL_NAME: ${{ github.event.pull_request.head.repo.full_name }}
- name: Install uv
uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0
with:
version: ">=0.8.0"
- name: Load cached venv
id: cached-uv-dependencies
uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5
with:
path: integrations/adk-middleware/python/.venv
key: ${{ steps.fork-check.outputs.prefix }}venv-${{ runner.os }}-adk-middleware-${{ hashFiles('integrations/adk-middleware/python/uv.lock') }}
- name: Install dependencies
working-directory: integrations/adk-middleware/python
run: uv sync
- name: Run tests
working-directory: integrations/adk-middleware/python
run: uv run python -m pytest tests/ -v
aws-strands-python:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
- name: Detect fork PR
id: fork-check
run: |
if [[ "${{ github.event_name }}" == "pull_request" && \
"${GITHUB_EVENT_PULL_REQUEST_HEAD_REPO_FULL_NAME}" != "${{ github.repository }}" ]]; then
echo "prefix=fork-" >> "$GITHUB_OUTPUT"
else
echo "prefix=" >> "$GITHUB_OUTPUT"
fi
env:
GITHUB_EVENT_PULL_REQUEST_HEAD_REPO_FULL_NAME: ${{ github.event.pull_request.head.repo.full_name }}
- name: Install uv
uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0
with:
version: ">=0.8.0"
- name: Load cached venv
id: cached-uv-dependencies
uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5
with:
path: integrations/aws-strands/python/.venv
key: ${{ steps.fork-check.outputs.prefix }}venv-${{ runner.os }}-aws-strands-${{ hashFiles('integrations/aws-strands/python/uv.lock') }}
- name: Install dependencies
working-directory: integrations/aws-strands/python
run: uv sync
- name: Run tests
working-directory: integrations/aws-strands/python
run: uv run python -m pytest tests/ -v
langroid-python:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
- name: Detect fork PR
id: fork-check
run: |
if [[ "${{ github.event_name }}" == "pull_request" && \
"${GITHUB_EVENT_PULL_REQUEST_HEAD_REPO_FULL_NAME}" != "${{ github.repository }}" ]]; then
echo "prefix=fork-" >> "$GITHUB_OUTPUT"
else
echo "prefix=" >> "$GITHUB_OUTPUT"
fi
env:
GITHUB_EVENT_PULL_REQUEST_HEAD_REPO_FULL_NAME: ${{ github.event.pull_request.head.repo.full_name }}
- name: Install uv
uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0
with:
version: ">=0.8.0"
- name: Load cached venv
id: cached-uv-dependencies
uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5
with:
path: integrations/langroid/python/.venv
key: ${{ steps.fork-check.outputs.prefix }}venv-${{ runner.os }}-langroid-${{ hashFiles('integrations/langroid/python/uv.lock') }}
- name: Install dependencies
working-directory: integrations/langroid/python
run: uv sync
- name: Run tests
working-directory: integrations/langroid/python
run: uv run python -m unittest discover tests -v